Skip to content

core/dist

Classes

AgentBuilder

Type Parameters

Type Parameter
TId extends string

Constructors

Constructor
new AgentBuilder<TId>(id, options): AgentBuilder<TId>;
Parameters
Parameter Type
id TId
options AgentOptions
Returns

AgentBuilder\<TId>

Properties

customEvents
readonly customEvents: CapabilityScope<AnyCustomRuntimeEvent>;
id
readonly id: TId;
knowledge
readonly knowledge: CapabilityScope<KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>;
options
readonly options: AgentOptions;
tools
readonly tools: CapabilityScope<AnyTool>;
widgets
readonly widgets: WidgetDefinition<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];

Methods

compile()
compile(): CompiledAgent;
Returns

CompiledAgent

delegationJourney()
delegationJourney<TJourneyId>(id, options): DelegationJourneyBuilder<TJourneyId>;
Type Parameters
Type Parameter
TJourneyId extends string
Parameters
Parameter Type
id TJourneyId
options DelegationJourneyOptions
Returns

DelegationJourneyBuilder\<TJourneyId>

registerWidget()
registerWidget(widgetDefinition): this;
Parameters
Parameter Type
widgetDefinition WidgetDefinition
Returns

this

stateMachineJourney()
stateMachineJourney<TJourneyId, TContextSchema>(id, options): StateMachineJourneyBuilder<TJourneyId, TContextSchema>;
Type Parameters
Type Parameter
TJourneyId extends string
TContextSchema extends ObjectSchema
Parameters
Parameter Type
id TJourneyId
options StateMachineJourneyOptions\<TContextSchema>
Returns

StateMachineJourneyBuilder\<TJourneyId, TContextSchema>

voice()
voice(options): this;
Parameters
Parameter Type
options VoiceProfile
Returns

this


CapabilityScope

Type Parameters

Type Parameter
TItem

Constructors

Constructor
new CapabilityScope<TItem>(): CapabilityScope<TItem>;
Returns

CapabilityScope\<TItem>

Methods

add()
add(...items): this;
Parameters
Parameter Type
...items TItem[]
Returns

this

exclude()
exclude(...items): this;
Parameters
Parameter Type
...items TItem[]
Returns

this

list()
list(inherited?): TItem[];
Parameters
Parameter Type
inherited? TItem[]
Returns

TItem[]

only()
only(...items): this;
Parameters
Parameter Type
...items TItem[]
Returns

this


CognideskRuntime

Constructors

Constructor
new CognideskRuntime(options): CognideskRuntime;
Parameters
Parameter Type
options RuntimeOptions
Returns

CognideskRuntime

Properties

debug
readonly debug: {
  explainTurn: <TTurn>(input) => Promise<ExplainTurnResult>;
};
explainTurn
explainTurn: <TTurn>(input) => Promise<ExplainTurnResult>;
Type Parameters
Type Parameter Default type
TTurn unknown
Parameters
Parameter Type
input ExplainTurnInput\<TTurn>
Returns

Promise\<ExplainTurnResult>

Methods

closeConversation()
closeConversation(conversationId, reason?): Promise<ConversationRecord<unknown>>;
Parameters
Parameter Type
conversationId string
reason? string
Returns

Promise\<ConversationRecord\<unknown>>

commitVoiceTranscript()
commitVoiceTranscript(input): Promise<CommitVoiceTranscriptResult>;
Parameters
Parameter Type
input CommitVoiceTranscriptInput
Returns

Promise\<CommitVoiceTranscriptResult>

compactConversation()
compactConversation<TSummary>(input): Promise<CompactConversationResult<TSummary>>;
Type Parameters
Type Parameter Default type
TSummary { activeCommitments: string[]; openQuestions: string[]; stableFacts: string[]; summary: string; }
Parameters
Parameter Type
input CompactConversationInput
Returns

Promise\<CompactConversationResult\<TSummary>>

configurationSource()
configurationSource(): RuntimeConfigurationSource;
Returns

RuntimeConfigurationSource

createConversation()
createConversation<TConversationContext>(input): Promise<ConversationRecord<TConversationContext>>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
input CreateRuntimeConversationInput\<TConversationContext>
Returns

Promise\<ConversationRecord\<TConversationContext>>

emit()
emit<TEvent>(event): Promise<RuntimeEvent>;
Type Parameters
Type Parameter
TEvent extends RuntimeEventInput\< | "error" | "schedule.due" | "message.started" | "message.delta" | "message.completed" | "message.generated" | "message.aborted" | "channel.event.received" | "channel.received" | "channel.sent" | "channel.delivery.updated" | "channel.thread.linked" | "voice.segment.started" | "voice.segment.ended" | "voice.connection.failed" | "voice.interrupted" | "voice.recording.started" | "voice.recording.completed" | "voice.transcript.committed" | "journey.candidates.retrieved" | "journey.matched" | "journey.activated" | "journey.completed" | "journey.guard.denied" | "journey.event.emitted" | "journey.state.entered" | "journey.extraction.proposed" | "journey.extraction.accepted" | "action.started" | "action.completed" | "tool.started" | "tool.completed" | "approval.requested" | "approval.resolved" | "knowledge.retrieved" | "context.resolved" | "policy.evaluated" | "ui.prompted" | "ui.submitted" | "conversation.compaction.started" | "conversation.compaction.completed" | "handoff.requested" | "handoff.completed" | "handoff.resumed" | "conversation.closed" | "eval.completed" | `custom.${string}`>
Parameters
Parameter Type
event TEvent
Returns

Promise\<RuntimeEvent>

emitCustomEvent()
emitCustomEvent<TEvent>(input): Promise<RuntimeEvent>;
Type Parameters
Type Parameter
TEvent extends CustomRuntimeEventDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>
Parameters
Parameter Type
input EmitCustomEventInput\<TEvent>
Returns

Promise\<RuntimeEvent>

emitGeneratedPreamble()
emitGeneratedPreamble(input): Promise<EmitGeneratedPreambleResult>;
Parameters
Parameter Type
input EmitGeneratedPreambleInput
Returns

Promise\<EmitGeneratedPreambleResult>

emitIntermediateMessage()
emitIntermediateMessage(input): Promise<{
  events: RuntimeEvent[];
}>;
Parameters
Parameter Type
input EmitIntermediateMessageInput
Returns

Promise\<{ events: RuntimeEvent[]; }>

emitJourneyEvent()
emitJourneyEvent<TEvent>(input): Promise<EmitJourneyEventResult>;
Type Parameters
Type Parameter
TEvent extends JourneyEventDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>
Parameters
Parameter Type
input EmitJourneyEventInput\<TEvent>
Returns

Promise\<EmitJourneyEventResult>

emitScheduledEvent()
emitScheduledEvent<TEvent>(input): Promise<EmitScheduledEventResult>;
Type Parameters
Type Parameter
TEvent extends JourneyEventDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>
Parameters
Parameter Type
input EmitScheduledEventInput\<TEvent>
Returns

Promise\<EmitScheduledEventResult>

endVoiceSegment()
endVoiceSegment(input): Promise<RuntimeEvent>;
Parameters
Parameter Type
input { channelSegmentId: string; connectionId?: string; conversationId: string; reason?: string; }
input.channelSegmentId string
input.connectionId? string
input.conversationId string
input.reason? string
Returns

Promise\<RuntimeEvent>

getSnapshot()
getSnapshot(conversationId): Promise<RuntimeSnapshot>;
Parameters
Parameter Type
conversationId string
Returns

Promise\<RuntimeSnapshot>

handleChannelEvent()
handleChannelEvent<TPayload, TTurn>(input): Promise<HandleChannelEventResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
TTurn unknown
Parameters
Parameter Type
input HandleChannelEventInput\<TPayload, TTurn>
Returns

Promise\<HandleChannelEventResult\<TPayload>>

handleUserMessage()
handleUserMessage<TTurn>(input): Promise<HandleUserMessageResult>;
Type Parameters
Type Parameter Default type
TTurn unknown
Parameters
Parameter Type
input HandleUserMessageInput\<TTurn>
Returns

Promise\<HandleUserMessageResult>

handleVoiceUserMessage()
handleVoiceUserMessage<TTurn>(input): Promise<HandleVoiceUserMessageResult>;
Type Parameters
Type Parameter Default type
TTurn unknown
Parameters
Parameter Type
input HandleVoiceUserMessageInput\<TTurn>
Returns

Promise\<HandleVoiceUserMessageResult>

initialize()
initialize(): Promise<void>;
Returns

Promise\<void>

listConversations()
listConversations<TConversationContext>(input?): Promise<ConversationRecord<TConversationContext>[]>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
input? ListRuntimeConversationsOptions
Returns

Promise\<ConversationRecord\<TConversationContext>[]>

listEvents()
listEvents(conversationId, afterOffset?): Promise<RuntimeEvent[]>;
Parameters
Parameter Type
conversationId string
afterOffset? number
Returns

Promise\<RuntimeEvent[]>

listPendingSupportActions()
listPendingSupportActions(input): Promise<PendingSupportAction[]>;
Parameters
Parameter Type
input | string | ListPendingSupportActionsInput
Returns

Promise\<PendingSupportAction[]>

recordVoiceInterruption()
recordVoiceInterruption(input): Promise<RuntimeEvent>;
Parameters
Parameter Type
input RecordVoiceInterruptionInput
Returns

Promise\<RuntimeEvent>

replayConversation()
replayConversation(input): Promise<ReplayConversationResult>;
Parameters
Parameter Type
input ReplayConversationInput
Returns

Promise\<ReplayConversationResult>

requestChannelHandoff()
requestChannelHandoff<TPayload>(input): Promise<HandleChannelEventResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
Parameters
Parameter Type
input RequestChannelHandoffInput\<TPayload>
Returns

Promise\<HandleChannelEventResult\<TPayload>>

requestChannelHandoffReview()
requestChannelHandoffReview<TPayload>(input): Promise<HandleChannelEventResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
Parameters
Parameter Type
input RequestChannelHandoffReviewInput\<TPayload>
Returns

Promise\<HandleChannelEventResult\<TPayload>>

requestHandoff()
requestHandoff(input): Promise<{
  conversation: ConversationRecord<unknown>;
  event: RuntimeEvent;
}>;
Parameters
Parameter Type
input RequestHandoffInput
Returns

Promise\<{ conversation: ConversationRecord\<unknown>; event: RuntimeEvent; }>

requestOutboundContact()
requestOutboundContact<TPayload>(input): Promise<HandleChannelEventResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
Parameters
Parameter Type
input RequestOutboundContactInput\<TPayload>
Returns

Promise\<HandleChannelEventResult\<TPayload>>

resolveChannelOutput()
resolveChannelOutput<TPayload>(input): Promise<ResolveChannelOutputResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
Parameters
Parameter Type
input ResolveChannelOutputInput\<TPayload>
Returns

Promise\<ResolveChannelOutputResult\<TPayload>>

resolvePendingSupportAction()
resolvePendingSupportAction(input): Promise<ResolvePendingSupportActionResult>;
Parameters
Parameter Type
input ResolvePendingSupportActionInput
Returns

Promise\<ResolvePendingSupportActionResult>

resumeConversation()
resumeConversation(input): Promise<{
  conversation: ConversationRecord<unknown>;
  event: RuntimeEvent;
}>;
Parameters
Parameter Type
input ResumeConversationInput
Returns

Promise\<{ conversation: ConversationRecord\<unknown>; event: RuntimeEvent; }>

startVoiceConversation()
startVoiceConversation<TConversationContext>(input): Promise<StartVoiceResult>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
input StartVoiceConversationInput\<TConversationContext>
Returns

Promise\<StartVoiceResult>

startVoiceSegment()
startVoiceSegment(input): Promise<StartVoiceResult>;
Parameters
Parameter Type
input StartVoiceSegmentInput
Returns

Promise\<StartVoiceResult>

submitWidget()
submitWidget(input): Promise<RuntimeEvent>;
Parameters
Parameter Type
input SubmitWidgetInput
Returns

Promise\<RuntimeEvent>


DefinitionError

Extends

  • Error

Constructors

Constructor
new DefinitionError(message): DefinitionError;
Parameters
Parameter Type
message string
Returns

DefinitionError

Overrides
Error.constructor

DelegationJourneyBuilder

Type Parameters

Type Parameter
TId extends string

Constructors

Constructor
new DelegationJourneyBuilder<TId>(id, options): DelegationJourneyBuilder<TId>;
Parameters
Parameter Type
id TId
options DelegationJourneyOptions
Returns

DelegationJourneyBuilder\<TId>

Properties

id
readonly id: TId;
kind
readonly kind: "delegation";
options
readonly options: DelegationJourneyOptions;

Methods

compile()
compile(): CompiledJourney;
Returns

CompiledJourney


StateBuilder

Type Parameters

Type Parameter
TId extends string
TContextSchema extends ObjectSchema

Implements

Constructors

Constructor
new StateBuilder<TId, TContextSchema>(
   id,
   contextSchema,
parent?): StateBuilder<TId, TContextSchema>;
Parameters
Parameter Type
id TId
contextSchema TContextSchema
parent? StateBuilder\<string, TContextSchema>
Returns

StateBuilder\<TId, TContextSchema>

Properties

actionRuns
readonly actionRuns: InternalActionRun[];
children
readonly children: StateBuilder<string, TContextSchema>[];
collectedFields
readonly collectedFields: CollectedField[];
contextSchema
readonly contextSchema: TContextSchema;
id
readonly id: TId;
Implementation of

StateReference.id

knowledge
readonly knowledge: CapabilityScope<KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>;
parent?
readonly optional parent?: StateBuilder<string, TContextSchema>;
stateActions
readonly stateActions: StateActionRecord[];
toolRuns
readonly toolRuns: InternalToolRun[];
tools
readonly tools: CapabilityScope<AnyTool>;
transitions
readonly transitions: InternalTransition[];

Methods

allowSkip()
allowSkip(): this;
Returns

this

collect()
collect(path, options?): this;
Parameters
Parameter Type
path ContextPath\<output\<TContextSchema>>
options? FieldCollectionOptions\<output\<TContextSchema>>
Returns

this

collectList()
collectList<TItemSchema>(path, options): this;
Type Parameters
Type Parameter
TItemSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>
Parameters
Parameter Type
path ContextPath\<output\<TContextSchema>>
options ListCollectionOptions\<output\<TContextSchema>, TItemSchema>
Returns

this

compile()
compile(
   parentId?,
   inheritedTools?,
   inheritedKnowledge?,
   inheritedCollectedFields?): CompiledState[];
Parameters
Parameter Type
parentId? string
inheritedTools? AnyTool[]
inheritedKnowledge? KnowledgeSource\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>[]
inheritedCollectedFields? CollectedField[]
Returns

CompiledState[]

entry()
entry<TTool>(toolDefinition, options): this;
Type Parameters
Type Parameter
TTool extends AnyTool
Parameters
Parameter Type
toolDefinition TTool
options ToolRunOptionsFor\<TTool, output\<TContextSchema>>
Returns

this

exit()
exit<TTool>(toolDefinition, options): this;
Type Parameters
Type Parameter
TTool extends AnyTool
Parameters
Parameter Type
toolDefinition TTool
options ToolRunOptionsFor\<TTool, output\<TContextSchema>>
Returns

this

final()
final<TChildId>(id): StateBuilder<TChildId, TContextSchema>;
Type Parameters
Type Parameter
TChildId extends string
Parameters
Parameter Type
id TChildId
Returns

StateBuilder\<TChildId, TContextSchema>

initial()
initial(state): this;
Parameters
Parameter Type
state StateBuilder\<string, TContextSchema>
Returns

this

instructions()
instructions(value): this;
Parameters
Parameter Type
value string
Returns

this

markFinal()
markFinal(): this;
Returns

this

markParallel()
markParallel(): this;
Returns

this

on()
on(event, options?): TransitionTargetBuilder<TContextSchema, StateBuilder<TId, TContextSchema>>;
Parameters
Parameter Type
event JourneyEventDefinition
options? TransitionOptions\<output\<TContextSchema>>
Returns

TransitionTargetBuilder\<TContextSchema, StateBuilder\<TId, TContextSchema>>

parallel()
parallel<TChildId>(id): StateBuilder<TChildId, TContextSchema>;
Type Parameters
Type Parameter
TChildId extends string
Parameters
Parameter Type
id TChildId
Returns

StateBuilder\<TChildId, TContextSchema>

requiresVisit()
requiresVisit(reason?): this;
Parameters
Parameter Type
reason? string
Returns

this

runTool()
runTool<TTool>(toolDefinition, options): this;
Type Parameters
Type Parameter
TTool extends AnyTool
Parameters
Parameter Type
toolDefinition TTool
options ToolRunOptionsFor\<TTool, output\<TContextSchema>>
Returns

this

state()
state<TChildId>(id): StateBuilder<TChildId, TContextSchema>;
Type Parameters
Type Parameter
TChildId extends string
Parameters
Parameter Type
id TChildId
Returns

StateBuilder\<TChildId, TContextSchema>

summary()
summary(value): this;
Parameters
Parameter Type
value string
Returns

this

transitionTo()
transitionTo(state, options?): this;
Parameters
Parameter Type
state StateBuilder\<string, TContextSchema>
options? TransitionOptions\<output\<TContextSchema>>
Returns

this

useAction()
useAction<TAction>(actionDefinition, options?): this;
Type Parameters
Type Parameter
TAction extends ActionDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>
Parameters
Parameter Type
actionDefinition TAction
options? | "entry" | "exit" | "transition" | StateActionUseOptions\<TAction, output\<TContextSchema>>
Returns

this

when()
when(description, options?): TransitionTargetBuilder<TContextSchema, StateBuilder<TId, TContextSchema>>;
Parameters
Parameter Type
description string
options? TransitionOptions\<output\<TContextSchema>>
Returns

TransitionTargetBuilder\<TContextSchema, StateBuilder\<TId, TContextSchema>>


StateCollection

Type Parameters

Type Parameter
TContextSchema extends ObjectSchema

Constructors

Constructor
new StateCollection<TContextSchema>(contextSchema): StateCollection<TContextSchema>;
Parameters
Parameter Type
contextSchema TContextSchema
Returns

StateCollection\<TContextSchema>

Methods

add()
add<TId>(id): StateBuilder<TId, TContextSchema>;
Type Parameters
Type Parameter
TId extends string
Parameters
Parameter Type
id TId
Returns

StateBuilder\<TId, TContextSchema>

get()
get<TId>(id): StateBuilder<TId, TContextSchema>;
Type Parameters
Type Parameter
TId extends string
Parameters
Parameter Type
id TId
Returns

StateBuilder\<TId, TContextSchema>

list()
list(): StateBuilder<string, TContextSchema>[];
Returns

StateBuilder\<string, TContextSchema>[]


StateMachineJourneyBuilder

Type Parameters

Type Parameter
TId extends string
TContextSchema extends ObjectSchema

Constructors

Constructor
new StateMachineJourneyBuilder<TId, TContextSchema>(id, options): StateMachineJourneyBuilder<TId, TContextSchema>;
Parameters
Parameter Type
id TId
options StateMachineJourneyOptions\<TContextSchema>
Returns

StateMachineJourneyBuilder\<TId, TContextSchema>

Properties

id
readonly id: TId;
kind
readonly kind: "stateMachine";
knowledge
readonly knowledge: CapabilityScope<KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>>;
options
readonly options: StateMachineJourneyOptions<TContextSchema>;
states
readonly states: StateCollection<TContextSchema>;
tools
readonly tools: CapabilityScope<AnyTool>;

Methods

alternateEntry()
alternateEntry(state, options): this;
Parameters
Parameter Type
state StateBuilder\<string, TContextSchema>
options JourneyEntryOptions\<output\<TContextSchema>>
Returns

this

compile()
compile(): CompiledJourney;
Returns

CompiledJourney

defineStates()
defineStates<TStateIds>(...ids): TypedStateRegistry<TStateIds[number], TContextSchema>;
Type Parameters
Type Parameter
TStateIds extends readonly [string, string]
Parameters
Parameter Type
...ids TStateIds
Returns

TypedStateRegistry\<TStateIds[number], TContextSchema>

event()
event<TName, TPayloadSchema>(name, config): JourneyEventDefinition<TName, TPayloadSchema>;
Type Parameters
Type Parameter
TName extends string
TPayloadSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>
Parameters
Parameter Type
name TName
config { payload: TPayloadSchema; routing?: EventRoutingMode; }
config.payload TPayloadSchema
config.routing? EventRoutingMode
Returns

JourneyEventDefinition\<TName, TPayloadSchema>

final()
final<TStateId>(id): StateBuilder<TStateId, TContextSchema>;
Type Parameters
Type Parameter
TStateId extends string
Parameters
Parameter Type
id TStateId
Returns

StateBuilder\<TStateId, TContextSchema>

initial()
initial(state): this;
Parameters
Parameter Type
state StateBuilder\<string, TContextSchema>
Returns

this

parallel()
parallel<TStateId>(id): StateBuilder<TStateId, TContextSchema>;
Type Parameters
Type Parameter
TStateId extends string
Parameters
Parameter Type
id TStateId
Returns

StateBuilder\<TStateId, TContextSchema>

state()
state<TStateId>(id): StateBuilder<TStateId, TContextSchema>;
Type Parameters
Type Parameter
TStateId extends string
Parameters
Parameter Type
id TStateId
Returns

StateBuilder\<TStateId, TContextSchema>

use()
use(fragment): this;
Parameters
Parameter Type
fragment JourneyFragment\<string, TContextSchema>
Returns

this


TypedStateRegistry

Type Parameters

Type Parameter
TStateIds extends string
TContextSchema extends ObjectSchema

Constructors

Constructor
new TypedStateRegistry<TStateIds, TContextSchema>(collection): TypedStateRegistry<TStateIds, TContextSchema>;
Parameters
Parameter Type
collection StateCollection\<TContextSchema>
Returns

TypedStateRegistry\<TStateIds, TContextSchema>

Methods

get()
get<TId>(id): StateBuilder<TId, TContextSchema>;
Type Parameters
Type Parameter
TId extends string
Parameters
Parameter Type
id TId
Returns

StateBuilder\<TId, TContextSchema>

Interfaces

ActionDefinition

Type Parameters

Type Parameter Default type
TName extends string string
TInputSchema extends z.ZodType z.ZodType

Properties

input
input: TInputSchema;
kind
kind: "action";
name
name: TName;
requiresVisit?
optional requiresVisit?: boolean;
retry?
optional retry?:
  | false
  | {
  maxAttempts?: number;
  notice?: string;
};
run
run: (args) => MaybePromise$1<void>;
Parameters
Parameter Type
args { input: output\<TInputSchema>; }
args.input output\<TInputSchema>
Returns

MaybePromise$1\<void>


ActivationMetadata

Extended by

Properties

always?
optional always?:
  | boolean
| JourneyActivationPredicate<unknown, unknown, unknown>;
alwaysInclude?
optional alwaysInclude?: boolean;
condition
condition: string;
examples?
optional examples?: string[];
guard?
optional guard?: JourneyGuardPredicate;
includeWhen?
optional includeWhen?: CandidateFilterPredicate;
matcher?
optional matcher?: JourneyActivationPredicate;
priority?
optional priority?: number;
stickiness?
optional stickiness?: "low" | "medium" | "high";
tags?
optional tags?: string[];

AgentBehaviorOptions

Properties

interruptOnNewMessage?
optional interruptOnNewMessage?: boolean;

AgentConfigurationOptions

Properties

capabilityAvailability?
optional capabilityAvailability?: {
  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";
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[];
channelSets?
optional channelSets?: {
  channelIds?: string[];
  channels?: string[];
  conversationContinuity?: {
     crossChannel?: boolean;
     mode?: "new-conversation" | "link-existing" | "sdk-decides";
     policy?: string;
  };
  enabled?: boolean;
  id: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
channelIds?
optional channelIds?: string[];
channels?
optional channels?: string[];
conversationContinuity?
optional conversationContinuity?: {
  crossChannel?: boolean;
  mode?: "new-conversation" | "link-existing" | "sdk-decides";
  policy?: string;
};
conversationContinuity.crossChannel?
optional crossChannel?: boolean;
conversationContinuity.mode?
optional mode?: "new-conversation" | "link-existing" | "sdk-decides";
conversationContinuity.policy?
optional policy?: string;
enabled?
optional enabled?: boolean;
id
id: string;
label?
optional label?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
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";
policyIds?
optional policyIds?: string[];
providerPackages?
optional providerPackages?: {
  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";
providerReadiness?
optional providerReadiness?: {
  blockers?: {
     code: string;
     kind?:   | "unknown"
        | "permission-blocked"
        | "missing-policy"
        | "missing-configuration"
        | "missing-credentials"
        | "provider-unsupported";
     message: string;
  }[];
  checkedAt?: string;
  checkSource?: string;
  live?: boolean;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId: string;
  remediationActions?: {
     id: string;
     kind?:   | "custom"
        | "configure"
        | "authorize"
        | "verify"
        | "read-docs"
        | "contact-provider";
     label: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  }[];
  sandbox?: boolean;
  status?:   | "unknown"
     | "configured"
     | "blocked"
     | "not-configured"
     | "ready"
     | "live-verified"
     | "sandbox-verified"
     | "scoped-verified"
     | "full-api-verified";
}[];
blockers?
optional blockers?: {
  code: string;
  kind?:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
checkedAt?
optional checkedAt?: string;
checkSource?
optional checkSource?: string;
live?
optional live?: boolean;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageId
providerPackageId: string;
remediationActions?
optional remediationActions?: {
  id: string;
  kind?:   | "custom"
     | "configure"
     | "authorize"
     | "verify"
     | "read-docs"
     | "contact-provider";
  label: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
sandbox?
optional sandbox?: boolean;
status?
optional status?:
  | "unknown"
  | "configured"
  | "blocked"
  | "not-configured"
  | "ready"
  | "live-verified"
  | "sandbox-verified"
  | "scoped-verified"
  | "full-api-verified";

AgentOptions

Properties

behavior?
optional behavior?: AgentBehaviorOptions;
channels?
optional channels?: AgentChannelPolicyMap;
configuration?
optional configuration?: AgentConfigurationOptions;
handoff?
optional handoff?: AgentHandoffPolicyOptions;
instructions
instructions: string;
logLevel?
optional logLevel?: AgentLogLevel;
persona?
optional persona?: AgentPersonaOptions;
postProcessing?
optional postProcessing?: AgentPostProcessingOptions;

AgentPostProcessingOptions

Properties

citations?
optional citations?: boolean;

ApplicationContextParts

Type Parameters

Type Parameter
TConversation
TTurn

Properties

conversation
conversation: TConversation;
turn
turn: TTurn;

BuildJourneyIndexOptions

Extended by

Properties

embeddingModel
embeddingModel: ModelAdapter;
generatedAt?
optional generatedAt?: string;
signal?
optional signal?: AbortSignal;

ChannelEventActor

Properties

displayName?
optional displayName?: string;
id?
optional id?: string;
metadata?
optional metadata?: Record<string, unknown>;
type
type:
  | "provider"
  | "customer"
  | "agent"
  | "operator"
  | "system"
  | "scheduler"
  | "application";

ChannelEventBindingInput

Properties

agentId?
optional agentId?: string;
blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
linkedConversationId?
optional linkedConversationId?: string;
metadata?
optional metadata?: Record<string, unknown>;
outcome?
optional outcome?:
  | "blocked"
  | "start-new"
  | "resume-existing"
  | "link-and-start-new"
  | "ignore"
  | "defer"
  | "handoff-review";
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;

ChannelEventBindingResult

Properties

channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversationId?
optional conversationId?: string;
outcome
outcome:
  | "blocked"
  | "start-new"
  | "resume-existing"
  | "link-and-start-new"
  | "ignore"
  | "defer"
  | "handoff-review";
reason?
optional reason?: string;
status?
optional status?: "blocked" | "not-required" | "bound" | "created" | "unbound";

ChannelEventEnvelope

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayload
TRawPayload unknown

Properties

actor?
optional actor?: ChannelEventActor;
channel
channel: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
direction
direction: "outbound" | "inbound" | "internal";
id?
optional id?: string;
identity?
optional identity?: ChannelEventIdentity;
intent?
optional intent?: ChannelEventIntent;
kind
kind: ChannelEventNature;
metadata?
optional metadata?: Record<string, unknown>;
nature
nature: ChannelEventNature;
occurredAt?
optional occurredAt?: string;
payload?
optional payload?: TPayload;
source?
optional source?: ChannelEventSourceEvidence<TRawPayload>;

ChannelEventEnvelopeInput

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayloadInput
TRawPayload unknown

Properties

actor?
optional actor?: ChannelEventActor;
channel
channel: ConversationChannelInput;
direction?
optional direction?: "outbound" | "inbound" | "internal";
id?
optional id?: string;
identity?
optional identity?: ChannelEventIdentity;
intent?
optional intent?: ChannelEventIntent;
kind?
optional kind?: ChannelEventNature;
metadata?
optional metadata?: Record<string, unknown>;
nature?
optional nature?: ChannelEventNature;
occurredAt?
optional occurredAt?: string;
payload?
optional payload?: TPayload;
source?
optional source?: ChannelEventSourceEvidence<TRawPayload>;

ChannelEventHandlingInput

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

assistantMessageMode?
optional assistantMessageMode?: "canonical" | "intermediate" | "none";
disposition?
optional disposition?:
  | "handoff-review"
  | "output-resolution"
  | "record-only"
  | "no-op"
  | "deterministic-journey-event"
  | "model-turn"
  | "provider-operation";
recordUserMessage?
optional recordUserMessage?: boolean;
text?
optional text?: string;
turn?
optional turn?: TTurn;

ChannelEventIdentity

Properties

dedupeKey?
optional dedupeKey?: string;
idempotencyKey?
optional idempotencyKey?: string;
key?
optional key?: string;
metadata?
optional metadata?: Record<string, unknown>;
sequence?
optional sequence?: string | number;
streamId?
optional streamId?: string;

ChannelEventIntakeResult

Properties

bindingOutcome
bindingOutcome:
  | "blocked"
  | "start-new"
  | "resume-existing"
  | "link-and-start-new"
  | "ignore"
  | "defer"
  | "handoff-review";
blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
conversationId?
optional conversationId?: string;
handling
handling: "not-required" | "started" | "queued";
metadata?
optional metadata?: Record<string, unknown>;
outcome
outcome: "blocked" | "handoff-review" | "accepted" | "ignored" | "deferred";
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;

ChannelEventRuntimeReceiver

Methods

handleChannelEvent()
handleChannelEvent<TPayload, TTurn>(input): Promise<HandleChannelEventResult<TPayload>>;
Type Parameters
Type Parameter Default type
TPayload unknown
TTurn unknown
Parameters
Parameter Type
input HandleChannelEventInput\<TPayload, TTurn>
Returns

Promise\<HandleChannelEventResult\<TPayload>>


ChannelEventSource

Extended by

Type Parameters

Type Parameter Default type
TRaw unknown

Properties

channel?
optional channel?: ConversationChannelInput;
id
id: string;
sourceType?
optional sourceType?:
  | "application"
  | "provider-adapter"
  | "schedule-adapter"
  | "operator-surface";

Methods

bind()?
optional bind(input):
  | ChannelEventSourceBinding
| Promise<ChannelEventSourceBinding>;
Parameters
Parameter Type
input ChannelEventSourceBindInput
Returns

| ChannelEventSourceBinding | Promise\<ChannelEventSourceBinding>

identity()?
optional identity(event, raw):
  | string
  | ChannelEventIdentity
| Promise<string | ChannelEventIdentity>;
Parameters
Parameter Type
event ChannelEventEnvelopeInput
raw TRaw
Returns

| string | ChannelEventIdentity | Promise\<string | ChannelEventIdentity>

normalize()
normalize(input):
  | ChannelEventEnvelopeInput<NormalizedChannelPayloadInput, unknown>
| Promise<ChannelEventEnvelopeInput<NormalizedChannelPayloadInput, unknown>>;
Parameters
Parameter Type
input ChannelEventSourceNormalizeInput\<TRaw>
Returns

| ChannelEventEnvelopeInput\<NormalizedChannelPayloadInput, unknown> | Promise\<ChannelEventEnvelopeInput\<NormalizedChannelPayloadInput, unknown>>

verify()?
optional verify(raw):
  | ChannelAdapterVerificationResult
| Promise<ChannelAdapterVerificationResult>;
Parameters
Parameter Type
raw TRaw
Returns

| ChannelAdapterVerificationResult | Promise\<ChannelAdapterVerificationResult>


ChannelEventSourceBinding

Properties

agentId?
optional agentId?: string;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
metadata?
optional metadata?: Record<string, unknown>;
outcome?
optional outcome?:
  | "blocked"
  | "start-new"
  | "resume-existing"
  | "link-and-start-new"
  | "ignore"
  | "defer"
  | "handoff-review";
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;

ChannelEventSourceBindInput

Properties

app?
optional app?: unknown;
event
event: ChannelEventEnvelopeInput;

ChannelEventSourceEvidence

Type Parameters

Type Parameter Default type
TRawPayload unknown

Properties

deliveryId?
optional deliveryId?: string;
eventId?
optional eventId?: string;
externalObjectIds?
optional externalObjectIds?: Record<string, string>;
metadata?
optional metadata?: Record<string, unknown>;
provider?
optional provider?: string;
providerPackageId?
optional providerPackageId?: string;
raw?
optional raw?: TRawPayload;
receivedAt?
optional receivedAt?: string;
sourceId?
optional sourceId?: string;
sourceType?
optional sourceType?:
  | "application"
  | "provider-adapter"
  | "schedule-adapter"
  | "operator-surface";
streamId?
optional streamId?: string;
verified?
optional verified?: boolean;

ChannelEventSourceHandleInput

Type Parameters

Type Parameter Default type
TRaw unknown
TTurn unknown

Properties

agentId?
optional agentId?: string;
app?
optional app?: unknown;
binding?
optional binding?: ChannelEventBindingInput;
channel?
optional channel?: ConversationChannelInput;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
createConversation?
optional createConversation?: CreateRuntimeConversationInput;
handling?
optional handling?: ChannelEventHandlingInput<TTurn>;
raw
raw: TRaw;
signal?
optional signal?: AbortSignal;

Methods

onAssistantTextDelta()?
optional onAssistantTextDelta(textDelta): void | Promise<void>;
Parameters
Parameter Type
textDelta string
Returns

void | Promise\<void>


ChannelEventSourceNormalizeInput

Type Parameters

Type Parameter Default type
TRaw unknown

Properties

app?
optional app?: unknown;
channel?
optional channel?: ConversationChannelInput;
raw
raw: TRaw;
source?
optional source?: ChannelEventSourceEvidence<TRaw>;

ChannelOutputIntent

Extends

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayload
TRawPayload unknown

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
attachments?
optional attachments?: unknown[];
blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
Inherited from

ChannelOutputPolicyReason.blockers

body?
optional body?: string;
capability?
optional capability?: ChannelCapability;
changesWorkflow?
optional changesWorkflow?: boolean;
channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
deliveryMode?
optional deliveryMode?:
  | "approval"
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "handoff-review"
  | "provider-operation"
  | "none";
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
externallyVisible?
optional externallyVisible?: boolean;
id?
optional id?: string;
kind
kind: ChannelOutputIntentKind;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

ChannelOutputPolicyReason.metadata

operationAlias?
optional operationAlias?: string;
outbound?
optional outbound?: boolean;
payload?
optional payload?: TPayload;
policyId?
optional policyId?: string;
Inherited from

ChannelOutputPolicyReason.policyId

policyIds?
optional policyIds?: string[];
Inherited from

ChannelOutputPolicyReason.policyIds

producer?
optional producer?: ChannelOutputIntentProducer;
providerOperation?
optional providerOperation?: string;
providerPackageId?
optional providerPackageId?: string;
reason?
optional reason?: string;
Inherited from

ChannelOutputPolicyReason.reason

reasonCode?
optional reasonCode?: string;
Inherited from

ChannelOutputPolicyReason.reasonCode

reasonLabel?
optional reasonLabel?: string;
Inherited from

ChannelOutputPolicyReason.reasonLabel

requiredPolicyIds?
optional requiredPolicyIds?: string[];
sideEffect?
optional sideEffect?: boolean;
source?
optional source?: ChannelEventSourceEvidence<TRawPayload>;
subject?
optional subject?: string;
text?
optional text?: string;

ChannelOutputIntentInput

Extends

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayloadInput
TRawPayload unknown

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
Inherited from
Omit.actionAudience
attachments?
optional attachments?: unknown[];
Inherited from
Omit.attachments
blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
Inherited from

ChannelOutputPolicyReason.blockers

body?
optional body?: string;
Inherited from
Omit.body
capability?
optional capability?: ChannelCapability;
Inherited from
Omit.capability
changesWorkflow?
optional changesWorkflow?: boolean;
Inherited from
Omit.changesWorkflow
channel?
optional channel?: ConversationChannelInput;
deliveryMode?
optional deliveryMode?:
  | "approval"
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "handoff-review"
  | "provider-operation"
  | "none";
Inherited from
Omit.deliveryMode
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
Inherited from
Omit.exposesSensitiveData
externallyVisible?
optional externallyVisible?: boolean;
Inherited from
Omit.externallyVisible
id?
optional id?: string;
Inherited from
Omit.id
kind?
optional kind?: ChannelOutputIntentKind;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

ChannelOutputPolicyReason.metadata

operationAlias?
optional operationAlias?: string;
Inherited from
Omit.operationAlias
outbound?
optional outbound?: boolean;
Inherited from
Omit.outbound
payload?
optional payload?: TPayload;
Inherited from
Omit.payload
policyId?
optional policyId?: string;
Inherited from

ChannelOutputPolicyReason.policyId

policyIds?
optional policyIds?: string[];
Inherited from

ChannelOutputPolicyReason.policyIds

producer?
optional producer?: ChannelOutputIntentProducer;
Inherited from
Omit.producer
providerOperation?
optional providerOperation?: string;
Inherited from
Omit.providerOperation
providerPackageId?
optional providerPackageId?: string;
Inherited from
Omit.providerPackageId
reason?
optional reason?: string;
Inherited from

ChannelOutputPolicyReason.reason

reasonCode?
optional reasonCode?: string;
Inherited from

ChannelOutputPolicyReason.reasonCode

reasonLabel?
optional reasonLabel?: string;
Inherited from

ChannelOutputPolicyReason.reasonLabel

requiredPolicyIds?
optional requiredPolicyIds?: string[];
Inherited from
Omit.requiredPolicyIds
sideEffect?
optional sideEffect?: boolean;
Inherited from
Omit.sideEffect
source?
optional source?: ChannelEventSourceEvidence<TRawPayload>;
Inherited from
Omit.source
subject?
optional subject?: string;
Inherited from
Omit.subject
text?
optional text?: string;
Inherited from
Omit.text

ChannelOutputIntentProducer

Properties

id?
optional id?: string;
metadata?
optional metadata?: Record<string, unknown>;
name?
optional name?: string;
type
type:
  | "policy"
  | "schedule"
  | "agent"
  | "operator"
  | "application"
  | "provider-adapter"
  | "tool"
  | "journey";

ChannelOutputPolicyReason

Extended by

Properties

blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
metadata?
optional metadata?: Record<string, unknown>;
policyId?
optional policyId?: string;
policyIds?
optional policyIds?: string[];
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;

ChannelOutputResolution

Extends

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
Inherited from

ChannelOutputResolutionDecision.actionAudience

blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
Inherited from

ChannelOutputResolutionDecision.blockers

capability?
optional capability?: ChannelCapability;
Inherited from

ChannelOutputResolutionDecision.capability

channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
deliveryMode?
optional deliveryMode?:
  | "approval"
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "handoff-review"
  | "provider-operation"
  | "none";
Inherited from

ChannelOutputResolutionDecision.deliveryMode

deliveryStatus?
optional deliveryStatus?: string;
editableFields?
optional editableFields?: string[];
Inherited from

ChannelOutputResolutionDecision.editableFields

expiresAt?
optional expiresAt?: string;
Inherited from

ChannelOutputResolutionDecision.expiresAt

externalMessageId?
optional externalMessageId?: string;
id
id: string;
intentId?
optional intentId?: string;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

ChannelOutputResolutionDecision.metadata

operationAlias?
optional operationAlias?: string;
Inherited from

ChannelOutputResolutionDecision.operationAlias

outcome
outcome:
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "defer"
  | "handoff-review"
  | "no-op"
  | "provider-operation"
  | "approval-required"
  | "block"
  | "drop";
Inherited from

ChannelOutputResolutionDecision.outcome

payload?
optional payload?: TPayload;
Inherited from

ChannelOutputResolutionDecision.payload

policyId?
optional policyId?: string;
Inherited from

ChannelOutputResolutionDecision.policyId

policyIds?
optional policyIds?: string[];
Inherited from

ChannelOutputResolutionDecision.policyIds

providerOperation?
optional providerOperation?: string;
Inherited from

ChannelOutputResolutionDecision.providerOperation

providerPackageId?
optional providerPackageId?: string;
Inherited from

ChannelOutputResolutionDecision.providerPackageId

providerResult?
optional providerResult?: unknown;
reason?
optional reason?: string;
Inherited from

ChannelOutputResolutionDecision.reason

reasonCode?
optional reasonCode?: string;
Inherited from

ChannelOutputResolutionDecision.reasonCode

reasonLabel?
optional reasonLabel?: string;
Inherited from

ChannelOutputResolutionDecision.reasonLabel

resolvedAt
resolvedAt: string;
status
status: "blocked" | "no-op" | "deferred" | "resolved" | "pending";
Overrides

ChannelOutputResolverResult.status

supportedApprovalResolutions?
optional supportedApprovalResolutions?: string[];
Inherited from

ChannelOutputResolutionDecision.supportedApprovalResolutions


ChannelOutputResolutionDecision

Extends

Extended by

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
Inherited from

ChannelOutputPolicyReason.blockers

capability?
optional capability?: ChannelCapability;
deliveryMode?
optional deliveryMode?:
  | "approval"
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "handoff-review"
  | "provider-operation"
  | "none";
editableFields?
optional editableFields?: string[];
expiresAt?
optional expiresAt?: string;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

ChannelOutputPolicyReason.metadata

operationAlias?
optional operationAlias?: string;
outcome
outcome:
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "defer"
  | "handoff-review"
  | "no-op"
  | "provider-operation"
  | "approval-required"
  | "block"
  | "drop";
payload?
optional payload?: TPayload;
policyId?
optional policyId?: string;
Inherited from

ChannelOutputPolicyReason.policyId

policyIds?
optional policyIds?: string[];
Inherited from

ChannelOutputPolicyReason.policyIds

providerOperation?
optional providerOperation?: string;
providerPackageId?
optional providerPackageId?: string;
reason?
optional reason?: string;
Inherited from

ChannelOutputPolicyReason.reason

reasonCode?
optional reasonCode?: string;
Inherited from

ChannelOutputPolicyReason.reasonCode

reasonLabel?
optional reasonLabel?: string;
Inherited from

ChannelOutputPolicyReason.reasonLabel

status?
optional status?: "blocked" | "no-op" | "deferred" | "resolved" | "pending";
supportedApprovalResolutions?
optional supportedApprovalResolutions?: string[];

ChannelOutputResolutionPayload

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

outputIntent
outputIntent: ChannelOutputIntent<TPayload>;
resolution
resolution: ChannelOutputResolution;

ChannelOutputResolutionPolicyInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

app
app: unknown;
capabilityDecision?
optional capabilityDecision?: CapabilityUseDecision;
channel
channel: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversation
conversation: ConversationRecord;
defaultResolution
defaultResolution: ChannelOutputResolutionDecision;
intent
intent: ChannelOutputIntent<TPayload>;

ChannelOutputResolverInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

app
app: unknown;
channel
channel: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversationId
conversationId: string;
outputIntent
outputIntent: ChannelOutputIntent<TPayload>;
signal?
optional signal?: AbortSignal;

ChannelOutputResolverResult

Extends

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
Inherited from

ChannelOutputResolutionDecision.actionAudience

blockers?
optional blockers?: {
  code: string;
  kind?: string;
  message: string;
}[];
code
code: string;
kind?
optional kind?: string;
message
message: string;
Inherited from

ChannelOutputResolutionDecision.blockers

capability?
optional capability?: ChannelCapability;
Inherited from

ChannelOutputResolutionDecision.capability

deliveryMode?
optional deliveryMode?:
  | "approval"
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "handoff-review"
  | "provider-operation"
  | "none";
Inherited from

ChannelOutputResolutionDecision.deliveryMode

deliveryStatus?
optional deliveryStatus?: string;
editableFields?
optional editableFields?: string[];
Inherited from

ChannelOutputResolutionDecision.editableFields

expiresAt?
optional expiresAt?: string;
Inherited from

ChannelOutputResolutionDecision.expiresAt

externalMessageId?
optional externalMessageId?: string;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

ChannelOutputResolutionDecision.metadata

operationAlias?
optional operationAlias?: string;
Inherited from

ChannelOutputResolutionDecision.operationAlias

outcome
outcome:
  | "send"
  | "draft"
  | "notify"
  | "artifact"
  | "defer"
  | "handoff-review"
  | "no-op"
  | "provider-operation"
  | "approval-required"
  | "block"
  | "drop";
Inherited from

ChannelOutputResolutionDecision.outcome

payload?
optional payload?: TPayload;
Inherited from

ChannelOutputResolutionDecision.payload

policyId?
optional policyId?: string;
Inherited from

ChannelOutputResolutionDecision.policyId

policyIds?
optional policyIds?: string[];
Inherited from

ChannelOutputResolutionDecision.policyIds

providerOperation?
optional providerOperation?: string;
Inherited from

ChannelOutputResolutionDecision.providerOperation

providerPackageId?
optional providerPackageId?: string;
Inherited from

ChannelOutputResolutionDecision.providerPackageId

providerResult?
optional providerResult?: unknown;
reason?
optional reason?: string;
Inherited from

ChannelOutputResolutionDecision.reason

reasonCode?
optional reasonCode?: string;
Inherited from

ChannelOutputResolutionDecision.reasonCode

reasonLabel?
optional reasonLabel?: string;
Inherited from

ChannelOutputResolutionDecision.reasonLabel

status?
optional status?: "blocked" | "no-op" | "deferred" | "resolved" | "pending";
Inherited from

ChannelOutputResolutionDecision.status

supportedApprovalResolutions?
optional supportedApprovalResolutions?: string[];
Inherited from

ChannelOutputResolutionDecision.supportedApprovalResolutions


ChannelProviderAdapter

Extends

Type Parameters

Type Parameter Default type
TRaw unknown

Properties

channel?
optional channel?: ConversationChannelInput;
Inherited from

ChannelEventSource.channel

id
id: string;
Inherited from

ChannelEventSource.id

provider
provider: string;
providerPackageId?
optional providerPackageId?: string;
sourceType?
optional sourceType?:
  | "application"
  | "provider-adapter"
  | "schedule-adapter"
  | "operator-surface";
Inherited from

ChannelEventSource.sourceType

Methods

bind()?
optional bind(input):
  | ChannelEventSourceBinding
| Promise<ChannelEventSourceBinding>;
Parameters
Parameter Type
input ChannelEventSourceBindInput
Returns

| ChannelEventSourceBinding | Promise\<ChannelEventSourceBinding>

Inherited from

ChannelEventSource.bind

identity()?
optional identity(event, raw):
  | string
  | ChannelEventIdentity
| Promise<string | ChannelEventIdentity>;
Parameters
Parameter Type
event ChannelEventEnvelopeInput
raw TRaw
Returns

| string | ChannelEventIdentity | Promise\<string | ChannelEventIdentity>

Inherited from

ChannelEventSource.identity

normalize()
normalize(input):
  | ChannelEventEnvelopeInput<NormalizedChannelPayloadInput, unknown>
| Promise<ChannelEventEnvelopeInput<NormalizedChannelPayloadInput, unknown>>;
Parameters
Parameter Type
input ChannelEventSourceNormalizeInput\<TRaw>
Returns

| ChannelEventEnvelopeInput\<NormalizedChannelPayloadInput, unknown> | Promise\<ChannelEventEnvelopeInput\<NormalizedChannelPayloadInput, unknown>>

Inherited from

ChannelEventSource.normalize

resolveOutput()?
optional resolveOutput(input): Promise<ChannelOutputResolverResult<unknown>>;
Parameters
Parameter Type
input ChannelOutputResolverInput
Returns

Promise\<ChannelOutputResolverResult\<unknown>>

verify()?
optional verify(raw):
  | ChannelAdapterVerificationResult
| Promise<ChannelAdapterVerificationResult>;
Parameters
Parameter Type
raw TRaw
Returns

| ChannelAdapterVerificationResult | Promise\<ChannelAdapterVerificationResult>

Inherited from

ChannelEventSource.verify


CommitVoiceTranscriptInput

Extended by

Properties

channelSegmentId
channelSegmentId: string;
conversationId
conversationId: string;
endedAtMs?
optional endedAtMs?: number;
metadata?
optional metadata?: Record<string, unknown>;
recordingReferenceId?
optional recordingReferenceId?: string;
speaker
speaker: VoiceSpeaker;
startedAtMs?
optional startedAtMs?: number;
text
text: string;
transcriptionSource?
optional transcriptionSource?: string;

CommitVoiceTranscriptReferenceInput

Extends

Properties

channelSegmentId
channelSegmentId: string;
Inherited from

CommitVoiceTranscriptInput.channelSegmentId

conversationId
conversationId: string;
Inherited from

CommitVoiceTranscriptInput.conversationId

endedAtMs?
optional endedAtMs?: number;
Inherited from

CommitVoiceTranscriptInput.endedAtMs

messageEventId
messageEventId: string;
metadata?
optional metadata?: Record<string, unknown>;
Inherited from

CommitVoiceTranscriptInput.metadata

recordingReferenceId?
optional recordingReferenceId?: string;
Inherited from

CommitVoiceTranscriptInput.recordingReferenceId

speaker
speaker: VoiceSpeaker;
Inherited from

CommitVoiceTranscriptInput.speaker

startedAtMs?
optional startedAtMs?: number;
Inherited from

CommitVoiceTranscriptInput.startedAtMs

text
text: string;
Inherited from

CommitVoiceTranscriptInput.text

transcriptionSource?
optional transcriptionSource?: string;
Inherited from

CommitVoiceTranscriptInput.transcriptionSource


CommitVoiceTranscriptResult

Properties

event
event: RuntimeEvent;
events
events: RuntimeEvent[];
message
message: RuntimeEvent;

CompactConversationInput

Properties

conversationId
conversationId: string;
fromOffset?
optional fromOffset?: number;
schemaVersion?
optional schemaVersion?: string;
signal?
optional signal?: AbortSignal;
toOffset?
optional toOffset?: number;

CompactConversationResult

Type Parameters

Type Parameter Default type
TSummary ConversationCompactionSummary

Properties

events
events: RuntimeEvent[];
snapshot
snapshot: RuntimeSnapshot;
summary
summary: TSummary;

CompiledActionRun

Type Parameters

Type Parameter Default type
TContext unknown

Properties

action
action: ActionDefinition;
actionType
actionType: "entry" | "exit" | "transition";
input?
optional input?: (args) => unknown;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

unknown


CompiledAgent

Properties

behavior
behavior: AgentBehaviorOptions;
channels?
optional channels?: AgentChannelPolicyMap;
configuration?
optional configuration?: AgentConfigurationOptions;
customEvents
customEvents: AnyCustomRuntimeEvent[];
handoff?
optional handoff?: AgentHandoffPolicyOptions;
id
id: string;
instructions
instructions: string;
journeys
journeys: CompiledJourney[];
knowledge
knowledge: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
logLevel?
optional logLevel?: AgentLogLevel;
persona?
optional persona?: AgentPersonaOptions;
postProcessing
postProcessing: AgentPostProcessingOptions;
tools
tools: AnyTool[];
voice?
optional voice?: VoiceProfile;
widgets
widgets: WidgetDefinition<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];

CompiledContextReusePolicy

Properties

fields?
optional fields?: string[];
when
when: ContextReusePredicate;

CompiledDelegation

Properties

completeWhen
completeWhen: string[];
goal
goal: string;
instructions?
optional instructions?: string;
tools
tools: AnyTool[];

CompiledJourney

Properties

alternateEntries
alternateEntries: CompiledJourneyEntry<unknown>[];
always?
optional always?: JourneyActivationPredicate;
alwaysInclude
alwaysInclude: boolean;
condition
condition: string;
context?
optional context?: ObjectSchema;
contextReuse?
optional contextReuse?: CompiledContextReusePolicy;
delegation?
optional delegation?: CompiledDelegation;
examples
examples: string[];
guard?
optional guard?: JourneyGuardPredicate;
id
id: string;
includeWhen?
optional includeWhen?: CandidateFilterPredicate;
initialStateId?
optional initialStateId?: string;
kind
kind: "stateMachine" | "delegation";
knowledge
knowledge: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
matcher?
optional matcher?: JourneyActivationPredicate;
priority
priority: number;
states
states: CompiledState[];
stickiness
stickiness: "low" | "medium" | "high";
tags
tags: string[];
tools
tools: AnyTool[];

Methods

toGraph()
toGraph(): JourneyGraph;
Returns

JourneyGraph

toJSON()
toJSON(): JourneyGraph;
Returns

JourneyGraph

toMermaid()
toMermaid(): string;
Returns

string


CompiledJourneyEntry

Type Parameters

Type Parameter Default type
TContext unknown

Properties

description?
optional description?: string;
priority?
optional priority?: number;
stateId
stateId: string;
when
when: JourneyEntryPredicate<unknown, unknown, unknown, TContext>;

CompiledState

Properties

actionRuns
actionRuns: CompiledActionRun<unknown>[];
actions
actions: {
  name: string;
  type: "entry" | "exit" | "transition";
}[];
name
name: string;
type
type: "entry" | "exit" | "transition";
collected
collected: {
  confirm?: true | "beforeAction" | ConfirmationPolicy;
  extract: boolean;
  path: string;
  prompt?: string;
  required: boolean;
  requiredWhen?: (args) => boolean;
  widget?: WidgetDefinition;
  widgetInput?: unknown;
}[];
confirm?
optional confirm?: true | "beforeAction" | ConfirmationPolicy;
extract
extract: boolean;
path
path: string;
prompt?
optional prompt?: string;
required
required: boolean;
requiredWhen?
optional requiredWhen?: (args) => boolean;
Parameters
Parameter Type
args { context: unknown; }
args.context unknown
Returns

boolean

widget?
optional widget?: WidgetDefinition;
widgetInput?
optional widgetInput?: unknown;
id
id: string;
initialStateId?
optional initialStateId?: string;
instructions?
optional instructions?: string;
knowledge
knowledge: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
parentId?
optional parentId?: string;
requiresVisit
requiresVisit: boolean;
summary?
optional summary?: string;
toolRuns
toolRuns: CompiledToolRun<unknown>[];
tools
tools: AnyTool[];
transitions
transitions: CompiledTransition<unknown>[];
type
type: "state" | "parallel" | "final";

CompiledToolRun

Type Parameters

Type Parameter Default type
TContext unknown

Properties

actionType
actionType: "entry" | "exit" | "transition";
assign
assign: {
  path: string;
  value: (args) => unknown;
}[];
path
path: string;
value
value: (args) => unknown;
Parameters
Parameter Type
args { context: TContext; output: unknown; }
args.context TContext
args.output unknown
Returns

unknown

confirm?
optional confirm?: ConfirmationPolicy;
input?
optional input?: (args) => unknown;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

unknown

onFailureId?
optional onFailureId?: string;
onSuccessId?
optional onSuccessId?: string;
onValidationErrorId?
optional onValidationErrorId?: string;
tool
tool: AnyTool;

CompiledTransition

Type Parameters

Type Parameter Default type
TContext unknown

Properties

description?
optional description?: string;
eventName?
optional eventName?: string;
guard?
optional guard?: (context) => MaybePromise$1<GuardResult>;
Parameters
Parameter Type
context GuardContext\<unknown, TContext>
Returns

MaybePromise$1\<GuardResult>

kind
kind: "event" | "conversational";
priority?
optional priority?: number;
targetId
targetId: string;

ConfirmationPolicy

Properties

message?
optional message?: string;
reason?
optional reason?: string;
widget?
optional widget?: WidgetDefinition;

ContextReusePolicy

Type Parameters

Type Parameter
TContext

Properties

fields?
optional fields?: ContextPath<TContext>[];
when
when: ContextReusePredicate<unknown, unknown, unknown, TContext>;

ConversationListCursor

Properties

id
id: string;
updatedAt
updatedAt: string;

ConversationRecord

Type Parameters

Type Parameter Default type
TConversationContext unknown

Properties

agentId
agentId: string;
channel?
optional channel?: ConversationChannel;
context
context: TConversationContext;
createdAt
createdAt: string;
id
id: string;
lifecycle
lifecycle: ConversationLifecycle;
updatedAt
updatedAt: string;

CreateConversationInput

Extended by

Type Parameters

Type Parameter Default type
TConversationContext unknown

Properties

agentId
agentId: string;
channel?
optional channel?: ConversationChannelInput;
context
context: TConversationContext;
id?
optional id?: string;

CreateRuntimeConversationInput

Extends

Type Parameters

Type Parameter Default type
TConversationContext unknown

Properties

agentId
agentId: string;
Inherited from

CreateConversationInput.agentId

channel?
optional channel?: ConversationChannelInput;
Inherited from

CreateConversationInput.channel

context
context: TConversationContext;
Inherited from

CreateConversationInput.context

id?
optional id?: string;
Inherited from

CreateConversationInput.id


CustomRuntimeEventDefinition

Type Parameters

Type Parameter Default type
TName extends string string
TPayloadSchema extends z.ZodType z.ZodType

Properties

kind
kind: "customRuntimeEvent";
name
name: TName;
payload
payload: TPayloadSchema;
visibleToModel?
optional visibleToModel?: boolean;

DelegationJourneyOptions

Extends

Properties

always?
optional always?:
  | boolean
| JourneyActivationPredicate<unknown, unknown, unknown>;
Inherited from

ActivationMetadata.always

alwaysInclude?
optional alwaysInclude?: boolean;
Inherited from

ActivationMetadata.alwaysInclude

completeWhen?
optional completeWhen?: string[];
condition
condition: string;
Inherited from

ActivationMetadata.condition

examples?
optional examples?: string[];
Inherited from

ActivationMetadata.examples

guard?
optional guard?: JourneyGuardPredicate;
Inherited from

ActivationMetadata.guard

includeWhen?
optional includeWhen?: CandidateFilterPredicate;
Inherited from

ActivationMetadata.includeWhen

matcher?
optional matcher?: JourneyActivationPredicate;
Inherited from

ActivationMetadata.matcher

priority?
optional priority?: number;
Inherited from

ActivationMetadata.priority

specialist
specialist: {
  goal: string;
  instructions?: string;
  knowledge?: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
  tools?: AnyTool[];
};
goal
goal: string;
instructions?
optional instructions?: string;
knowledge?
optional knowledge?: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
tools?
optional tools?: AnyTool[];
stickiness?
optional stickiness?: "low" | "medium" | "high";
Inherited from

ActivationMetadata.stickiness

tags?
optional tags?: string[];
Inherited from

ActivationMetadata.tags


EmailAttachmentMetadata

Properties

checksum?
optional checksum?: string;
contentId?
optional contentId?: string;
contentType
contentType: string;
disposition
disposition: "attachment" | "inline";
filename
filename: string;
id?
optional id?: string;
metadata?
optional metadata?: Record<string, unknown>;
providerObjectId?
optional providerObjectId?: string;
sizeBytes?
optional sizeBytes?: number;

EmailAttachmentMetadataInput

Properties

checksum?
optional checksum?: string;
contentId?
optional contentId?: string;
contentType?
optional contentType?: string;
disposition?
optional disposition?: string;
filename?
optional filename?: string;
id?
optional id?: string;
inline?
optional inline?: boolean;
metadata?
optional metadata?: Record<string, unknown>;
mimeType?
optional mimeType?: string;
name?
optional name?: string;
providerObjectId?
optional providerObjectId?: string;
size?
optional size?: number;
sizeBytes?
optional sizeBytes?: number;

EmailQuoteTrimOptions

Properties

includeQuotedText?
optional includeQuotedText?: boolean;

EmailQuoteTrimResult

Properties

quotedText?
optional quotedText?: string;
reason?
optional reason?:
  | "reply-header"
  | "original-message"
  | "forwarded-message"
  | "quoted-block"
  | "metadata-header";
removedQuote
removedQuote: boolean;
text
text: string;

EmailThreadContext

Properties

attachmentCount
attachmentCount: number;
messageIds
messageIds: string[];
messages
messages: EmailThreadContextMessage[];
participants
participants: string[];
references
references: string[];
subject?
optional subject?: string;

EmailThreadContextMessage

Properties

attachments
attachments: EmailAttachmentMetadata[];
bcc
bcc: string[];
cc
cc: string[];
from?
optional from?: string;
id?
optional id?: string;
inReplyTo?
optional inReplyTo?: string;
messageId?
optional messageId?: string;
metadata?
optional metadata?: Record<string, unknown>;
providerObjectId?
optional providerObjectId?: string;
quotedTextRemoved
quotedTextRemoved: boolean;
references
references: string[];
sentAt?
optional sentAt?: string;
subject?
optional subject?: string;
text
text: string;
to
to: string[];

EmailThreadContextOptions

Properties

maxMessages?
optional maxMessages?: number;
trimQuotes?
optional trimQuotes?: boolean;

EmailThreadMessageInput

Properties

attachments?
optional attachments?: EmailAttachmentMetadataInput[];
bcc?
optional bcc?: string[];
cc?
optional cc?: string[];
from?
optional from?: string;
html?
optional html?: string;
id?
optional id?: string;
inReplyTo?
optional inReplyTo?: string;
messageId?
optional messageId?: string;
metadata?
optional metadata?: Record<string, unknown>;
providerObjectId?
optional providerObjectId?: string;
references?
optional references?: string[];
sentAt?
optional sentAt?: string | Date;
subject?
optional subject?: string;
text?
optional text?: string;
to?
optional to?: string[];

EmbeddingInput

Properties

role
role: "journeyEmbedding";
signal?
optional signal?: AbortSignal;
text
text: string;

EmbeddingOutput

Properties

dimensions
dimensions: number;
embedding
embedding: number[];
model
model: string;
providerMetadata?
optional providerMetadata?: Record<string, unknown>;
usage?
optional usage?: UsageRecord;

EmitCustomEventInput

Type Parameters

Type Parameter Default type
TEvent extends CustomRuntimeEventDefinition CustomRuntimeEventDefinition

Properties

conversationId
conversationId: string;
event
event: TEvent;
payload
payload: output<TEvent["payload"]>;

EmitGeneratedPreambleInput

Properties

conversationId
conversationId: string;
maxWords?
optional maxWords?: number;
purpose?
optional purpose?: string;
signal?
optional signal?: AbortSignal;

EmitGeneratedPreambleResult

Properties

events
events: RuntimeEvent[];
text
text: string;

EmitIntermediateMessageInput

Properties

conversationId
conversationId: string;
text
text: string;
visibleToModel?
optional visibleToModel?: boolean;

EmitJourneyEventInput

Type Parameters

Type Parameter Default type
TEvent extends JourneyEventDefinition JourneyEventDefinition

Properties

app?
optional app?: unknown;
conversationId
conversationId: string;
event
event: TEvent;
payload
payload: output<TEvent["payload"]>;
routing?
optional routing?: EventRoutingMode;
signal?
optional signal?: AbortSignal;
target?
optional target?: {
  journeyId?: string;
  stateId?: string;
};
journeyId?
optional journeyId?: string;
stateId?
optional stateId?: string;

EmitJourneyEventResult

Extended by

Properties

event
event: RuntimeEvent;
events
events: RuntimeEvent[];
snapshot
snapshot: RuntimeSnapshot;

EmitScheduledEventInput

Type Parameters

Type Parameter Default type
TEvent extends JourneyEventDefinition JourneyEventDefinition

Properties

app?
optional app?: unknown;
conversationId
conversationId: string;
dueAt?
optional dueAt?: string;
event
event: TEvent;
intent?
optional intent?: {
  capability?: string;
  operationAlias?: string;
  providerPackageId?: string;
  reason?: string;
};
capability?
optional capability?: string;
operationAlias?
optional operationAlias?: string;
providerPackageId?
optional providerPackageId?: string;
reason?
optional reason?: string;
metadata?
optional metadata?: Record<string, unknown>;
payload
payload: output<TEvent["payload"]>;
routing?
optional routing?: EventRoutingMode;
scheduledFor?
optional scheduledFor?: string;
scheduleId
scheduleId: string;
signal?
optional signal?: AbortSignal;
target?
optional target?: {
  journeyId?: string;
  stateId?: string;
};
journeyId?
optional journeyId?: string;
stateId?
optional stateId?: string;

EmitScheduledEventResult

Extends

Properties

channelEvent
channelEvent: ChannelEvent;
event
event: RuntimeEvent;
Inherited from

EmitJourneyEventResult.event

events
events: RuntimeEvent[];
Inherited from

EmitJourneyEventResult.events

intake
intake: ChannelEventIntakeResult;
scheduleEvent
scheduleEvent: RuntimeEvent;
snapshot
snapshot: RuntimeSnapshot;
Inherited from

EmitJourneyEventResult.snapshot


ExplainTurnInput

Extends

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

app?
optional app?: unknown;
Inherited from

HandleUserMessageInput.app

assistantMessageMode?
optional assistantMessageMode?: "canonical" | "intermediate" | "none";
Inherited from

HandleUserMessageInput.assistantMessageMode

channel?
optional channel?: ConversationChannel;
Inherited from

HandleUserMessageInput.channel

conversationId
conversationId: string;
Inherited from

HandleUserMessageInput.conversationId

recordUserMessage?
optional recordUserMessage?: boolean;
Inherited from

HandleUserMessageInput.recordUserMessage

signal?
optional signal?: AbortSignal;
Inherited from

HandleUserMessageInput.signal

text
text: string;
Inherited from

HandleUserMessageInput.text

turn?
optional turn?: TTurn;
Inherited from

HandleUserMessageInput.turn

Methods

onAssistantTextDelta()?
optional onAssistantTextDelta(textDelta): void | Promise<void>;
Parameters
Parameter Type
textDelta string
Returns

void | Promise\<void>

Inherited from

HandleUserMessageInput.onAssistantTextDelta


ExplainTurnResult

Properties

agentChannelPolicy?
optional agentChannelPolicy?: unknown;
agentId
agentId: string;
channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
channelPolicy?
optional channelPolicy?: unknown;
conversationContext?
optional conversationContext?: unknown;
conversationId
conversationId: string;
handoffPolicy?
optional handoffPolicy?: unknown;
persona?
optional persona?: unknown;
policyEventData
policyEventData: Record<string, unknown>;
resolvedContext?
optional resolvedContext?: unknown;
resolvedContextKeys
resolvedContextKeys: string[];

FieldCollectionOptions

Type Parameters

Type Parameter
TContext

Properties

confirm?
optional confirm?: boolean | "beforeAction" | ConfirmationPolicy;
extract?
optional extract?: boolean;
prompt?
optional prompt?: string;
required?
optional required?: boolean;
requiredWhen?
optional requiredWhen?: (args) => boolean;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

boolean

widget?
optional widget?: FieldWidgetOption;
widgetInput?
optional widgetInput?: (args) => unknown;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

unknown


HandleChannelEventInput

Type Parameters

Type Parameter Default type
TPayload unknown
TTurn unknown

Properties

agentId?
optional agentId?: string;
app?
optional app?: unknown;
binding?
optional binding?: ChannelEventBindingInput;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
createConversation?
optional createConversation?: CreateRuntimeConversationInput;
event
event: ChannelEventEnvelopeInput<TPayload>;
handling?
optional handling?: ChannelEventHandlingInput<TTurn>;
signal?
optional signal?: AbortSignal;

Methods

onAssistantTextDelta()?
optional onAssistantTextDelta(textDelta): void | Promise<void>;
Parameters
Parameter Type
textDelta string
Returns

void | Promise\<void>


HandleChannelEventResult

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

activeJourneyId?
optional activeJourneyId?: string;
channelEvent
channelEvent: ChannelEvent<TPayload>;
conversation?
optional conversation?: ConversationRecord;
disposition
disposition:
  | "handoff-review"
  | "output-resolution"
  | "record-only"
  | "no-op"
  | "deterministic-journey-event"
  | "model-turn"
  | "provider-operation";
events
events: RuntimeEvent[];
intake
intake: ChannelEventIntakeResult;
snapshot?
optional snapshot?: RuntimeSnapshot;
text?
optional text?: string;
turn?
optional turn?: HandleUserMessageResult;

HandleUserMessageInput

Extended by

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

app?
optional app?: unknown;
assistantMessageMode?
optional assistantMessageMode?: "canonical" | "intermediate" | "none";
channel?
optional channel?: ConversationChannel;
conversationId
conversationId: string;
recordUserMessage?
optional recordUserMessage?: boolean;
signal?
optional signal?: AbortSignal;
text
text: string;
turn?
optional turn?: TTurn;

Methods

onAssistantTextDelta()?
optional onAssistantTextDelta(textDelta): void | Promise<void>;
Parameters
Parameter Type
textDelta string
Returns

void | Promise\<void>


HandleUserMessageResult

Extended by

Properties

activeJourneyId?
optional activeJourneyId?: string;
conversation
conversation: ConversationRecord;
events
events: RuntimeEvent[];
snapshot
snapshot: RuntimeSnapshot;
text
text: string;

HandleVoiceUserMessageInput

Extends

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

app?
optional app?: unknown;
Inherited from

HandleUserMessageInput.app

assistantMessageMode?
optional assistantMessageMode?: "canonical" | "intermediate" | "none";
Inherited from

HandleUserMessageInput.assistantMessageMode

channel?
optional channel?: ConversationChannel;
Inherited from

HandleUserMessageInput.channel

channelSegmentId
channelSegmentId: string;
connectionId?
optional connectionId?: string;
conversationId
conversationId: string;
Inherited from

HandleUserMessageInput.conversationId

endedAtMs?
optional endedAtMs?: number;
metadata?
optional metadata?: Record<string, unknown>;
recordingReferenceId?
optional recordingReferenceId?: string;
recordUserMessage?
optional recordUserMessage?: boolean;
Inherited from

HandleUserMessageInput.recordUserMessage

signal?
optional signal?: AbortSignal;
Inherited from

HandleUserMessageInput.signal

startedAtMs?
optional startedAtMs?: number;
text
text: string;
Inherited from

HandleUserMessageInput.text

transcriptionSource?
optional transcriptionSource?: string;
turn?
optional turn?: TTurn;
Inherited from

HandleUserMessageInput.turn

Methods

onAssistantTextDelta()?
optional onAssistantTextDelta(textDelta): void | Promise<void>;
Parameters
Parameter Type
textDelta string
Returns

void | Promise\<void>

Inherited from

HandleUserMessageInput.onAssistantTextDelta


HandleVoiceUserMessageResult

Extends

Properties

activeJourneyId?
optional activeJourneyId?: string;
Inherited from

HandleUserMessageResult.activeJourneyId

conversation
conversation: ConversationRecord;
Inherited from

HandleUserMessageResult.conversation

events
events: RuntimeEvent[];
Inherited from

HandleUserMessageResult.events

snapshot
snapshot: RuntimeSnapshot;
Inherited from

HandleUserMessageResult.snapshot

text
text: string;
Inherited from

HandleUserMessageResult.text

voiceEvents
voiceEvents: RuntimeEvent[];

InMemoryScheduleAdapterOptions

Properties

createId?
optional createId?: () => string;
Returns

string

now?
optional now?: () => Date;
Returns

Date

Methods

onDue()?
optional onDue(action): void | Promise<void>;
Parameters
Parameter Type
action ScheduledSupportAction
Returns

void | Promise\<void>


JourneyCandidate

Properties

definitionHash
definitionHash: string;
journey
journey: CompiledJourney;
journeyId
journeyId: string;
reason
reason: "matcher" | "always" | "embedding";
score
score: number;
similarity
similarity: number;

JourneyContextRecord

Properties

context
context: unknown;
journeyId
journeyId: string;
stateId?
optional stateId?: string;
updatedAt
updatedAt: string;

JourneyEntryOptions

Type Parameters

Type Parameter
TContext

Properties

description?
optional description?: string;
priority?
optional priority?: number;
when
when: JourneyEntryPredicate<unknown, unknown, unknown, TContext>;

JourneyEventDefinition

Type Parameters

Type Parameter Default type
TName extends string string
TPayloadSchema extends z.ZodType z.ZodType

Properties

kind
kind: "journeyEvent";
name
name: TName;
payload
payload: TPayloadSchema;
routing?
optional routing?: EventRoutingMode;

JourneyFragment

Type Parameters

Type Parameter Default type
TName extends string string
TContextSchema extends ObjectSchema ObjectSchema

Properties

context
context: TContextSchema;
kind
kind: "journeyFragment";
name
name: TName;

Methods

apply()
apply(journey): void;
Parameters
Parameter Type
journey StateMachineJourneyBuilder\<string, TContextSchema>
Returns

void


JourneyFragmentOptions

Type Parameters

Type Parameter
TContextSchema extends ObjectSchema

Properties

context
context: TContextSchema;
define
define: (journey) => void;
Parameters
Parameter Type
journey StateMachineJourneyBuilder\<string, TContextSchema>
Returns

void

knowledge?
optional knowledge?: KnowledgeSource<string, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>[];
tools?
optional tools?: AnyTool[];

JourneyGraph

Properties

alternateEntries?
optional alternateEntries?: {
  description?: string;
  priority?: number;
  stateId: string;
}[];
description?
optional description?: string;
priority?
optional priority?: number;
stateId
stateId: string;
id
id: string;
initialStateId?
optional initialStateId?: string;
kind
kind: "stateMachine" | "delegation";
states
states: JourneyGraphState[];

JourneyGraphState

Properties

actions
actions: {
  name: string;
  type: "entry" | "exit" | "transition";
}[];
name
name: string;
type
type: "entry" | "exit" | "transition";
collected
collected: {
  extract: boolean;
  path: string;
  required: boolean;
}[];
extract
extract: boolean;
path
path: string;
required
required: boolean;
id
id: string;
initialStateId?
optional initialStateId?: string;
instructions?
optional instructions?: string;
parentId?
optional parentId?: string;
requiresVisit
requiresVisit: boolean;
summary?
optional summary?: string;
transitions
transitions: {
  description?: string;
  eventName?: string;
  kind: "event" | "conversational";
  priority?: number;
  targetId: string;
}[];
description?
optional description?: string;
eventName?
optional eventName?: string;
kind
kind: "event" | "conversational";
priority?
optional priority?: number;
targetId
targetId: string;
type
type: "state" | "parallel" | "final";

JourneyIndexValidationResult

Properties

errors
errors: string[];
ok
ok: boolean;

JourneySummary

Properties

completedAt
completedAt: string;
journeyId
journeyId: string;
kind
kind: "stateMachine" | "delegation";
reason?
optional reason?: string;
stateId?
optional stateId?: string;
summary
summary: string;

KnowledgeItem

Type Parameters

Type Parameter Default type
TMetadata unknown

Properties

content
content: string;
id
id: string;
metadata
metadata: TMetadata;
score?
optional score?: number;
title?
optional title?: string;

KnowledgeSource

Type Parameters

Type Parameter Default type
TName extends string string
TQuerySchema extends z.ZodType z.ZodType
TMetadataSchema extends z.ZodType z.ZodType

Properties

kind
kind: "knowledgeSource";
metadata
metadata: TMetadataSchema;
name
name: TName;
query
query: TQuerySchema;

Methods

retrieve()
retrieve(input): Promise<{
  items: KnowledgeItem<output<TMetadataSchema>>[];
}>;
Parameters
Parameter Type
input { query: output\<TQuerySchema>; signal?: AbortSignal; }
input.query output\<TQuerySchema>
input.signal? AbortSignal
Returns

Promise\<{ items: KnowledgeItem\<output\<TMetadataSchema>>[]; }>


ListCollectionOptions

Type Parameters

Type Parameter
TContext
TItemSchema extends z.ZodType

Properties

countFrom?
optional countFrom?: ContextPath<TContext>;
item
item: TItemSchema;
prompt?
optional prompt?: string;
widget?
optional widget?: FieldWidgetOption;

ListConversationsOptions

Extended by

Properties

after?
optional after?: ConversationListCursor;
afterUpdatedAt?
optional afterUpdatedAt?: string;

Timestamp-only range filter. Use after for lossless cursor pagination.

agentId?
optional agentId?: string;
before?
optional before?: ConversationListCursor;
beforeUpdatedAt?
optional beforeUpdatedAt?: string;

Timestamp-only range filter. Use before for lossless cursor pagination.

limit?
optional limit?: number;

ListEventsOptions

Properties

afterOffset?
optional afterOffset?: number;
conversationId
conversationId: string;
limit?
optional limit?: number;

ListPendingSupportActionsInput

Properties

conversationId
conversationId: string;

ListRuntimeConversationsOptions

Extends

Properties

after?
optional after?: ConversationListCursor;
Inherited from

ListConversationsOptions.after

afterUpdatedAt?
optional afterUpdatedAt?: string;

Timestamp-only range filter. Use after for lossless cursor pagination.

Inherited from

ListConversationsOptions.afterUpdatedAt

agentId?
optional agentId?: string;
Inherited from

ListConversationsOptions.agentId

before?
optional before?: ConversationListCursor;
Inherited from

ListConversationsOptions.before

beforeUpdatedAt?
optional beforeUpdatedAt?: string;

Timestamp-only range filter. Use before for lossless cursor pagination.

Inherited from

ListConversationsOptions.beforeUpdatedAt

limit?
optional limit?: number;
Inherited from

ListConversationsOptions.limit


MessageSegment

Properties

id
id: string;
references?
optional references?: SupportReference[];
text
text: string;

ModelAdapter

Properties

model
readonly model: string;
promptProfile?
readonly optional promptProfile?: ModelPromptProfile;
provider
readonly provider: string;

Methods

embed()?
optional embed(input): Promise<EmbeddingOutput>;
Parameters
Parameter Type
input EmbeddingInput
Returns

Promise\<EmbeddingOutput>

generateText()
generateText(input): Promise<TextGenerationOutput<unknown>>;
Parameters
Parameter Type
input TextGenerationInput
Returns

Promise\<TextGenerationOutput\<unknown>>


ModelMessage

Properties

content
content: string;
name?
optional name?: string;
role
role: "system" | "tool" | "user" | "assistant";
toolCallId?
optional toolCallId?: string;
toolCalls?
optional toolCalls?: ModelToolCall[];

ModelPromptProfile

Properties

description?
readonly optional description?: string;
id
readonly id: string;
logicalModelSlug?
readonly optional logicalModelSlug?: string;

Methods

renderInstruction()
renderInstruction(input): string | Promise<string>;
Parameters
Parameter Type
input ModelPromptProfileRenderInput
Returns

string | Promise\<string>


ModelPromptProfileRenderInput

Properties

model
model: {
  logicalModelSlug?: string;
  model: string;
  provider: string;
};
logicalModelSlug?
optional logicalModelSlug?: string;
model
model: string;
provider
provider: string;
payload
payload: ModelVisiblePromptPayload;
promptTask
promptTask: PromptTask;
role
role: PromptProfileRole;
structuredOutput?
optional structuredOutput?: StructuredOutputPromptMetadata;

ModelToolCall

Properties

id
id: string;
input
input: unknown;
name
name: string;
providerMetadata?
optional providerMetadata?: Record<string, unknown>;

ModelToolDefinition

Properties

description?
optional description?: string;
input
input: ZodType;
name
name: string;

NormalizedChannelPayload

Properties

attachments?
optional attachments?: unknown[];
body?
optional body?: string;
metadata?
optional metadata?: Record<string, unknown>;
providerObject?
optional providerObject?: unknown;
status?
optional status?: string;
subject?
optional subject?: string;
summary?
optional summary?: string;
text?
optional text?: string;

PendingSupportAction

Properties

actionAudience?
optional actionAudience?: string;
approvalId
approvalId: string;
capability?
optional capability?: string;
changesWorkflow?
optional changesWorkflow?: boolean;
channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversationId
conversationId: string;
editableFields?
optional editableFields?: string[];
expiresAt?
optional expiresAt?: string;
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
externallyVisible?
optional externallyVisible?: boolean;
input
input: unknown;
journeyId?
optional journeyId?: string;
metadata?
optional metadata?: Record<string, unknown>;
operationAlias?
optional operationAlias?: string;
outbound?
optional outbound?: boolean;
providerOperation?
optional providerOperation?: string;
providerPackageId?
optional providerPackageId?: string;
reason?
optional reason?: string;
requestedAt
requestedAt: string;
requestedEventId
requestedEventId: string;
sideEffect?
optional sideEffect?: boolean;
stateId?
optional stateId?: string;
supportedResolutions
supportedResolutions: ApprovalResolutionMode[];
toolName
toolName: string;

PrivacyHookContext

Properties

agentId
agentId: string;
conversationId
conversationId: string;

PrivacyHooks

Methods

redactAssistantMessage()?
optional redactAssistantMessage(input): MaybePromise<string>;
Parameters
Parameter Type
input PrivacyHookContext & { text: string; }
Returns

MaybePromise\<string>

redactConversationContext()?
optional redactConversationContext(input): unknown;
Parameters
Parameter Type
input PrivacyHookContext & { context: unknown; }
Returns

unknown

redactInboundChannelEvent()?
optional redactInboundChannelEvent(input): MaybePromise<RuntimeEventInput<"channel.received">>;
Parameters
Parameter Type
input PrivacyHookContext & { channel: { capabilities: { async: boolean; attachments: boolean; audioInput: boolean; audioOutput: boolean; buttons: boolean; deliveryReceipts: boolean; files: boolean; html: boolean; images: boolean; markdown: boolean; privateReplies: boolean; publicReplies: boolean; quickReplies: boolean; readReceipts: boolean; realtime: boolean; richText: boolean; supportsHumanTransfer: boolean; templates: boolean; threaded: boolean; typingIndicator: boolean; voice: boolean; widgets: boolean; }; channelId: string; externalConversationId?: string; externalMessageId?: string; externalThreadId?: string; externalUserId?: string; kind: string; locale?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; provider?: string; timezone?: string; }; event: RuntimeEventInput\<"channel.received">; }
Returns

MaybePromise\<RuntimeEventInput\<"channel.received">>

redactModelInput()?
optional redactModelInput(input): MaybePromise<TextGenerationInput>;
Parameters
Parameter Type
input PrivacyHookContext & { input: TextGenerationInput; }
Returns

MaybePromise\<TextGenerationInput>

redactModelMessages()?
optional redactModelMessages(input): MaybePromise<ModelMessage[]>;
Parameters
Parameter Type
input PrivacyHookContext & { messages: ModelMessage[]; }
Returns

MaybePromise\<ModelMessage[]>

redactOutboundChannelMessage()?
optional redactOutboundChannelMessage(input): MaybePromise<RuntimeEventInput<"channel.sent">>;
Parameters
Parameter Type
input PrivacyHookContext & { channel: { capabilities: { async: boolean; attachments: boolean; audioInput: boolean; audioOutput: boolean; buttons: boolean; deliveryReceipts: boolean; files: boolean; html: boolean; images: boolean; markdown: boolean; privateReplies: boolean; publicReplies: boolean; quickReplies: boolean; readReceipts: boolean; realtime: boolean; richText: boolean; supportsHumanTransfer: boolean; templates: boolean; threaded: boolean; typingIndicator: boolean; voice: boolean; widgets: boolean; }; channelId: string; externalConversationId?: string; externalMessageId?: string; externalThreadId?: string; externalUserId?: string; kind: string; locale?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; provider?: string; timezone?: string; }; event: RuntimeEventInput\<"channel.sent">; }
Returns

MaybePromise\<RuntimeEventInput\<"channel.sent">>

redactRuntimeEvent()?
optional redactRuntimeEvent(input): MaybePromise<RuntimeEventInput<
  | "error"
  | "schedule.due"
  | "message.started"
  | "message.delta"
  | "message.completed"
  | "message.generated"
  | "message.aborted"
  | "channel.event.received"
  | "channel.received"
  | "channel.sent"
  | "channel.delivery.updated"
  | "channel.thread.linked"
  | "voice.segment.started"
  | "voice.segment.ended"
  | "voice.connection.failed"
  | "voice.interrupted"
  | "voice.recording.started"
  | "voice.recording.completed"
  | "voice.transcript.committed"
  | "journey.candidates.retrieved"
  | "journey.matched"
  | "journey.activated"
  | "journey.completed"
  | "journey.guard.denied"
  | "journey.event.emitted"
  | "journey.state.entered"
  | "journey.extraction.proposed"
  | "journey.extraction.accepted"
  | "action.started"
  | "action.completed"
  | "tool.started"
  | "tool.completed"
  | "approval.requested"
  | "approval.resolved"
  | "knowledge.retrieved"
  | "context.resolved"
  | "policy.evaluated"
  | "ui.prompted"
  | "ui.submitted"
  | "conversation.compaction.started"
  | "conversation.compaction.completed"
  | "handoff.requested"
  | "handoff.completed"
  | "handoff.resumed"
  | "conversation.closed"
  | "eval.completed"
| `custom.${string}`>>;
Parameters
Parameter Type
input PrivacyHookContext & { event: RuntimeEventInput; }
Returns

MaybePromise\<RuntimeEventInput\< | "error" | "schedule.due" | "message.started" | "message.delta" | "message.completed" | "message.generated" | "message.aborted" | "channel.event.received" | "channel.received" | "channel.sent" | "channel.delivery.updated" | "channel.thread.linked" | "voice.segment.started" | "voice.segment.ended" | "voice.connection.failed" | "voice.interrupted" | "voice.recording.started" | "voice.recording.completed" | "voice.transcript.committed" | "journey.candidates.retrieved" | "journey.matched" | "journey.activated" | "journey.completed" | "journey.guard.denied" | "journey.event.emitted" | "journey.state.entered" | "journey.extraction.proposed" | "journey.extraction.accepted" | "action.started" | "action.completed" | "tool.started" | "tool.completed" | "approval.requested" | "approval.resolved" | "knowledge.retrieved" | "context.resolved" | "policy.evaluated" | "ui.prompted" | "ui.submitted" | "conversation.compaction.started" | "conversation.compaction.completed" | "handoff.requested" | "handoff.completed" | "handoff.resumed" | "conversation.closed" | "eval.completed" | `custom.${string}`>>

redactRuntimeSnapshot()?
optional redactRuntimeSnapshot(input): MaybePromise<RuntimeSnapshot>;
Parameters
Parameter Type
input PrivacyHookContext & { snapshot: RuntimeSnapshot; }
Returns

MaybePromise\<RuntimeSnapshot>

redactUserMessage()?
optional redactUserMessage(input): MaybePromise<string>;
Parameters
Parameter Type
input PrivacyHookContext & { text: string; }
Returns

MaybePromise\<string>


ProviderRegistry

Methods

get()
get(id): {
  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";
};
Parameters
Parameter Type
id string
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";
}
Name Type
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"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.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"
list()
list(query?): {
  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";
}[];
Parameters
Parameter Type
query? { capabilities?: string[]; category?: string; channelAudiences?: ("customer-facing" | "internal-support" | "mixed")[]; directions?: ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]; packageNames?: string[]; provider?: string; trustLevels?: ("community" | "official" | "verified" | "experimental")[]; }
query.capabilities? string[]
query.category? string
query.channelAudiences? ("customer-facing" | "internal-support" | "mixed")[]
query.directions? ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]
query.packageNames? string[]
query.provider? string
query.trustLevels? ("community" | "official" | "verified" | "experimental")[]
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"; }[]

register()
register(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";
};
Parameters
Parameter Type
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.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; }[]
manifest.category string
manifest.channelAudiences? ("customer-facing" | "internal-support" | "mixed")[]
manifest.coverage? { evidence?: { label: string; url?: string; }[]; notes?: string[]; scope?: | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"; }
manifest.coverage.evidence? { label: string; url?: string; }[]
manifest.coverage.notes? string[]
manifest.coverage.scope? | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"
manifest.credentialRequirements? { description?: string; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; required?: boolean; scopes?: string[]; }[]
manifest.directions ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]
manifest.id string
manifest.limitations? string[]
manifest.maintainers? { name: string; type?: "community" | "official" | "unknown" | "partner"; url?: string; }[]
manifest.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
manifest.name string
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; }[]
manifest.packageName string
manifest.privacyNotes? string[]
manifest.provider string
manifest.trustLevel? "community" | "official" | "verified" | "experimental"
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";
}
Name Type
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"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.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"
require()
require(id): {
  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";
};
Parameters
Parameter Type
id string
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";
}
Name Type
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"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.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"

RecordVoiceInterruptionInput

Properties

channelSegmentId
channelSegmentId: string;
connectionId?
optional connectionId?: string;
conversationId
conversationId: string;
interruptedMessageId?
optional interruptedMessageId?: string;
offsetMs?
optional offsetMs?: number;
reason?
optional reason?: string;
recordingReferenceId?
optional recordingReferenceId?: string;
source?
optional source?: "provider" | "userSpeech" | "adapter";

ReplayConversationInput

Properties

afterOffset?
optional afterOffset?: number;
conversationId
conversationId: string;

ReplayConversationResult

Properties

conversation
conversation: ConversationRecord;
events
events: RuntimeEvent[];
messages
messages: ReplayedMessage[];
openPrompts
openPrompts: ReplayedPrompt[];
snapshot
snapshot: RuntimeSnapshot;

ReplayedMessage

Properties

aborted
aborted: boolean;
id
id: string;
intermediate
intermediate: boolean;
offset
offset: number;
reason?
optional reason?: string;
role
role: "user" | "assistant";
segments?
optional segments?: MessageSegment[];
text
text: string;

ReplayedPrompt

Properties

input
input: unknown;
offset
offset: number;
promptId
promptId: string;
widgetKind
widgetKind: string;

RequestChannelHandoffInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

app?
optional app?: unknown;
binding?
optional binding?: ChannelEventBindingInput;
conversationId
conversationId: string;
fromChannel?
optional fromChannel?: ConversationChannelInput;
handling?
optional handling?: ChannelEventHandlingInput;
payload?
optional payload?: TPayload;
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;
signal?
optional signal?: AbortSignal;
toChannel
toChannel: ConversationChannelInput;

RequestChannelHandoffReviewInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

agentId?
optional agentId?: string;
app?
optional app?: unknown;
binding?
optional binding?: ChannelEventBindingInput;
channel
channel: ConversationChannelInput;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
handling?
optional handling?: ChannelEventHandlingInput;
payload?
optional payload?: TPayload;
reason?
optional reason?: string;
reasonCode?
optional reasonCode?: string;
reasonLabel?
optional reasonLabel?: string;
signal?
optional signal?: AbortSignal;

RequestHandoffInput

Properties

conversationId
conversationId: string;
payload?
optional payload?: unknown;
reason
reason: string;
summary?
optional summary?: string;
target?
optional target?: {
  channelId?: string;
  destination?: string;
  externalConversationId?: string;
  policyId?: string;
  providerPackageId?: string;
  queue?: string;
};
channelId?
optional channelId?: string;
destination?
optional destination?: string;
externalConversationId?
optional externalConversationId?: string;
policyId?
optional policyId?: string;
providerPackageId?
optional providerPackageId?: string;
queue?
optional queue?: string;

RequestOutboundContactInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

agentId?
optional agentId?: string;
app?
optional app?: unknown;
binding?
optional binding?: ChannelEventBindingInput;
channel
channel: ConversationChannelInput;
conversationContext?
optional conversationContext?: unknown;
conversationId?
optional conversationId?: string;
handling?
optional handling?: ChannelEventHandlingInput;
payload?
optional payload?: TPayload;
signal?
optional signal?: AbortSignal;
text?
optional text?: string;

ResolveChannelOutputInput

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

app?
optional app?: unknown;
conversationId
conversationId: string;
intent
intent: ChannelOutputIntentInput<TPayload>;
resolution?
optional resolution?: ChannelOutputResolutionDecision;
signal?
optional signal?: AbortSignal;

ResolveChannelOutputResult

Type Parameters

Type Parameter Default type
TPayload unknown

Properties

channelEvent?
optional channelEvent?: ChannelEvent<ChannelOutputResolutionPayload<TPayload>>;
conversation?
optional conversation?: ConversationRecord;
event?
optional event?: RuntimeEvent;
events
events: RuntimeEvent[];
execution?
optional execution?: ChannelOutputResolverResult;
outputIntent
outputIntent: ChannelOutputIntent<TPayload>;
resolution
resolution: ChannelOutputResolution;
shouldExecute
shouldExecute: boolean;

ResolvePendingSupportActionInput

Properties

approvalId
approvalId: string;
conversationId
conversationId: string;
editedInput?
optional editedInput?: unknown;
metadata?
optional metadata?: Record<string, unknown>;
reason?
optional reason?: string;
resolution
resolution: ApprovalResolutionMode;
resolvedBy?
optional resolvedBy?: string;
signal?
optional signal?: AbortSignal;

ResolvePendingSupportActionResult

Properties

action
action: PendingSupportAction;
events
events: RuntimeEvent[];
executed
executed: boolean;
resolution
resolution: RuntimeEvent;
result?
optional result?: unknown;

ResumeConversationInput

Properties

conversationId
conversationId: string;
payload?
optional payload?: unknown;
reason?
optional reason?: string;

RuntimeApprovalDecision

Properties

editableFields?
optional editableFields?: string[];
expiresAt?
optional expiresAt?: string;
metadata?
optional metadata?: Record<string, unknown>;
outcome
outcome: RuntimeApprovalOutcome;
reason?
optional reason?: string;
supportedResolutions?
optional supportedResolutions?: ApprovalResolutionMode[];

RuntimeApprovalEvaluationInput

Properties

channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversation
conversation: ConversationRecord;
input
input: unknown;
tool
tool: AnyTool;

RuntimeConfigurationSource

Properties

capabilityAvailability?
optional capabilityAvailability?: {
  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
blockers: {
  code: string;
  kind:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
capability?
optional capability?: string;
enabledForAgents
enabledForAgents: string[];
enabledForChannels
enabledForChannels: string[];
enabledForJourneys
enabledForJourneys: string[];
enabledForTools
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";
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
channelSetIds: string[];
enabled
enabled: boolean;
enabledCapabilities
enabledCapabilities: string[];
flowActivations
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
destinations: string[];
handoff.enabled
enabled: boolean;
handoff.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
handoff.policyIds
policyIds: string[];
handoff.providerPackageIds
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
enabled: boolean;
outbound.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
outbound.policyIds
policyIds: string[];
outbound.providerPackageIds
providerPackageIds: string[];
outbound.requiresProviderOutboundSupport
requiresProviderOutboundSupport: boolean;
policies
policies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageIds
providerPackageIds: string[];
channelSets?
optional channelSets?: {
  channelIds: string[];
  channels: string[];
  conversationContinuity?: {
     crossChannel: boolean;
     mode: "new-conversation" | "link-existing" | "sdk-decides";
     policy?: string;
  };
  enabled: boolean;
  id: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
channelIds
channelIds: string[];
channels
channels: string[];
conversationContinuity?
optional conversationContinuity?: {
  crossChannel: boolean;
  mode: "new-conversation" | "link-existing" | "sdk-decides";
  policy?: string;
};
conversationContinuity.crossChannel
crossChannel: boolean;
conversationContinuity.mode
mode: "new-conversation" | "link-existing" | "sdk-decides";
conversationContinuity.policy?
optional policy?: string;
enabled
enabled: boolean;
id
id: string;
label?
optional label?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
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
scopes: string[];
state
state:
  | "required"
  | "configured"
  | "permission-blocked"
  | "not-required"
  | "missing"
  | "expired"
  | "insufficient-scope"
  | "unavailable";
providerPackages?
optional providerPackages?: {
  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";
providerReadiness?
optional providerReadiness?: {
  blockers: {
     code: string;
     kind:   | "unknown"
        | "permission-blocked"
        | "missing-policy"
        | "missing-configuration"
        | "missing-credentials"
        | "provider-unsupported";
     message: string;
  }[];
  checkedAt?: string;
  checkSource?: string;
  live?: boolean;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId: string;
  remediationActions: {
     id: string;
     kind:   | "custom"
        | "configure"
        | "authorize"
        | "verify"
        | "read-docs"
        | "contact-provider";
     label: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  }[];
  sandbox?: boolean;
  status:   | "unknown"
     | "configured"
     | "blocked"
     | "not-configured"
     | "ready"
     | "live-verified"
     | "sandbox-verified"
     | "scoped-verified"
     | "full-api-verified";
}[];
blockers
blockers: {
  code: string;
  kind:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
checkedAt?
optional checkedAt?: string;
checkSource?
optional checkSource?: string;
live?
optional live?: boolean;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageId
providerPackageId: string;
remediationActions
remediationActions: {
  id: string;
  kind:   | "custom"
     | "configure"
     | "authorize"
     | "verify"
     | "read-docs"
     | "contact-provider";
  label: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
sandbox?
optional sandbox?: boolean;
status
status:
  | "unknown"
  | "configured"
  | "blocked"
  | "not-configured"
  | "ready"
  | "live-verified"
  | "sandbox-verified"
  | "scoped-verified"
  | "full-api-verified";

RuntimeContextOptions

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

redact?
optional redact?: string[];
schema?
optional schema?: ZodType;

Methods

resolve()?
optional resolve(input): unknown;
Parameters
Parameter Type
input RuntimeContextResolveInput\<TTurn>
Returns

unknown


RuntimeContextResolveInput

Type Parameters

Type Parameter Default type
TTurn unknown

Properties

app
app: unknown;
channel?
optional channel?: {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};
capabilities
capabilities: {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};
capabilities.async
async: boolean;
capabilities.attachments
attachments: boolean;
capabilities.audioInput
audioInput: boolean;
capabilities.audioOutput
audioOutput: boolean;
capabilities.buttons
buttons: boolean;
capabilities.deliveryReceipts
deliveryReceipts: boolean;
capabilities.files
files: boolean;
capabilities.html
html: boolean;
capabilities.images
images: boolean;
capabilities.markdown
markdown: boolean;
capabilities.privateReplies
privateReplies: boolean;
capabilities.publicReplies
publicReplies: boolean;
capabilities.quickReplies
quickReplies: boolean;
capabilities.readReceipts
readReceipts: boolean;
capabilities.realtime
realtime: boolean;
capabilities.richText
richText: boolean;
capabilities.supportsHumanTransfer
supportsHumanTransfer: boolean;
capabilities.templates
templates: boolean;
capabilities.threaded
threaded: boolean;
capabilities.typingIndicator
typingIndicator: boolean;
capabilities.voice
voice: boolean;
capabilities.widgets
widgets: boolean;
channelId
channelId: string;
externalConversationId?
optional externalConversationId?: string;
externalMessageId?
optional externalMessageId?: string;
externalThreadId?
optional externalThreadId?: string;
externalUserId?
optional externalUserId?: string;
kind
kind: string;
locale?
optional locale?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
provider?
optional provider?: string;
timezone?
optional timezone?: string;
conversation
conversation: ConversationRecord;
text
text: string;
turn
turn: TTurn;

RuntimeEventBase

Type Parameters

Type Parameter
TType extends string
TData

Properties

conversationId
conversationId: string;
createdAt
createdAt: string;
data
data: TData;
id
id: string;
offset
offset: number;
telemetry?
optional telemetry?: RuntimeEventTelemetry;
type
type: TType;

RuntimeEventTelemetry

Properties

spanId?
optional spanId?: string;
traceId
traceId: string;

RuntimeLogContext

Properties

agentId?
optional agentId?: string;
conversationId?
optional conversationId?: string;
journeyId?
optional journeyId?: string;
stateId?
optional stateId?: string;

RuntimeOptions

Properties

agent?
optional agent?: CompiledAgent;
app?
optional app?: unknown;
approval?
optional approval?: {
  evaluate?: RuntimeApprovalDecision;
};
evaluate()?
optional evaluate(input): RuntimeApprovalDecision;
Parameters
Parameter Type
input RuntimeApprovalEvaluationInput
Returns

RuntimeApprovalDecision

capabilityAvailability?
optional capabilityAvailability?: {
  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
blockers: {
  code: string;
  kind:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
capability?
optional capability?: string;
enabledForAgents
enabledForAgents: string[];
enabledForChannels
enabledForChannels: string[];
enabledForJourneys
enabledForJourneys: string[];
enabledForTools
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";
channelOutput?
optional channelOutput?: {
  execute?:   | ChannelOutputResolverResult<unknown>
     | Promise<ChannelOutputResolverResult<unknown>>;
  resolve?:   | ChannelOutputResolutionDecision<unknown>
     | Promise<ChannelOutputResolutionDecision<unknown>>;
};
execute()?
optional execute(input):
  | ChannelOutputResolverResult<unknown>
| Promise<ChannelOutputResolverResult<unknown>>;
Parameters
Parameter Type
input ChannelOutputResolverInput
Returns

| ChannelOutputResolverResult\<unknown> | Promise\<ChannelOutputResolverResult\<unknown>>

resolve()?
optional resolve(input):
  | ChannelOutputResolutionDecision<unknown>
| Promise<ChannelOutputResolutionDecision<unknown>>;
Parameters
Parameter Type
input ChannelOutputResolutionPolicyInput
Returns

| ChannelOutputResolutionDecision\<unknown> | Promise\<ChannelOutputResolutionDecision\<unknown>>

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
channelSetIds: string[];
enabled
enabled: boolean;
enabledCapabilities
enabledCapabilities: string[];
flowActivations
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
destinations: string[];
handoff.enabled
enabled: boolean;
handoff.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
handoff.policyIds
policyIds: string[];
handoff.providerPackageIds
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
enabled: boolean;
outbound.metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
outbound.policyIds
policyIds: string[];
outbound.providerPackageIds
providerPackageIds: string[];
outbound.requiresProviderOutboundSupport
requiresProviderOutboundSupport: boolean;
policies
policies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageIds
providerPackageIds: string[];
channelSets?
optional channelSets?: {
  channelIds: string[];
  channels: string[];
  conversationContinuity?: {
     crossChannel: boolean;
     mode: "new-conversation" | "link-existing" | "sdk-decides";
     policy?: string;
  };
  enabled: boolean;
  id: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
channelIds
channelIds: string[];
channels
channels: string[];
conversationContinuity?
optional conversationContinuity?: {
  crossChannel: boolean;
  mode: "new-conversation" | "link-existing" | "sdk-decides";
  policy?: string;
};
conversationContinuity.crossChannel
crossChannel: boolean;
conversationContinuity.mode
mode: "new-conversation" | "link-existing" | "sdk-decides";
conversationContinuity.policy?
optional policy?: string;
enabled
enabled: boolean;
id
id: string;
label?
optional label?: string;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
compaction?
optional compaction?: {
  afterTurn?: boolean;
  beforeTurn?: boolean;
  instructions?: string;
  minEvents?: number;
  schemaVersion?: string;
  summarySchema?: ZodType;
};
afterTurn?
optional afterTurn?: boolean;
beforeTurn?
optional beforeTurn?: boolean;
instructions?
optional instructions?: string;
minEvents?
optional minEvents?: number;
schemaVersion?
optional schemaVersion?: string;
summarySchema?
optional summarySchema?: ZodType;
context?
optional context?: RuntimeContextOptions;
journeyIndex?
optional journeyIndex?: {
  agentId: string;
  definitionHash: string;
  embeddingModel: string;
  embeddingProvider: string;
  entries: {
     alwaysInclude: boolean;
     condition: string;
     definitionHash: string;
     embedding: {
        dimensions: number;
        model: string;
        vector: number[];
     };
     examples: string[];
     journeyId: string;
     kind: "stateMachine" | "delegation";
     priority: number;
     routingText: string;
     stickiness: "low" | "medium" | "high";
     tags: string[];
  }[];
  generatedAt: string;
  projectionVersion: "cognidesk.journey-index.v1";
};
agentId
agentId: string;
definitionHash
definitionHash: string;
embeddingModel
embeddingModel: string;
embeddingProvider
embeddingProvider: string;
entries
entries: {
  alwaysInclude: boolean;
  condition: string;
  definitionHash: string;
  embedding: {
     dimensions: number;
     model: string;
     vector: number[];
  };
  examples: string[];
  journeyId: string;
  kind: "stateMachine" | "delegation";
  priority: number;
  routingText: string;
  stickiness: "low" | "medium" | "high";
  tags: string[];
}[];
generatedAt
generatedAt: string;
projectionVersion
projectionVersion: "cognidesk.journey-index.v1";
knowledgeLimit?
optional knowledgeLimit?: number;
logger?
optional logger?: Pick<Logger, "trace" | "debug" | "info" | "warn" | "error" | "child">;
logLevel?
optional logLevel?: AgentLogLevel;
models?
optional models?: AgentModelSet;
postProcessing?
optional postProcessing?: {
  citations?: boolean;
};
citations?
optional citations?: boolean;
privacy?
optional privacy?: PrivacyHooks;
providerCredentialStatuses?
optional providerCredentialStatuses?: {
  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";
providerPackages?
optional providerPackages?: {
  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";
providerReadiness?
optional providerReadiness?: {
  blockers: {
     code: string;
     kind:   | "unknown"
        | "permission-blocked"
        | "missing-policy"
        | "missing-configuration"
        | "missing-credentials"
        | "provider-unsupported";
     message: string;
  }[];
  checkedAt?: string;
  checkSource?: string;
  live?: boolean;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId: string;
  remediationActions: {
     id: string;
     kind:   | "custom"
        | "configure"
        | "authorize"
        | "verify"
        | "read-docs"
        | "contact-provider";
     label: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  }[];
  sandbox?: boolean;
  status:   | "unknown"
     | "configured"
     | "blocked"
     | "not-configured"
     | "ready"
     | "live-verified"
     | "sandbox-verified"
     | "scoped-verified"
     | "full-api-verified";
}[];
blockers
blockers: {
  code: string;
  kind:   | "unknown"
     | "permission-blocked"
     | "missing-policy"
     | "missing-configuration"
     | "missing-credentials"
     | "provider-unsupported";
  message: string;
}[];
checkedAt?
optional checkedAt?: string;
checkSource?
optional checkSource?: string;
live?
optional live?: boolean;
metadata?
optional metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
providerPackageId
providerPackageId: string;
remediationActions
remediationActions: {
  id: string;
  kind:   | "custom"
     | "configure"
     | "authorize"
     | "verify"
     | "read-docs"
     | "contact-provider";
  label: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}[];
sandbox?
optional sandbox?: boolean;
status
status:
  | "unknown"
  | "configured"
  | "blocked"
  | "not-configured"
  | "ready"
  | "live-verified"
  | "sandbox-verified"
  | "scoped-verified"
  | "full-api-verified";
storage
storage: StorageAdapter;
streaming?
optional streaming?: {
  syntheticDeltas?: boolean;
};
syntheticDeltas?
optional syntheticDeltas?: boolean;
telemetry?
optional telemetry?: RuntimeTelemetryOptions;
toolRetry?
optional toolRetry?: {
  maxAttempts?: number;
  notice?: string;
};
maxAttempts?
optional maxAttempts?: number;
notice?
optional notice?: string;
topKJourneys?
optional topKJourneys?: number;

RuntimeSnapshot

Properties

activeJourneyId?
optional activeJourneyId?: string;
activeStateIds
activeStateIds: string[];
compactionSummary?
optional compactionSummary?: unknown;
conversationId
conversationId: string;
definitionHash?
optional definitionHash?: string;
journeyContext?
optional journeyContext?: unknown;
journeyContexts?
optional journeyContexts?: JourneyContextRecord[];
journeySummaries?
optional journeySummaries?: JourneySummary[];
lifecycle
lifecycle: ConversationLifecycle;
updatedAt
updatedAt: string;

RuntimeTelemetryOptions

Properties

content?
optional content?: TelemetryContentMode;
enabled?
optional enabled?: boolean;

ScheduleAdapter

Methods

cancel()
cancel(id): Promise<boolean>;
Parameters
Parameter Type
id string
Returns

Promise\<boolean>

list()?
optional list(conversationId?): Promise<ScheduledSupportAction[]>;
Parameters
Parameter Type
conversationId? string
Returns

Promise\<ScheduledSupportAction[]>

schedule()
schedule(input): Promise<ScheduledSupportAction>;
Parameters
Parameter Type
input Omit\<ScheduledSupportAction, "id" | "status"> & { id?: string; }
Returns

Promise\<ScheduledSupportAction>


ScheduleDefinition

Type Parameters

Type Parameter Default type
TId extends string string
TEvent extends JourneyEventDefinition JourneyEventDefinition

Properties

event
event: TEvent;
id
id: TId;
intent?
optional intent?: ScheduledOperationIntent;
kind
kind: "schedule";
metadata?
optional metadata?: Record<string, unknown>;
payload?
optional payload?:
  | ((input) => output<TEvent["payload"]>)
| output<TEvent["payload"]>;
trigger
trigger: ScheduleTrigger;

ScheduledOperationIntent

Properties

capability?
optional capability?: string;
operationAlias?
optional operationAlias?: string;
providerPackageId?
optional providerPackageId?: string;
reason?
optional reason?: string;

ScheduledSupportAction

Properties

conversationId
conversationId: string;
dueAt
dueAt: string;
eventName
eventName: string;
id
id: string;
intent?
optional intent?: ScheduledOperationIntent;
metadata?
optional metadata?: Record<string, unknown>;
payload
payload: unknown;
scheduleId
scheduleId: string;
status
status: "scheduled" | "cancelled" | "delivered";

SelectJourneyCandidatesOptions

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown

Properties

activeJourneyId?
optional activeJourneyId?: string;
agent
agent: CompiledAgent;
allowStaleIndex?
optional allowStaleIndex?: boolean;
app
app: TApp;
conversation
conversation: TConversation;
embeddingModel
embeddingModel: ModelAdapter;
index
index: {
  agentId: string;
  definitionHash: string;
  embeddingModel: string;
  embeddingProvider: string;
  entries: {
     alwaysInclude: boolean;
     condition: string;
     definitionHash: string;
     embedding: {
        dimensions: number;
        model: string;
        vector: number[];
     };
     examples: string[];
     journeyId: string;
     kind: "stateMachine" | "delegation";
     priority: number;
     routingText: string;
     stickiness: "low" | "medium" | "high";
     tags: string[];
  }[];
  generatedAt: string;
  projectionVersion: "cognidesk.journey-index.v1";
};
agentId
agentId: string;
definitionHash
definitionHash: string;
embeddingModel
embeddingModel: string;
embeddingProvider
embeddingProvider: string;
entries
entries: {
  alwaysInclude: boolean;
  condition: string;
  definitionHash: string;
  embedding: {
     dimensions: number;
     model: string;
     vector: number[];
  };
  examples: string[];
  journeyId: string;
  kind: "stateMachine" | "delegation";
  priority: number;
  routingText: string;
  stickiness: "low" | "medium" | "high";
  tags: string[];
}[];
generatedAt
generatedAt: string;
projectionVersion
projectionVersion: "cognidesk.journey-index.v1";
message
message: string;
signal?
optional signal?: AbortSignal;
topK?
optional topK?: number;
turn
turn: TTurn;

StartVoiceConversationInput

Type Parameters

Type Parameter Default type
TConversationContext unknown

Properties

agentId
agentId: string;
app?
optional app?: unknown;
client?
optional client?: VoiceStartClientHints;
context
context: TConversationContext;
id?
optional id?: string;

StartVoiceResult

Properties

channelSegment
channelSegment: VoiceChannelSegment;
connection
connection: VoiceConnection;
conversation
conversation: ConversationRecord;
events
events: RuntimeEvent[];
socket?
optional socket?: VoiceSocketMetadata;

StartVoiceSegmentInput

Properties

app?
optional app?: unknown;
client?
optional client?: VoiceStartClientHints;
conversationId
conversationId: string;

StateActionUseOptions

Type Parameters

Type Parameter
TAction extends ActionDefinition
TContext

Properties

input?
optional input?: (args) => output<TAction["input"]>;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

output\<TAction["input"]>

type?
optional type?: "entry" | "exit" | "transition";

StateMachineJourneyOptions

Extends

Type Parameters

Type Parameter
TContextSchema extends ObjectSchema

Properties

always?
optional always?:
  | boolean
| JourneyActivationPredicate<unknown, unknown, unknown>;
Inherited from

ActivationMetadata.always

alwaysInclude?
optional alwaysInclude?: boolean;
Inherited from

ActivationMetadata.alwaysInclude

condition
condition: string;
Inherited from

ActivationMetadata.condition

context
context: TContextSchema;
contextReuse?
optional contextReuse?: ContextReusePolicy<output<TContextSchema>>;
description?
optional description?: string;
examples?
optional examples?: string[];
Inherited from

ActivationMetadata.examples

guard?
optional guard?: JourneyGuardPredicate;
Inherited from

ActivationMetadata.guard

includeWhen?
optional includeWhen?: CandidateFilterPredicate;
Inherited from

ActivationMetadata.includeWhen

matcher?
optional matcher?: JourneyActivationPredicate;
Inherited from

ActivationMetadata.matcher

priority?
optional priority?: number;
Inherited from

ActivationMetadata.priority

stickiness?
optional stickiness?: "low" | "medium" | "high";
Inherited from

ActivationMetadata.stickiness

tags?
optional tags?: string[];
Inherited from

ActivationMetadata.tags


StateReference

Type Parameters

Type Parameter Default type
TId extends string string

Properties

id
readonly id: TId;

StorageAdapter

Methods

appendEvent()
appendEvent<TEvent>(event): Promise<RuntimeEvent>;
Type Parameters
Type Parameter
TEvent extends RuntimeEventInput\< | "error" | "schedule.due" | "message.started" | "message.delta" | "message.completed" | "message.generated" | "message.aborted" | "channel.event.received" | "channel.received" | "channel.sent" | "channel.delivery.updated" | "channel.thread.linked" | "voice.segment.started" | "voice.segment.ended" | "voice.connection.failed" | "voice.interrupted" | "voice.recording.started" | "voice.recording.completed" | "voice.transcript.committed" | "journey.candidates.retrieved" | "journey.matched" | "journey.activated" | "journey.completed" | "journey.guard.denied" | "journey.event.emitted" | "journey.state.entered" | "journey.extraction.proposed" | "journey.extraction.accepted" | "action.started" | "action.completed" | "tool.started" | "tool.completed" | "approval.requested" | "approval.resolved" | "knowledge.retrieved" | "context.resolved" | "policy.evaluated" | "ui.prompted" | "ui.submitted" | "conversation.compaction.started" | "conversation.compaction.completed" | "handoff.requested" | "handoff.completed" | "handoff.resumed" | "conversation.closed" | "eval.completed" | `custom.${string}`>
Parameters
Parameter Type
event TEvent
Returns

Promise\<RuntimeEvent>

appendEventIfApprovalPending()?
optional appendEventIfApprovalPending<TEvent>(event): Promise<RuntimeEvent>;
Type Parameters
Type Parameter
TEvent extends RuntimeEventInput\<"approval.resolved">
Parameters
Parameter Type
event TEvent
Returns

Promise\<RuntimeEvent>

appendEventIfNoActiveVoiceSegment()?
optional appendEventIfNoActiveVoiceSegment<TEvent>(event): Promise<RuntimeEvent>;
Type Parameters
Type Parameter
TEvent extends RuntimeEventInput\<"voice.segment.started">
Parameters
Parameter Type
event TEvent
Returns

Promise\<RuntimeEvent>

createConversation()
createConversation<TConversationContext>(input): Promise<ConversationRecord<TConversationContext>>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
input CreateConversationInput\<TConversationContext>
Returns

Promise\<ConversationRecord\<TConversationContext>>

getConversation()
getConversation<TConversationContext>(conversationId): Promise<ConversationRecord<TConversationContext>>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
conversationId string
Returns

Promise\<ConversationRecord\<TConversationContext>>

getSnapshot()
getSnapshot(conversationId): Promise<RuntimeSnapshot>;
Parameters
Parameter Type
conversationId string
Returns

Promise\<RuntimeSnapshot>

initialize()?
optional initialize(): void | Promise<void>;
Returns

void | Promise\<void>

listConversations()
listConversations<TConversationContext>(options?): Promise<ConversationRecord<TConversationContext>[]>;
Type Parameters
Type Parameter Default type
TConversationContext unknown
Parameters
Parameter Type
options? ListConversationsOptions
Returns

Promise\<ConversationRecord\<TConversationContext>[]>

listEvents()
listEvents(options): Promise<RuntimeEvent[]>;
Parameters
Parameter Type
options ListEventsOptions
Returns

Promise\<RuntimeEvent[]>

saveSnapshot()
saveSnapshot(snapshot): Promise<void>;
Parameters
Parameter Type
snapshot RuntimeSnapshot
Returns

Promise\<void>

updateConversationLifecycle()
updateConversationLifecycle(conversationId, lifecycle): Promise<ConversationRecord<unknown>>;
Parameters
Parameter Type
conversationId string
lifecycle ConversationLifecycle
Returns

Promise\<ConversationRecord\<unknown>>


StructuredOutputPromptMetadata

Properties

name
name: string;
required
required: boolean;
schema?
optional schema?: unknown;

SubmitWidgetInput

Properties

conversationId
conversationId: string;
output
output: unknown;
promptId
promptId: string;
widgetKind
widgetKind: string;

TelemetryContext

Methods

addEvent()
addEvent(name, attributes?): void;
Parameters
Parameter Type
name string
attributes? Attributes
Returns

void

recordException()
recordException(error): void;
Parameters
Parameter Type
error unknown
Returns

void

setAttribute()
setAttribute(name, value): void;
Parameters
Parameter Type
name string
value string | number | boolean
Returns

void

startSpan()
startSpan(name, options?): Span;
Parameters
Parameter Type
name string
options? TelemetryContextSpanOptions
Returns

Span

withSpan()
Call Signature
withSpan<T>(name, run): Promise<T>;
Type Parameters
Type Parameter
T
Parameters
Parameter Type
name string
run TelemetrySpanRunner\<T>
Returns

Promise\<T>

Call Signature
withSpan<T>(
   name,
   options,
run): Promise<T>;
Type Parameters
Type Parameter
T
Parameters
Parameter Type
name string
options TelemetryContextSpanOptions
run TelemetrySpanRunner\<T>
Returns

Promise\<T>


TelemetryContextSpanOptions

Properties

attributes?
optional attributes?: Attributes;

TelemetrySpanOptions

Properties

attributes?
optional attributes?: Attributes;
metric?
optional metric?: TelemetryMetricOptions;
name
name: string;

TextGenerationInput

Properties

messages
messages: ModelMessage[];
promptPayload?
optional promptPayload?: ModelVisiblePromptPayload;
promptTask?
optional promptTask?: PromptTask;
responseFormat?
optional responseFormat?: ZodType;
role
role: ModelRole;
signal?
optional signal?: AbortSignal;
toolChoice?
optional toolChoice?: "required" | "none" | "auto";
tools?
optional tools?: ModelToolDefinition[];

Methods

onTextDelta()?
optional onTextDelta(delta): void | Promise<void>;
Parameters
Parameter Type
delta string
Returns

void | Promise\<void>


TextGenerationOutput

Type Parameters

Type Parameter Default type
T unknown

Properties

providerMetadata?
optional providerMetadata?: Record<string, unknown>;
structured?
optional structured?: T;
text
text: string;
toolCalls?
optional toolCalls?: ModelToolCall[];
usage?
optional usage?: UsageRecord;

ToolApprovalOptions

Properties

editableFields?
optional editableFields?: string[];
expiresAt?
optional expiresAt?: string;
metadata?
optional metadata?: Record<string, unknown>;
reason?
optional reason?: string;
requirement?
optional requirement?: ApprovalRequirement;
supportedResolutions?
optional supportedResolutions?: ApprovalResolutionMode[];

ToolDefinition

Type Parameters

Type Parameter Default type
TName extends string string
TInputSchema extends z.ZodType z.ZodType
TOutputSchema extends z.ZodType z.ZodType
TSideEffect extends boolean boolean

Properties

description?
optional description?: string;
execute
execute: (context) => Promise<output<TOutputSchema>>;
Parameters
Parameter Type
context ToolExecutionContext\<output\<TInputSchema>>
Returns

Promise\<output\<TOutputSchema>>

idempotencyKey?
optional idempotencyKey?: (args) => string;
Parameters
Parameter Type
args { conversationId: string; input: output\<TInputSchema>; }
args.conversationId string
args.input output\<TInputSchema>
Returns

string

input
input: TInputSchema;
kind
kind: "tool";
name
name: TName;
output
output: TOutputSchema;
policy?
optional policy?: ToolPolicyOptions;
sideEffect
sideEffect: TSideEffect;

ToolExecutionContext

Type Parameters

Type Parameter Default type
TInput -
TApp unknown

Properties

app
app: TApp;
conversationId
conversationId: string;
idempotencyKey?
optional idempotencyKey?: string;
input
input: TInput;
signal?
optional signal?: AbortSignal;
telemetry
telemetry: TelemetryContext;

ToolPolicyOptions

Properties

actionAudience?
optional actionAudience?: "customer-facing" | "internal-support" | "mixed";
approval?
optional approval?: ToolApprovalOptions;
capability?
optional capability?: ChannelCapability;
changesWorkflow?
optional changesWorkflow?: boolean;
exposesSensitiveData?
optional exposesSensitiveData?: boolean;
externallyVisible?
optional externallyVisible?: boolean;
operationAlias?
optional operationAlias?: string;
outbound?
optional outbound?: boolean;
providerOperation?
optional providerOperation?: string;
providerPackageId?
optional providerPackageId?: string;
requiredPolicyIds?
optional requiredPolicyIds?: string[];

ToolRunOptions

Type Parameters

Type Parameter
TTool extends AnyTool
TContext

Properties

assign?
optional assign?: Partial<Record<ContextPath<TContext>, (args) => unknown>>;
input?
optional input?: (args) => output<TTool["input"]>;
Parameters
Parameter Type
args { context: TContext; }
args.context TContext
Returns

output\<TTool["input"]>

onFailure?
optional onFailure?: StateBuilder<string, ObjectSchema>;
onSuccess?
optional onSuccess?: StateBuilder<string, ObjectSchema>;
onValidationError?
optional onValidationError?: StateBuilder<string, ObjectSchema>;

TransitionOptions

Type Parameters

Type Parameter
TContext

Properties

description?
optional description?: string;
guard?
optional guard?: (context) => MaybePromise$1<GuardResult>;
Parameters
Parameter Type
context GuardContext\<unknown, TContext>
Returns

MaybePromise$1\<GuardResult>

priority?
optional priority?: number;

UsageRecord

Properties

cachedInputTokens?
optional cachedInputTokens?: number;
inputTokens?
optional inputTokens?: number;
outputTokens?
optional outputTokens?: number;
providerMetadata?
optional providerMetadata?: Record<string, unknown>;
reasoningTokens?
optional reasoningTokens?: number;
totalTokens?
optional totalTokens?: number;

ValidateJourneyIndexOptions

Properties

embeddingModel?
optional embeddingModel?: Pick<ModelAdapter, "provider" | "model">;

VoiceChannelSegment

Properties

channel
channel: "voice";
conversationId
conversationId: string;
endedAt?
optional endedAt?: string;
id
id: string;
startedAt
startedAt: string;

VoiceConnection

Properties

adapter
adapter: string;
channelSegmentId
channelSegmentId: string;
expiresAt?
optional expiresAt?: string;
id
id: string;
provider?
optional provider?: string;
providerSessionId?
optional providerSessionId?: string;
status
status: VoiceConnectionStatus;

VoiceIceServer

Properties

credential?
optional credential?: string;
urls
urls: string | string[];
username?
optional username?: string;

VoiceModelSet

Properties

model
model: string;
provider
provider: string;
settings?
optional settings?: Record<string, unknown>;
voice?
optional voice?: string;

VoiceProfile

Properties

instructions?
optional instructions?: string;
metadata?
optional metadata?: Record<string, unknown>;
modelSet?
optional modelSet?: VoiceModelSet;
recording?
optional recording?: VoiceRecordingPolicy;

VoiceRecordingPolicy

Properties

enabled?
optional enabled?: boolean;
metadata?
optional metadata?: Record<string, unknown>;
mode?
optional mode?: "input" | "both";
requireConsent?
optional requireConsent?: boolean;

VoiceSelection

Properties

provider
provider: string;
voice
voice: string;

VoiceSocketMetadata

Properties

expiresAt
expiresAt: string;
protocol
protocol: "cognidesk.voice.v1";
token
token: string;
url
url: string;

VoiceStartClientHints

Properties

locale?
optional locale?: string;
metadata?
optional metadata?: Record<string, unknown>;
userAgent?
optional userAgent?: string;

WidgetDefinition

Type Parameters

Type Parameter Default type
TKind extends string string
TInputSchema extends z.ZodType z.ZodType
TOutputSchema extends z.ZodType z.ZodType

Properties

input
input: TInputSchema;
kind
kind: TKind;
output
output: TOutputSchema;

WidgetPromptDefinition

Type Parameters

Type Parameter Default type
TWidget extends WidgetDefinition WidgetDefinition

Properties

input
input: output<TWidget["input"]>;
widget
widget: TWidget;

Type Aliases

ActionAudience

type ActionAudience = ChannelAudience;

AgentChannelPolicyMap

type AgentChannelPolicyMap = Record<string, AgentChannelPolicyOptions>;

AgentChannelPolicyOptions

type AgentChannelPolicyOptions = Record<string, AgentPolicyValue>;

AgentHandoffPolicyOptions

type AgentHandoffPolicyOptions = Record<string, AgentPolicyValue>;

AgentLogLevel

type AgentLogLevel = "trace" | "debug" | "info" | "error";

AgentModelAdapters

type AgentModelAdapters = { [Role in ModelRole]: ModelAdapter };

AgentModelSet

type AgentModelSet = AgentModelAdapters;

AgentPersonaOptions

type AgentPersonaOptions = Record<string, AgentPolicyValue>;

AgentPolicyValue

type AgentPolicyValue =
  | string
  | number
  | boolean
  | null
  | AgentPolicyValue[]
  | {
[key: string]: AgentPolicyValue;
};

AnyCustomRuntimeEvent

type AnyCustomRuntimeEvent = CustomRuntimeEventDefinition<string, z.ZodType>;

AnyTool

type AnyTool = ToolDefinition<string, z.ZodType, z.ZodType, boolean>;

ApprovalRequirement

type ApprovalRequirement = "never" | "policy" | "required";

ApprovalResolutionMode

type ApprovalResolutionMode = "approve" | "deny" | "edit" | "expire" | "cancel" | "return-to-agent";

CandidateFilterPredicate

type CandidateFilterPredicate<TApp, TConversation, TTurn> = (args) => boolean;

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown

Parameters

Parameter Type
args ApplicationContextParts\<TConversation, TTurn> & { activeJourneyId?: string; app: TApp; }

Returns

boolean


CapabilityAvailability

type CapabilityAvailability = z.infer<typeof CapabilityAvailabilitySchema>;

CapabilityAvailabilityInput

type CapabilityAvailabilityInput = z.input<typeof CapabilityAvailabilitySchema>;

CapabilityAvailabilityStatus

type CapabilityAvailabilityStatus = typeof capabilityAvailabilityStatuses[number];

CapabilityUseDecision

type CapabilityUseDecision =
  | {
  allowed: true;
  policy: ChannelPolicyConfig;
}
  | {
  allowed: false;
  blockers: {
     code: string;
     kind?: string;
     message: string;
  }[];
  code:   | "missing-channel-configuration"
     | "capability-not-enabled"
     | "capability-blocked"
     | "outbound-disabled"
     | "provider-direction-not-supported"
     | "missing-policy";
  message: string;
};

CapabilityUseRequest

type CapabilityUseRequest = z.infer<typeof CapabilityUseRequestSchema>;

CapabilityUseRequestInput

type CapabilityUseRequestInput = z.input<typeof CapabilityUseRequestSchema>;

CategoryDataSourceDeclaration

type CategoryDataSourceDeclaration = z.infer<typeof CategoryDataSourceDeclarationSchema>;

CategoryDataSourceDeclarationInput

type CategoryDataSourceDeclarationInput = z.input<typeof CategoryDataSourceDeclarationSchema>;

CategoryEventDeclaration

type CategoryEventDeclaration = z.infer<typeof CategoryEventDeclarationSchema>;

CategoryEventDeclarationInput

type CategoryEventDeclarationInput = z.input<typeof CategoryEventDeclarationSchema>;

CategoryEventDirection

type CategoryEventDirection = typeof categoryEventDirections[number];

CategoryOperationCatalog

type CategoryOperationCatalog = z.infer<typeof CategoryOperationCatalogSchema>;

CategoryOperationCatalogEntry

type CategoryOperationCatalogEntry = CategoryOperationDeclaration;

CategoryOperationCatalogEntryInput

type CategoryOperationCatalogEntryInput = CategoryOperationDeclarationInput;

CategoryOperationCatalogInput

type CategoryOperationCatalogInput = z.input<typeof CategoryOperationCatalogSchema>;

CategoryOperationDeclaration

type CategoryOperationDeclaration = z.infer<typeof CategoryOperationDeclarationSchema>;

CategoryOperationDeclarationInput

type CategoryOperationDeclarationInput = z.input<typeof CategoryOperationDeclarationSchema>;

CategoryOperationLevel

type CategoryOperationLevel = typeof categoryOperationLevels[number];

CategoryOutputDeclaration

type CategoryOutputDeclaration = z.infer<typeof CategoryOutputDeclarationSchema>;

CategoryOutputDeclarationInput

type CategoryOutputDeclarationInput = z.input<typeof CategoryOutputDeclarationSchema>;

ChannelAdapterVerificationResult

type ChannelAdapterVerificationResult =
  | {
  evidence?: Record<string, unknown>;
  verified: true;
}
  | {
  metadata?: Record<string, unknown>;
  reason?: string;
  reasonCode?: string;
  verified: false;
};

ChannelAudience

type ChannelAudience = typeof channelAudiences[number];

ChannelBehaviorPolicy

type ChannelBehaviorPolicy = z.infer<typeof ChannelBehaviorPolicySchema>;

ChannelBehaviorPolicyInput

type ChannelBehaviorPolicyInput = z.input<typeof ChannelBehaviorPolicySchema>;

ChannelCapability

type ChannelCapability = Extensible$1<CoreChannelCapability>;

ChannelCapabilityDeclaration

type ChannelCapabilityDeclaration = z.infer<typeof ChannelCapabilityDeclarationSchema>;

ChannelCapabilityFlags

type ChannelCapabilityFlags = z.infer<typeof ChannelCapabilityFlagsSchema>;

ChannelCapabilityFlagsInput

type ChannelCapabilityFlagsInput = z.input<typeof ChannelCapabilityFlagsSchema>;

ChannelContext

type ChannelContext = z.infer<typeof ChannelContextSchema>;

ChannelContextInput

type ChannelContextInput = Omit<z.input<typeof ChannelContextSchema>, "capabilities"> & {
  capabilities?: Partial<ChannelCapabilityFlagsInput>;
};

Type Declaration

Name Type
capabilities? Partial\<ChannelCapabilityFlagsInput>

ChannelEvent

type ChannelEvent<TPayload, TRawPayload> = ChannelEventEnvelope<TPayload, TRawPayload>;

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayload
TRawPayload unknown

ChannelEventActorType

type ChannelEventActorType = typeof channelEventActorTypes[number];

ChannelEventBindingOutcome

type ChannelEventBindingOutcome = typeof channelEventBindingOutcomes[number];

ChannelEventBindingStatus

type ChannelEventBindingStatus = typeof channelEventBindingStatuses[number];

ChannelEventDirection

type ChannelEventDirection = typeof channelEventDirections[number];

ChannelEventHandlingDisposition

type ChannelEventHandlingDisposition = ChannelEventHandlingDispositionKind;

ChannelEventHandlingDispositionKind

type ChannelEventHandlingDispositionKind = typeof channelEventHandlingDispositionKinds[number];

ChannelEventIntakeStatus

type ChannelEventIntakeStatus = typeof channelEventIntakeStatuses[number];

ChannelEventIntent

type ChannelEventIntent = Extensible<CoreChannelEventIntent>;

ChannelEventKind

type ChannelEventKind = ChannelEventNature;

ChannelEventNature

type ChannelEventNature = Extensible<CoreChannelEventNature>;

ChannelEventSourceType

type ChannelEventSourceType = typeof channelEventSourceTypes[number];

ChannelFlowActivation

type ChannelFlowActivation = z.infer<typeof ChannelFlowActivationSchema>;

ChannelFlowActivationInput

type ChannelFlowActivationInput = z.input<typeof ChannelFlowActivationSchema>;

ChannelHandoffPolicy

type ChannelHandoffPolicy = z.infer<typeof ChannelHandoffPolicySchema>;

ChannelHandoffPolicyInput

type ChannelHandoffPolicyInput = z.input<typeof ChannelHandoffPolicySchema>;

ChannelOutboundPolicy

type ChannelOutboundPolicy = z.infer<typeof ChannelOutboundPolicySchema>;

ChannelOutboundPolicyInput

type ChannelOutboundPolicyInput = z.input<typeof ChannelOutboundPolicySchema>;

ChannelOutputDeliveryMode

type ChannelOutputDeliveryMode = typeof channelOutputDeliveryModes[number];

ChannelOutputIntentKind

type ChannelOutputIntentKind = Extensible<CoreChannelOutputIntentKind>;

ChannelOutputProducerType

type ChannelOutputProducerType = typeof channelOutputProducerTypes[number];

ChannelOutputResolutionOutcome

type ChannelOutputResolutionOutcome = typeof channelOutputResolutionOutcomes[number];

ChannelOutputResolutionStatus

type ChannelOutputResolutionStatus = typeof channelOutputResolutionStatuses[number];

ChannelPolicyConfig

type ChannelPolicyConfig = z.infer<typeof ChannelPolicyConfigSchema>;

ChannelPolicyConfigInput

type ChannelPolicyConfigInput = z.input<typeof ChannelPolicyConfigSchema>;

ChannelSetConfig

type ChannelSetConfig = z.infer<typeof ChannelSetConfigSchema>;

ChannelSetConfigInput

type ChannelSetConfigInput = z.input<typeof ChannelSetConfigSchema>;

ChannelSourceEvidence

type ChannelSourceEvidence<TRawPayload> = ChannelEventSourceEvidence<TRawPayload>;

Type Parameters

Type Parameter Default type
TRawPayload unknown

ContextPath

type ContextPath<T> = T extends Primitive ? never : T extends readonly unknown[] ? never : { [K in StringKey<T>]: T[K] extends Primitive | readonly unknown[] ? K : K | `${K}.${ContextPath<T[K]>}` }[StringKey<T>];

Type Parameters

Type Parameter
T

ContextReusePredicate

type ContextReusePredicate<TApp, TConversation, TTurn, TContext> = (args) => MaybePromise$1<boolean>;

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown
TContext unknown

Parameters

Parameter Type
args ApplicationContextParts\<TConversation, TTurn> & { activeJourneyId?: string; app: TApp; journeyId: string; previousContext: TContext; }

Returns

MaybePromise$1\<boolean>


ConversationChannel

type ConversationChannel =
  | ConversationChannelKind
  | ChannelContext;

ConversationChannelInput

type ConversationChannelInput =
  | ConversationChannelKind
  | ChannelContextInput;

ConversationChannelKind

type ConversationChannelKind = Extensible$1<CoreConversationChannel>;

ConversationCompactionSummary

type ConversationCompactionSummary = z.infer<typeof conversationCompactionSummarySchema>;

ConversationLifecycle

type ConversationLifecycle = "active" | "handoff" | "closed";

CoreChannelCapability

type CoreChannelCapability = typeof coreChannelCapabilities[number];

CoreChannelEventActor

type CoreChannelEventActor = ChannelEventActorType;

CoreChannelEventDirection

type CoreChannelEventDirection = ChannelEventDirection;

CoreChannelEventIntent

type CoreChannelEventIntent = typeof coreChannelEventIntents[number];

CoreChannelEventKind

type CoreChannelEventKind = CoreChannelEventNature;

CoreChannelEventNature

type CoreChannelEventNature = typeof coreChannelEventNatures[number];

CoreChannelOutputIntentKind

type CoreChannelOutputIntentKind = typeof coreChannelOutputIntentKinds[number];

CoreConversationChannel

type CoreConversationChannel = typeof coreConversationChannels[number];

CoreProviderCategory

type CoreProviderCategory = typeof coreProviderCategories[number];

EventRoutingMode

type EventRoutingMode = "none" | "activeJourneyOnly" | "full" | "targeted";

GuardContext

type GuardContext<TApp, TJourneyContext> = {
  app: TApp;
  context: TJourneyContext;
};

Type Parameters

Type Parameter
TApp
TJourneyContext

Properties

app
app: TApp;
context
context: TJourneyContext;

GuardResult

type GuardResult =
  | boolean
  | {
  allow: true;
}
  | {
  allow: false;
  code: string;
  message?: string;
  metadata?: Record<string, unknown>;
  prompt?: WidgetPromptDefinition<WidgetDefinition>;
};

InferSchema

type InferSchema<TSchema> = z.infer<TSchema>;

Type Parameters

Type Parameter
TSchema extends z.ZodType

IntegrationCategoryProfile

type IntegrationCategoryProfile = z.infer<typeof IntegrationCategoryProfileSchema>;

IntegrationCategoryProfileInput

type IntegrationCategoryProfileInput = z.input<typeof IntegrationCategoryProfileSchema>;

JourneyActivationPredicate

type JourneyActivationPredicate<TApp, TConversation, TTurn> = (args) => MaybePromise$1<boolean>;

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown

Parameters

Parameter Type
args ApplicationContextParts\<TConversation, TTurn> & { activeJourneyId?: string; app: TApp; }

Returns

MaybePromise$1\<boolean>


JourneyEntryPredicate

type JourneyEntryPredicate<TApp, TConversation, TTurn, TContext> = (args) => MaybePromise$1<boolean>;

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown
TContext unknown

Parameters

Parameter Type
args ApplicationContextParts\<TConversation, TTurn> & { activeJourneyId?: string; app: TApp; context: TContext; journeyId: string; }

Returns

MaybePromise$1\<boolean>


JourneyGuardPredicate

type JourneyGuardPredicate<TApp, TConversation, TTurn> = (args) => MaybePromise$1<GuardResult>;

Type Parameters

Type Parameter Default type
TApp unknown
TConversation unknown
TTurn unknown

Parameters

Parameter Type
args ApplicationContextParts\<TConversation, TTurn> & { activeJourneyId?: string; app: TApp; journeyId: string; }

Returns

MaybePromise$1\<GuardResult>


JourneyIndex

type JourneyIndex = z.infer<typeof journeyIndexSchema>;

JourneyIndexEmbedding

type JourneyIndexEmbedding = z.infer<typeof journeyIndexEmbeddingSchema>;

JourneyIndexEntry

type JourneyIndexEntry = z.infer<typeof journeyIndexEntrySchema>;

ModelPromptProfileRender

type ModelPromptProfileRender = (input) => string | Promise<string>;

Parameters

Parameter Type
input ModelPromptProfileRenderInput

Returns

string | Promise\<string>


ModelRole

type ModelRole =
  | "response"
  | "matcher"
  | "extraction"
  | "citationPostProcessing"
  | "journeyEmbedding"
  | "compaction";

ModelVisiblePromptPayload

type ModelVisiblePromptPayload = Record<string, unknown>;

NormalizedChannelPayloadInput

type NormalizedChannelPayloadInput = NormalizedChannelPayload & Record<string, unknown>;

ObjectSchema

type ObjectSchema = z.ZodObject<Record<string, z.ZodType>>;

PromptProfileRole

type PromptProfileRole = Exclude<ModelRole, "journeyEmbedding">;

PromptTask

type PromptTask =
  | "response"
  | "journey-matcher"
  | "transition-matcher"
  | "delegation-completion"
  | "extraction"
  | "citation-post-processing"
  | "compaction"
  | "generated-preamble";

ProviderCapabilityCoverage

type ProviderCapabilityCoverage = typeof providerCapabilityCoverageLevels[number];

ProviderCapabilityCoverageReport

type ProviderCapabilityCoverageReport = z.infer<typeof ProviderCapabilityCoverageReportSchema>;

ProviderCategory

type ProviderCategory = Extensible$1<CoreProviderCategory>;

ProviderCoverage

type ProviderCoverage = z.infer<typeof ProviderCoverageSchema>;

ProviderCoverageInput

type ProviderCoverageInput = z.input<typeof ProviderCoverageSchema>;

ProviderCoverageScope

type ProviderCoverageScope = z.infer<typeof ProviderCoverageScopeSchema>;

ProviderCredentialRequirement

type ProviderCredentialRequirement = z.infer<typeof ProviderCredentialRequirementSchema>;

ProviderCredentialState

type ProviderCredentialState = typeof providerCredentialStatuses[number];

ProviderCredentialStatus

type ProviderCredentialStatus = z.infer<typeof ProviderCredentialStatusSchema>;

ProviderCredentialStatusInput

type ProviderCredentialStatusInput = z.input<typeof ProviderCredentialStatusSchema>;

ProviderDirection

type ProviderDirection = typeof providerDirections[number];

ProviderManifest

type ProviderManifest = z.infer<typeof ProviderManifestSchema>;

ProviderManifestInput

type ProviderManifestInput = z.input<typeof ProviderManifestSchema>;

ProviderObjectDescriptor

type ProviderObjectDescriptor = z.infer<typeof ProviderObjectDescriptorSchema>;

ProviderOperationCoverageMismatch

type ProviderOperationCoverageMismatch = z.infer<typeof ProviderOperationCoverageMismatchSchema>;

ProviderOperationDeclaration

type ProviderOperationDeclaration = z.infer<typeof ProviderOperationDeclarationSchema>;

ProviderOperationDeclarationInput

type ProviderOperationDeclarationInput = z.input<typeof ProviderOperationDeclarationSchema>;

ProviderReadiness

type ProviderReadiness = z.infer<typeof ProviderReadinessSchema>;

ProviderReadinessInput

type ProviderReadinessInput = z.input<typeof ProviderReadinessSchema>;

ProviderRegistryQuery

type ProviderRegistryQuery = z.infer<typeof ProviderRegistryQuerySchema>;

ProviderRegistryQueryInput

type ProviderRegistryQueryInput = z.input<typeof ProviderRegistryQuerySchema>;

ProviderTrustLevel

type ProviderTrustLevel = typeof providerTrustLevels[number];

RuntimeApprovalOutcome

type RuntimeApprovalOutcome = "allow" | "require-approval" | "draft" | "deny" | "defer" | "handoff";

RuntimeEvent

type RuntimeEvent =
  | RuntimeEventBase<"message.started", {
  role: "assistant" | "user";
}>
  | RuntimeEventBase<"message.delta", {
  textDelta: string;
}>
  | RuntimeEventBase<"message.completed", {
  intermediate?: boolean;
  segments?: MessageSegment[];
  text: string;
  usage?: UsageRecord;
  visibleToModel?: boolean;
}>
  | RuntimeEventBase<"message.generated", {
  channel?: ChannelContext;
  policyApplied?: {
     maxCharacters?: number;
     maxWords?: number;
     truncated?: boolean;
  };
  textLength: number;
  toolCallCount?: number;
  usage?: UsageRecord;
}>
  | RuntimeEventBase<"message.aborted", {
  partialText?: string;
  reason: string;
}>
  | RuntimeEventBase<"channel.event.received", {
  actor?: ChannelEventActor;
  bindingOutcome: ChannelEventBindingOutcome;
  channel: ChannelContext;
  direction?: ChannelEventDirection;
  eventId?: string;
  handlingDisposition: ChannelEventHandlingDisposition;
  identity?: ChannelEventIdentity;
  intent?: ChannelEventIntent;
  kind: ChannelEventKind;
  metadata?: Record<string, unknown>;
  occurredAt?: string;
  payload?: unknown;
  source?: ChannelSourceEvidence;
}>
  | RuntimeEventBase<"channel.received", {
  channel: ChannelContext;
  payload?: unknown;
  text?: string;
}>
  | RuntimeEventBase<"channel.sent", {
  channel: ChannelContext;
  payload?: unknown;
  text?: string;
}>
  | RuntimeEventBase<"channel.delivery.updated", {
  channel: ChannelContext;
  payload?: unknown;
  status: string;
}>
  | RuntimeEventBase<"channel.thread.linked", {
  channel: ChannelContext;
  previousChannel?: ChannelContext;
  reason?: string;
}>
  | RuntimeEventBase<"voice.segment.started", {
  adapter: string;
  channelSegmentId: string;
  connectionId: string;
  provider?: string;
}>
  | RuntimeEventBase<"voice.segment.ended", {
  channelSegmentId: string;
  connectionId?: string;
  reason?: string;
}>
  | RuntimeEventBase<"voice.connection.failed", {
  channelSegmentId: string;
  code: string;
  connectionId?: string;
  message: string;
  retryable?: boolean;
}>
  | RuntimeEventBase<"voice.interrupted", {
  channelSegmentId: string;
  connectionId?: string;
  interruptedMessageId?: string;
  offsetMs?: number;
  reason?: string;
  recordingReferenceId?: string;
  source?: "userSpeech" | "adapter" | "provider";
}>
  | RuntimeEventBase<"voice.recording.started", {
  channelSegmentId: string;
  policy?: unknown;
  recordingReferenceId: string;
}>
  | RuntimeEventBase<"voice.recording.completed", {
  channelSegmentId: string;
  endedAt?: string;
  metadata?: unknown;
  recordingReferenceId: string;
  startedAt?: string;
  uri?: string;
}>
  | RuntimeEventBase<"voice.transcript.committed", {
  channelSegmentId: string;
  endedAtMs?: number;
  messageEventId: string;
  metadata?: unknown;
  recordingReferenceId?: string;
  speaker: "user" | "assistant";
  startedAtMs?: number;
  transcriptionSource?: string;
}>
  | RuntimeEventBase<"journey.candidates.retrieved", {
  journeyIds: string[];
}>
  | RuntimeEventBase<"journey.matched", {
  candidates: {
     confidence: number;
     journeyId: string;
     reason?: string;
  }[];
}>
  | RuntimeEventBase<"journey.activated", {
  journeyId: string;
  previousJourneyId?: string;
}>
  | RuntimeEventBase<"journey.completed", {
  journeyId: string;
  reason?: string;
  stateId?: string;
}>
  | RuntimeEventBase<"journey.guard.denied", {
  code: string;
  journeyId: string;
  message?: string;
  metadata?: Record<string, unknown>;
  stateId?: string;
}>
  | RuntimeEventBase<"journey.event.emitted", {
  name: string;
  payload: unknown;
  routing: "none" | "activeJourneyOnly" | "full" | "targeted";
  target?: {
     journeyId?: string;
     stateId?: string;
  };
}>
  | RuntimeEventBase<"journey.state.entered", {
  journeyId: string;
  stateId: string;
}>
  | RuntimeEventBase<"journey.extraction.proposed", {
  fields: string[];
  journeyId: string;
  stateId: string;
}>
  | RuntimeEventBase<"journey.extraction.accepted", {
  fields: string[];
  journeyId: string;
  stateId: string;
}>
  | RuntimeEventBase<"action.started", {
  actionName: string;
  journeyId?: string;
  stateId?: string;
}>
  | RuntimeEventBase<"action.completed", {
  actionName: string;
  error?: string;
  journeyId?: string;
  stateId?: string;
  success: boolean;
}>
  | RuntimeEventBase<"tool.started", {
  journeyId?: string;
  stateId?: string;
  toolName: string;
}>
  | RuntimeEventBase<"tool.completed", {
  approval?: {
     approvalId: string;
     status: "requested" | "resolved";
  };
  error?: string;
  journeyId?: string;
  policyBlock?: {
     blockers: {
        code: string;
        kind?: string;
        message: string;
     }[];
     code: string;
     message: string;
  };
  result?: unknown;
  stateId?: string;
  success: boolean;
  toolName: string;
}>
  | RuntimeEventBase<"approval.requested", {
  actionAudience?: string;
  approvalId: string;
  capability?: string;
  changesWorkflow?: boolean;
  channel?: ChannelContext;
  editableFields?: string[];
  expiresAt?: string;
  exposesSensitiveData?: boolean;
  externallyVisible?: boolean;
  input: unknown;
  journeyId?: string;
  metadata?: Record<string, unknown>;
  operationAlias?: string;
  outbound?: boolean;
  providerOperation?: string;
  providerPackageId?: string;
  reason?: string;
  sideEffect?: boolean;
  stateId?: string;
  supportedResolutions: ApprovalResolutionMode[];
  toolName: string;
}>
  | RuntimeEventBase<"approval.resolved", {
  approvalId: string;
  editedInput?: unknown;
  error?: string;
  executed?: boolean;
  metadata?: Record<string, unknown>;
  policyBlock?: {
     blockers: {
        code: string;
        kind?: string;
        message: string;
     }[];
     code: string;
     message: string;
  };
  reason?: string;
  resolution: ApprovalResolutionMode;
  resolvedBy?: string;
  result?: unknown;
  toolName?: string;
}>
  | RuntimeEventBase<"knowledge.retrieved", {
  itemIds: string[];
  sourceName: string;
}>
  | RuntimeEventBase<"context.resolved", {
  channel?: ChannelContext;
  keys: string[];
}>
  | RuntimeEventBase<"policy.evaluated", {
  agentChannelPolicyKeys?: string[];
  channel?: ChannelContext;
  channelPolicyId?: string;
  configuredPolicyIds?: string[];
  enabledCapabilities?: string[];
  handoffEnabled?: boolean;
  hasAgentHandoffPolicy?: boolean;
  outboundEnabled?: boolean;
  responseConstraints?: {
     maxCharacters?: number;
     maxWords?: number;
  };
}>
  | RuntimeEventBase<"ui.prompted", {
  input: unknown;
  promptId: string;
  widgetKind: string;
}>
  | RuntimeEventBase<"ui.submitted", {
  output: unknown;
  promptId: string;
  widgetKind: string;
}>
  | RuntimeEventBase<"conversation.compaction.started", {
  fromOffset: number;
  toOffset: number;
}>
  | RuntimeEventBase<"conversation.compaction.completed", {
  fromOffset: number;
  schemaVersion: string;
  toOffset: number;
}>
  | RuntimeEventBase<"handoff.requested", {
  payload?: unknown;
  reason: string;
  summary?: string;
  target?: {
     channelId?: string;
     destination?: string;
     externalConversationId?: string;
     policyId?: string;
     providerPackageId?: string;
     queue?: string;
  };
}>
  | RuntimeEventBase<"handoff.completed", {
  channel?: ChannelContext;
  payload?: unknown;
  policyId?: string;
  status: "accepted" | "adapter-completed";
  target?: {
     channelId?: string;
     destination?: string;
     externalConversationId?: string;
     policyId?: string;
     providerPackageId?: string;
     queue?: string;
  };
}>
  | RuntimeEventBase<"handoff.resumed", {
  payload?: unknown;
  reason?: string;
}>
  | RuntimeEventBase<"schedule.due", {
  dueAt: string;
  eventName: string;
  intent?: {
     capability?: string;
     operationAlias?: string;
     providerPackageId?: string;
     reason?: string;
  };
  metadata?: Record<string, unknown>;
  payload?: unknown;
  scheduledFor?: string;
  scheduleId: string;
}>
  | RuntimeEventBase<"conversation.closed", {
  reason?: string;
}>
  | RuntimeEventBase<"error", {
  code: string;
  details?: unknown;
  message: string;
}>
  | RuntimeEventBase<"eval.completed", {
  details?: unknown;
  scenarioId?: string;
  score?: number;
  success: boolean;
}>
| RuntimeEventBase<`custom.${string}`, unknown>;

RuntimeEventInput

type RuntimeEventInput<TType> = Omit<Extract<RuntimeEvent, {
  type: TType;
}>, "id" | "offset" | "createdAt" | "telemetry"> & {
  createdAt?: string;
  id?: string;
  telemetry?: RuntimeEvent["telemetry"];
};

Type Declaration

Name Type
createdAt? string
id? string
telemetry? RuntimeEvent["telemetry"]

Type Parameters

Type Parameter Default type
TType extends RuntimeEvent["type"] RuntimeEvent["type"]

ScheduleTrigger

type ScheduleTrigger =
  | {
  at: string | Date;
  kind: "at";
}
  | {
  kind: "after";
  milliseconds: number;
}
  | {
  expression: string;
  kind: "cron";
  timezone?: string;
};

SdkLogger

type SdkLogger = Pick<Logger, "trace" | "debug" | "info" | "warn" | "error" | "child">;

SdkLogLevel

type SdkLogLevel = AgentLogLevel;

SideEffectTool

type SideEffectTool = ToolDefinition<string, z.ZodType, z.ZodType, true>;

SupportReference

type SupportReference =
  | {
  id: string;
  metadata?: unknown;
  sourceName?: string;
  title?: string;
  type: "knowledge";
}
  | {
  id: string;
  type: "toolResult";
};

TelemetryContentMode

type TelemetryContentMode = "redacted" | "full";

TelemetrySpanRunner

type TelemetrySpanRunner<T> = (span) => MaybePromise$2<T>;

Type Parameters

Type Parameter
T

Parameters

Parameter Type
span Span

Returns

MaybePromise$2\<T>


ToolRunOptionsFor

type ToolRunOptionsFor<TTool, TContext> = TTool extends SideEffectTool ? ToolRunOptions<TTool, TContext> & {
  confirm: ConfirmationPolicy;
} : ToolRunOptions<TTool, TContext> & {
  confirm?: ConfirmationPolicy;
};

Type Parameters

Type Parameter
TTool extends AnyTool
TContext

VoiceConnectionStatus

type VoiceConnectionStatus = "starting" | "connected" | "ended" | "failed";

VoiceProfileOptions

type VoiceProfileOptions = VoiceProfile;

VoiceRuntimeEventInput

type VoiceRuntimeEventInput = Extract<RuntimeEventInput, {
  type: `voice.${string}`;
}>;

VoiceSpeaker

type VoiceSpeaker = "user" | "assistant";

Variables

ActionAudienceSchema

const ActionAudienceSchema: z.ZodEnum<{
  customer-facing: "customer-facing";
  internal-support: "internal-support";
  mixed: "mixed";
}>;

builtInTools

const builtInTools: {
  endConversationTool: ToolDefinition<"cognidesk.endConversation", z.ZodObject<{
     reason: z.ZodOptional<z.ZodString>;
   }, z.core.$strip>, z.ZodObject<{
     closed: z.ZodLiteral<true>;
  }, z.core.$strip>, true>;
  handoffTool: ToolDefinition<"cognidesk.handoff", z.ZodObject<{
     payload: z.ZodOptional<z.ZodUnknown>;
     reason: z.ZodString;
     summary: z.ZodOptional<z.ZodString>;
   }, z.core.$strip>, z.ZodObject<{
     handoffRequested: z.ZodLiteral<true>;
  }, z.core.$strip>, true>;
  journeyContextViewerTool: ToolDefinition<"cognidesk.viewJourneyContext", z.ZodObject<{
     fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
     journeyId: z.ZodString;
   }, z.core.$strip>, z.ZodObject<{
     context: z.ZodUnknown;
     journeyId: z.ZodString;
  }, z.core.$strip>, false>;
};

Type Declaration

Name Type
endConversationTool ToolDefinition\<"cognidesk.endConversation", z.ZodObject\<{ reason: z.ZodOptional\<z.ZodString>; }, z.core.$strip>, z.ZodObject\<{ closed: z.ZodLiteral\<true>; }, z.core.$strip>, true>
handoffTool ToolDefinition\<"cognidesk.handoff", z.ZodObject\<{ payload: z.ZodOptional\<z.ZodUnknown>; reason: z.ZodString; summary: z.ZodOptional\<z.ZodString>; }, z.core.$strip>, z.ZodObject\<{ handoffRequested: z.ZodLiteral\<true>; }, z.core.$strip>, true>
journeyContextViewerTool ToolDefinition\<"cognidesk.viewJourneyContext", z.ZodObject\<{ fields: z.ZodOptional\<z.ZodArray\<z.ZodString>>; journeyId: z.ZodString; }, z.core.$strip>, z.ZodObject\<{ context: z.ZodUnknown; journeyId: z.ZodString; }, z.core.$strip>, false>

builtInWidgets

const builtInWidgets: {
  choiceWidget: WidgetDefinition<"choice", z.ZodObject<{
     label: z.ZodString;
     options: z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        id: z.ZodString;
        label: z.ZodString;
     }, z.core.$strip>>;
   }, z.core.$strip>, z.ZodObject<{
     selectedId: z.ZodString;
  }, z.core.$strip>>;
  confirmationWidget: WidgetDefinition<"confirmation", z.ZodObject<{
     cancelLabel: z.ZodOptional<z.ZodString>;
     confirmLabel: z.ZodOptional<z.ZodString>;
     message: z.ZodString;
     title: z.ZodString;
   }, z.core.$strip>, z.ZodObject<{
     confirmed: z.ZodBoolean;
  }, z.core.$strip>>;
  datePickerWidget: WidgetDefinition<"date-picker", z.ZodObject<{
     label: z.ZodString;
     max: z.ZodOptional<z.ZodString>;
     min: z.ZodOptional<z.ZodString>;
   }, z.core.$strip>, z.ZodObject<{
     value: z.ZodString;
  }, z.core.$strip>>;
  formWidget: WidgetDefinition<"form", z.ZodObject<{
     fields: z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        label: z.ZodString;
        max: z.ZodOptional<z.ZodString>;
        min: z.ZodOptional<z.ZodString>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
           id: ...;
           label: ...;
        }, z.core.$strip>>>;
        path: z.ZodString;
        placeholder: z.ZodOptional<z.ZodString>;
        required: z.ZodDefault<z.ZodBoolean>;
        type: z.ZodEnum<{
           choice: "choice";
           date: "date";
           email: "email";
           number: "number";
           text: "text";
        }>;
     }, z.core.$strip>>;
     title: z.ZodString;
   }, z.core.$strip>, z.ZodObject<{
     values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
  }, z.core.$strip>>;
  textInputWidget: WidgetDefinition<"text-input", z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     label: z.ZodString;
     placeholder: z.ZodOptional<z.ZodString>;
   }, z.core.$strip>, z.ZodObject<{
     value: z.ZodString;
  }, z.core.$strip>>;
};

Type Declaration

Name Type
choiceWidget WidgetDefinition\<"choice", z.ZodObject\<{ label: z.ZodString; options: z.ZodArray\<z.ZodObject\<{ description: z.ZodOptional\<z.ZodString>; id: z.ZodString; label: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject\<{ selectedId: z.ZodString; }, z.core.$strip>>
confirmationWidget WidgetDefinition\<"confirmation", z.ZodObject\<{ cancelLabel: z.ZodOptional\<z.ZodString>; confirmLabel: z.ZodOptional\<z.ZodString>; message: z.ZodString; title: z.ZodString; }, z.core.$strip>, z.ZodObject\<{ confirmed: z.ZodBoolean; }, z.core.$strip>>
datePickerWidget WidgetDefinition\<"date-picker", z.ZodObject\<{ label: z.ZodString; max: z.ZodOptional\<z.ZodString>; min: z.ZodOptional\<z.ZodString>; }, z.core.$strip>, z.ZodObject\<{ value: z.ZodString; }, z.core.$strip>>
formWidget WidgetDefinition\<"form", z.ZodObject\<{ fields: z.ZodArray\<z.ZodObject\<{ description: z.ZodOptional\<z.ZodString>; label: z.ZodString; max: z.ZodOptional\<z.ZodString>; min: z.ZodOptional\<z.ZodString>; options: z.ZodOptional\<z.ZodArray\<z.ZodObject\<{ id: ...; label: ...; }, z.core.$strip>>>; path: z.ZodString; placeholder: z.ZodOptional\<z.ZodString>; required: z.ZodDefault\<z.ZodBoolean>; type: z.ZodEnum\<{ choice: "choice"; date: "date"; email: "email"; number: "number"; text: "text"; }>; }, z.core.$strip>>; title: z.ZodString; }, z.core.$strip>, z.ZodObject\<{ values: z.ZodRecord\<z.ZodString, z.ZodUnknown>; }, z.core.$strip>>
textInputWidget WidgetDefinition\<"text-input", z.ZodObject\<{ description: z.ZodOptional\<z.ZodString>; label: z.ZodString; placeholder: z.ZodOptional\<z.ZodString>; }, z.core.$strip>, z.ZodObject\<{ value: z.ZodString; }, z.core.$strip>>

CapabilityAvailabilitySchema

const CapabilityAvailabilitySchema: z.ZodObject<{
  blockers: z.ZodDefault<z.ZodArray<z.ZodObject<{
     code: z.ZodString;
     kind: z.ZodDefault<z.ZodEnum<{
        missing-configuration: "missing-configuration";
        missing-credentials: "missing-credentials";
        missing-policy: "missing-policy";
        permission-blocked: "permission-blocked";
        provider-unsupported: "provider-unsupported";
        unknown: "unknown";
     }>>;
     message: z.ZodString;
  }, z.core.$strip>>>;
  capability: z.ZodOptional<z.ZodString>;
  enabledForAgents: z.ZodDefault<z.ZodArray<z.ZodString>>;
  enabledForChannels: z.ZodDefault<z.ZodArray<z.ZodString>>;
  enabledForJourneys: z.ZodDefault<z.ZodArray<z.ZodString>>;
  enabledForTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  status: z.ZodEnum<{
     blocked: "blocked";
     configured: "configured";
     enabled: "enabled";
     installed: "installed";
     registry-available: "registry-available";
  }>;
}, z.core.$strip>;

capabilityAvailabilityStatuses

const capabilityAvailabilityStatuses: readonly ["registry-available", "installed", "configured", "enabled", "blocked"];

CapabilityAvailabilityStatusSchema

const CapabilityAvailabilityStatusSchema: z.ZodEnum<{
  blocked: "blocked";
  configured: "configured";
  enabled: "enabled";
  installed: "installed";
  registry-available: "registry-available";
}>;

CapabilityUseRequestSchema

const CapabilityUseRequestSchema: z.ZodObject<{
  actionAudience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  channel: z.ZodString;
  channelId: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  outbound: z.ZodOptional<z.ZodBoolean>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  requiredPolicyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

CategoryDataSourceDeclarationSchema

const CategoryDataSourceDeclarationSchema: z.ZodObject<{
  capability: z.ZodString;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  id: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  operationAlias: z.ZodOptional<z.ZodString>;
  providerObjects: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;

CategoryEventDeclarationSchema

const CategoryEventDeclarationSchema: z.ZodObject<{
  capability: z.ZodOptional<z.ZodString>;
  description: z.ZodOptional<z.ZodString>;
  direction: z.ZodEnum<{
     bidirectional: "bidirectional";
     inbound: "inbound";
     internal: "internal";
     outbound: "outbound";
  }>;
  kind: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  operationAlias: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

categoryEventDirections

const categoryEventDirections: readonly ["inbound", "outbound", "internal", "bidirectional"];

CategoryEventDirectionSchema

const CategoryEventDirectionSchema: z.ZodEnum<{
  bidirectional: "bidirectional";
  inbound: "inbound";
  internal: "internal";
  outbound: "outbound";
}>;

CategoryOperationCatalogEntrySchema

const CategoryOperationCatalogEntrySchema: z.ZodObject<{
  alias: z.ZodString;
  audience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  inputSchema: z.ZodOptional<z.ZodUnknown>;
  inputSchemaName: z.ZodOptional<z.ZodString>;
  inputSchemaRef: z.ZodOptional<z.ZodString>;
  label: z.ZodOptional<z.ZodString>;
  level: z.ZodDefault<z.ZodEnum<{
     extension: "extension";
     optional: "optional";
     recommended: "recommended";
     required: "required";
  }>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema: z.ZodOptional<z.ZodUnknown>;
  outputSchemaName: z.ZodOptional<z.ZodString>;
  outputSchemaRef: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
  providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  requiresApproval: z.ZodOptional<z.ZodBoolean>;
  requiresCredential: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

CategoryOperationCatalogSchema

const CategoryOperationCatalogSchema: z.ZodDefault<z.ZodArray<z.ZodObject<{
  alias: z.ZodString;
  audience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  inputSchema: z.ZodOptional<z.ZodUnknown>;
  inputSchemaName: z.ZodOptional<z.ZodString>;
  inputSchemaRef: z.ZodOptional<z.ZodString>;
  label: z.ZodOptional<z.ZodString>;
  level: z.ZodDefault<z.ZodEnum<{
     extension: "extension";
     optional: "optional";
     recommended: "recommended";
     required: "required";
  }>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema: z.ZodOptional<z.ZodUnknown>;
  outputSchemaName: z.ZodOptional<z.ZodString>;
  outputSchemaRef: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
  providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  requiresApproval: z.ZodOptional<z.ZodBoolean>;
  requiresCredential: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>>;

CategoryOperationDeclarationSchema

const CategoryOperationDeclarationSchema: z.ZodObject<{
  alias: z.ZodString;
  audience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  inputSchema: z.ZodOptional<z.ZodUnknown>;
  inputSchemaName: z.ZodOptional<z.ZodString>;
  inputSchemaRef: z.ZodOptional<z.ZodString>;
  label: z.ZodOptional<z.ZodString>;
  level: z.ZodDefault<z.ZodEnum<{
     extension: "extension";
     optional: "optional";
     recommended: "recommended";
     required: "required";
  }>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema: z.ZodOptional<z.ZodUnknown>;
  outputSchemaName: z.ZodOptional<z.ZodString>;
  outputSchemaRef: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
  providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  requiresApproval: z.ZodOptional<z.ZodBoolean>;
  requiresCredential: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

categoryOperationLevels

const categoryOperationLevels: readonly ["required", "recommended", "optional", "extension"];

CategoryOperationLevelSchema

const CategoryOperationLevelSchema: z.ZodEnum<{
  extension: "extension";
  optional: "optional";
  recommended: "recommended";
  required: "required";
}>;

CategoryOutputDeclarationSchema

const CategoryOutputDeclarationSchema: z.ZodObject<{
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  intent: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  operationAlias: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
  requiresApproval: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

channelAudiences

const channelAudiences: readonly ["customer-facing", "internal-support", "mixed"];

ChannelAudienceSchema

const ChannelAudienceSchema: z.ZodEnum<{
  customer-facing: "customer-facing";
  internal-support: "internal-support";
  mixed: "mixed";
}>;

ChannelBehaviorPolicySchema

const ChannelBehaviorPolicySchema: z.ZodObject<{
  allowMarkdown: z.ZodOptional<z.ZodBoolean>;
  allowWidgets: z.ZodOptional<z.ZodBoolean>;
  approval: z.ZodOptional<z.ZodUnknown>;
  draftFirst: z.ZodOptional<z.ZodBoolean>;
  handoff: z.ZodOptional<z.ZodUnknown>;
  maxCharacters: z.ZodOptional<z.ZodNumber>;
  maxWords: z.ZodOptional<z.ZodNumber>;
  media: z.ZodOptional<z.ZodUnknown>;
  sensitiveData: z.ZodOptional<z.ZodUnknown>;
  tone: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;

ChannelCapabilityDeclarationSchema

const ChannelCapabilityDeclarationSchema: z.ZodObject<{
  audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  extension: z.ZodOptional<z.ZodBoolean>;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  requiresCredential: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

ChannelCapabilityFlagsSchema

const ChannelCapabilityFlagsSchema: z.ZodDefault<z.ZodObject<{
  async: z.ZodDefault<z.ZodBoolean>;
  attachments: z.ZodDefault<z.ZodBoolean>;
  audioInput: z.ZodDefault<z.ZodBoolean>;
  audioOutput: z.ZodDefault<z.ZodBoolean>;
  buttons: z.ZodDefault<z.ZodBoolean>;
  deliveryReceipts: z.ZodDefault<z.ZodBoolean>;
  files: z.ZodDefault<z.ZodBoolean>;
  html: z.ZodDefault<z.ZodBoolean>;
  images: z.ZodDefault<z.ZodBoolean>;
  markdown: z.ZodDefault<z.ZodBoolean>;
  privateReplies: z.ZodDefault<z.ZodBoolean>;
  publicReplies: z.ZodDefault<z.ZodBoolean>;
  quickReplies: z.ZodDefault<z.ZodBoolean>;
  readReceipts: z.ZodDefault<z.ZodBoolean>;
  realtime: z.ZodDefault<z.ZodBoolean>;
  richText: z.ZodDefault<z.ZodBoolean>;
  supportsHumanTransfer: z.ZodDefault<z.ZodBoolean>;
  templates: z.ZodDefault<z.ZodBoolean>;
  threaded: z.ZodDefault<z.ZodBoolean>;
  typingIndicator: z.ZodDefault<z.ZodBoolean>;
  voice: z.ZodDefault<z.ZodBoolean>;
  widgets: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>>;

ChannelCapabilitySchema

const ChannelCapabilitySchema: z.ZodString;

ChannelContextSchema

const ChannelContextSchema: z.ZodObject<{
  capabilities: z.ZodDefault<z.ZodDefault<z.ZodObject<{
     async: z.ZodDefault<z.ZodBoolean>;
     attachments: z.ZodDefault<z.ZodBoolean>;
     audioInput: z.ZodDefault<z.ZodBoolean>;
     audioOutput: z.ZodDefault<z.ZodBoolean>;
     buttons: z.ZodDefault<z.ZodBoolean>;
     deliveryReceipts: z.ZodDefault<z.ZodBoolean>;
     files: z.ZodDefault<z.ZodBoolean>;
     html: z.ZodDefault<z.ZodBoolean>;
     images: z.ZodDefault<z.ZodBoolean>;
     markdown: z.ZodDefault<z.ZodBoolean>;
     privateReplies: z.ZodDefault<z.ZodBoolean>;
     publicReplies: z.ZodDefault<z.ZodBoolean>;
     quickReplies: z.ZodDefault<z.ZodBoolean>;
     readReceipts: z.ZodDefault<z.ZodBoolean>;
     realtime: z.ZodDefault<z.ZodBoolean>;
     richText: z.ZodDefault<z.ZodBoolean>;
     supportsHumanTransfer: z.ZodDefault<z.ZodBoolean>;
     templates: z.ZodDefault<z.ZodBoolean>;
     threaded: z.ZodDefault<z.ZodBoolean>;
     typingIndicator: z.ZodDefault<z.ZodBoolean>;
     voice: z.ZodDefault<z.ZodBoolean>;
     widgets: z.ZodDefault<z.ZodBoolean>;
  }, z.core.$strip>>>;
  channelId: z.ZodString;
  externalConversationId: z.ZodOptional<z.ZodString>;
  externalMessageId: z.ZodOptional<z.ZodString>;
  externalThreadId: z.ZodOptional<z.ZodString>;
  externalUserId: z.ZodOptional<z.ZodString>;
  kind: z.ZodString;
  locale: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider: z.ZodOptional<z.ZodString>;
  timezone: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

ChannelEventActorSchema

const ChannelEventActorSchema: z.ZodObject<{
  displayName: z.ZodOptional<z.ZodString>;
  id: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  type: z.ZodEnum<{
     agent: "agent";
     application: "application";
     customer: "customer";
     operator: "operator";
     provider: "provider";
     scheduler: "scheduler";
     system: "system";
  }>;
}, z.core.$strip>;

channelEventActorTypes

const channelEventActorTypes: readonly ["customer", "agent", "operator", "provider", "system", "scheduler", "application"];

ChannelEventActorTypeSchema

const ChannelEventActorTypeSchema: z.ZodEnum<{
  agent: "agent";
  application: "application";
  customer: "customer";
  operator: "operator";
  provider: "provider";
  scheduler: "scheduler";
  system: "system";
}>;

channelEventBindingOutcomes

const channelEventBindingOutcomes: readonly ["start-new", "resume-existing", "link-and-start-new", "ignore", "defer", "handoff-review", "blocked"];

ChannelEventBindingOutcomeSchema

const ChannelEventBindingOutcomeSchema: z.ZodEnum<{
  blocked: "blocked";
  defer: "defer";
  handoff-review: "handoff-review";
  ignore: "ignore";
  link-and-start-new: "link-and-start-new";
  resume-existing: "resume-existing";
  start-new: "start-new";
}>;

channelEventBindingStatuses

const channelEventBindingStatuses: readonly ["bound", "created", "unbound", "not-required", "blocked"];

ChannelEventBindingStatusSchema

const ChannelEventBindingStatusSchema: z.ZodEnum<{
  blocked: "blocked";
  bound: "bound";
  created: "created";
  not-required: "not-required";
  unbound: "unbound";
}>;

channelEventDirections

const channelEventDirections: readonly ["inbound", "outbound", "internal"];

ChannelEventDirectionSchema

const ChannelEventDirectionSchema: z.ZodEnum<{
  inbound: "inbound";
  internal: "internal";
  outbound: "outbound";
}>;

ChannelEventEnvelopeInputSchema

const ChannelEventEnvelopeInputSchema: z.ZodObject<{
  actor: z.ZodOptional<z.ZodObject<{
     displayName: z.ZodOptional<z.ZodString>;
     id: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     type: z.ZodEnum<{
        agent: "agent";
        application: "application";
        customer: "customer";
        operator: "operator";
        provider: "provider";
        scheduler: "scheduler";
        system: "system";
     }>;
  }, z.core.$strip>>;
  channel: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
     capabilities: z.ZodDefault<z.ZodDefault<z.ZodObject<{
        async: ...;
        attachments: ...;
        audioInput: ...;
        audioOutput: ...;
        buttons: ...;
        deliveryReceipts: ...;
        files: ...;
        html: ...;
        images: ...;
        markdown: ...;
        privateReplies: ...;
        publicReplies: ...;
        quickReplies: ...;
        readReceipts: ...;
        realtime: ...;
        richText: ...;
        supportsHumanTransfer: ...;
        templates: ...;
        threaded: ...;
        typingIndicator: ...;
        voice: ...;
        widgets: ...;
     }, z.core.$strip>>>;
     channelId: z.ZodString;
     externalConversationId: z.ZodOptional<z.ZodString>;
     externalMessageId: z.ZodOptional<z.ZodString>;
     externalThreadId: z.ZodOptional<z.ZodString>;
     externalUserId: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     locale: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     provider: z.ZodOptional<z.ZodString>;
     timezone: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>]>;
  direction: z.ZodDefault<z.ZodEnum<{
     inbound: "inbound";
     internal: "internal";
     outbound: "outbound";
  }>>;
  id: z.ZodOptional<z.ZodString>;
  identity: z.ZodOptional<z.ZodObject<{
     dedupeKey: z.ZodOptional<z.ZodString>;
     idempotencyKey: z.ZodOptional<z.ZodString>;
     key: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     sequence: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
     streamId: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>;
  intent: z.ZodOptional<z.ZodString>;
  kind: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  nature: z.ZodOptional<z.ZodString>;
  occurredAt: z.ZodOptional<z.ZodString>;
  payload: z.ZodOptional<z.ZodUnknown>;
  source: z.ZodOptional<z.ZodObject<{
     deliveryId: z.ZodOptional<z.ZodString>;
     eventId: z.ZodOptional<z.ZodString>;
     externalObjectIds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     provider: z.ZodOptional<z.ZodString>;
     providerPackageId: z.ZodOptional<z.ZodString>;
     raw: z.ZodOptional<z.ZodUnknown>;
     receivedAt: z.ZodOptional<z.ZodString>;
     sourceId: z.ZodOptional<z.ZodString>;
     sourceType: z.ZodOptional<z.ZodEnum<{
        application: "application";
        operator-surface: "operator-surface";
        provider-adapter: "provider-adapter";
        schedule-adapter: "schedule-adapter";
     }>>;
     streamId: z.ZodOptional<z.ZodString>;
     verified: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>;
}, z.core.$loose>;

channelEventHandlingDispositionKinds

const channelEventHandlingDispositionKinds: readonly ["no-op", "record-only", "deterministic-journey-event", "model-turn", "output-resolution", "provider-operation", "handoff-review"];

ChannelEventHandlingDispositionKindSchema

const ChannelEventHandlingDispositionKindSchema: z.ZodEnum<{
  deterministic-journey-event: "deterministic-journey-event";
  handoff-review: "handoff-review";
  model-turn: "model-turn";
  no-op: "no-op";
  output-resolution: "output-resolution";
  provider-operation: "provider-operation";
  record-only: "record-only";
}>;

ChannelEventIdentitySchema

const ChannelEventIdentitySchema: z.ZodObject<{
  dedupeKey: z.ZodOptional<z.ZodString>;
  idempotencyKey: z.ZodOptional<z.ZodString>;
  key: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  sequence: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
  streamId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

channelEventIntakeStatuses

const channelEventIntakeStatuses: readonly ["accepted", "ignored", "deferred", "handoff-review", "blocked"];

ChannelEventIntakeStatusSchema

const ChannelEventIntakeStatusSchema: z.ZodEnum<{
  accepted: "accepted";
  blocked: "blocked";
  deferred: "deferred";
  handoff-review: "handoff-review";
  ignored: "ignored";
}>;

ChannelEventIntentSchema

const ChannelEventIntentSchema: z.ZodString;

ChannelEventNatureSchema

const ChannelEventNatureSchema: z.ZodString;

ChannelEventSourceEvidenceSchema

const ChannelEventSourceEvidenceSchema: z.ZodObject<{
  deliveryId: z.ZodOptional<z.ZodString>;
  eventId: z.ZodOptional<z.ZodString>;
  externalObjectIds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider: z.ZodOptional<z.ZodString>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  raw: z.ZodOptional<z.ZodUnknown>;
  receivedAt: z.ZodOptional<z.ZodString>;
  sourceId: z.ZodOptional<z.ZodString>;
  sourceType: z.ZodOptional<z.ZodEnum<{
     application: "application";
     operator-surface: "operator-surface";
     provider-adapter: "provider-adapter";
     schedule-adapter: "schedule-adapter";
  }>>;
  streamId: z.ZodOptional<z.ZodString>;
  verified: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

channelEventSourceTypes

const channelEventSourceTypes: readonly ["provider-adapter", "application", "schedule-adapter", "operator-surface"];

ChannelEventSourceTypeSchema

const ChannelEventSourceTypeSchema: z.ZodEnum<{
  application: "application";
  operator-surface: "operator-surface";
  provider-adapter: "provider-adapter";
  schedule-adapter: "schedule-adapter";
}>;

ChannelFlowActivationSchema

const ChannelFlowActivationSchema: z.ZodObject<{
  enabled: z.ZodDefault<z.ZodBoolean>;
  journeyId: z.ZodString;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  reason: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

ChannelHandoffPolicySchema

const ChannelHandoffPolicySchema: z.ZodObject<{
  destinations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  enabled: z.ZodDefault<z.ZodBoolean>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  sdkControlled: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

ChannelOutboundPolicySchema

const ChannelOutboundPolicySchema: z.ZodObject<{
  enabled: z.ZodDefault<z.ZodBoolean>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  requiresProviderOutboundSupport: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;

channelOutputDeliveryModes

const channelOutputDeliveryModes: readonly ["send", "draft", "provider-operation", "approval", "artifact", "notify", "handoff-review", "none"];

ChannelOutputDeliveryModeSchema

const ChannelOutputDeliveryModeSchema: z.ZodEnum<{
  approval: "approval";
  artifact: "artifact";
  draft: "draft";
  handoff-review: "handoff-review";
  none: "none";
  notify: "notify";
  provider-operation: "provider-operation";
  send: "send";
}>;

ChannelOutputIntentInputSchema

const ChannelOutputIntentInputSchema: z.ZodObject<{
  actionAudience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  attachments: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
  blockers: z.ZodOptional<z.ZodArray<z.ZodObject<{
     code: z.ZodString;
     kind: z.ZodOptional<z.ZodString>;
     message: z.ZodString;
  }, z.core.$strip>>>;
  body: z.ZodOptional<z.ZodString>;
  capability: z.ZodOptional<z.ZodString>;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
     capabilities: z.ZodDefault<z.ZodDefault<z.ZodObject<..., ...>>>;
     channelId: z.ZodString;
     externalConversationId: z.ZodOptional<z.ZodString>;
     externalMessageId: z.ZodOptional<z.ZodString>;
     externalThreadId: z.ZodOptional<z.ZodString>;
     externalUserId: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     locale: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     provider: z.ZodOptional<z.ZodString>;
     timezone: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>]>>;
  deliveryMode: z.ZodOptional<z.ZodEnum<{
     approval: "approval";
     artifact: "artifact";
     draft: "draft";
     handoff-review: "handoff-review";
     none: "none";
     notify: "notify";
     provider-operation: "provider-operation";
     send: "send";
  }>>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  id: z.ZodOptional<z.ZodString>;
  kind: z.ZodDefault<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  operationAlias: z.ZodOptional<z.ZodString>;
  outbound: z.ZodOptional<z.ZodBoolean>;
  payload: z.ZodOptional<z.ZodUnknown>;
  policyId: z.ZodOptional<z.ZodString>;
  policyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  producer: z.ZodOptional<z.ZodObject<{
     id: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     name: z.ZodOptional<z.ZodString>;
     type: z.ZodEnum<{
        agent: "agent";
        application: "application";
        journey: "journey";
        operator: "operator";
        policy: "policy";
        provider-adapter: "provider-adapter";
        schedule: "schedule";
        tool: "tool";
     }>;
  }, z.core.$strip>>;
  providerOperation: z.ZodOptional<z.ZodString>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  reason: z.ZodOptional<z.ZodString>;
  reasonCode: z.ZodOptional<z.ZodString>;
  reasonLabel: z.ZodOptional<z.ZodString>;
  requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
  source: z.ZodOptional<z.ZodObject<{
     deliveryId: z.ZodOptional<z.ZodString>;
     eventId: z.ZodOptional<z.ZodString>;
     externalObjectIds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     provider: z.ZodOptional<z.ZodString>;
     providerPackageId: z.ZodOptional<z.ZodString>;
     raw: z.ZodOptional<z.ZodUnknown>;
     receivedAt: z.ZodOptional<z.ZodString>;
     sourceId: z.ZodOptional<z.ZodString>;
     sourceType: z.ZodOptional<z.ZodEnum<{
        application: "application";
        operator-surface: "operator-surface";
        provider-adapter: "provider-adapter";
        schedule-adapter: "schedule-adapter";
     }>>;
     streamId: z.ZodOptional<z.ZodString>;
     verified: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>;
  subject: z.ZodOptional<z.ZodString>;
  text: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;

ChannelOutputIntentKindSchema

const ChannelOutputIntentKindSchema: z.ZodString;

ChannelOutputIntentProducerSchema

const ChannelOutputIntentProducerSchema: z.ZodObject<{
  id: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  name: z.ZodOptional<z.ZodString>;
  type: z.ZodEnum<{
     agent: "agent";
     application: "application";
     journey: "journey";
     operator: "operator";
     policy: "policy";
     provider-adapter: "provider-adapter";
     schedule: "schedule";
     tool: "tool";
  }>;
}, z.core.$strip>;

ChannelOutputPolicyReasonSchema

const ChannelOutputPolicyReasonSchema: z.ZodObject<{
  blockers: z.ZodOptional<z.ZodArray<z.ZodObject<{
     code: z.ZodString;
     kind: z.ZodOptional<z.ZodString>;
     message: z.ZodString;
  }, z.core.$strip>>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  policyId: z.ZodOptional<z.ZodString>;
  policyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  reason: z.ZodOptional<z.ZodString>;
  reasonCode: z.ZodOptional<z.ZodString>;
  reasonLabel: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

channelOutputProducerTypes

const channelOutputProducerTypes: readonly ["agent", "journey", "tool", "operator", "policy", "schedule", "application", "provider-adapter"];

ChannelOutputProducerTypeSchema

const ChannelOutputProducerTypeSchema: z.ZodEnum<{
  agent: "agent";
  application: "application";
  journey: "journey";
  operator: "operator";
  policy: "policy";
  provider-adapter: "provider-adapter";
  schedule: "schedule";
  tool: "tool";
}>;

ChannelOutputResolutionDecisionInputSchema

const ChannelOutputResolutionDecisionInputSchema: z.ZodObject<{
  actionAudience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  blockers: z.ZodOptional<z.ZodArray<z.ZodObject<{
     code: z.ZodString;
     kind: z.ZodOptional<z.ZodString>;
     message: z.ZodString;
  }, z.core.$strip>>>;
  capability: z.ZodOptional<z.ZodString>;
  deliveryMode: z.ZodOptional<z.ZodEnum<{
     approval: "approval";
     artifact: "artifact";
     draft: "draft";
     handoff-review: "handoff-review";
     none: "none";
     notify: "notify";
     provider-operation: "provider-operation";
     send: "send";
  }>>;
  editableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
  expiresAt: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  operationAlias: z.ZodOptional<z.ZodString>;
  outcome: z.ZodEnum<{
     approval-required: "approval-required";
     artifact: "artifact";
     block: "block";
     defer: "defer";
     draft: "draft";
     drop: "drop";
     handoff-review: "handoff-review";
     no-op: "no-op";
     notify: "notify";
     provider-operation: "provider-operation";
     send: "send";
  }>;
  payload: z.ZodOptional<z.ZodUnknown>;
  policyId: z.ZodOptional<z.ZodString>;
  policyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  providerOperation: z.ZodOptional<z.ZodString>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  reason: z.ZodOptional<z.ZodString>;
  reasonCode: z.ZodOptional<z.ZodString>;
  reasonLabel: z.ZodOptional<z.ZodString>;
  status: z.ZodOptional<z.ZodEnum<{
     blocked: "blocked";
     deferred: "deferred";
     no-op: "no-op";
     pending: "pending";
     resolved: "resolved";
  }>>;
  supportedApprovalResolutions: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$loose>;

channelOutputResolutionOutcomes

const channelOutputResolutionOutcomes: readonly ["send", "draft", "approval-required", "provider-operation", "artifact", "notify", "handoff-review", "defer", "block", "drop", "no-op"];

ChannelOutputResolutionOutcomeSchema

const ChannelOutputResolutionOutcomeSchema: z.ZodEnum<{
  approval-required: "approval-required";
  artifact: "artifact";
  block: "block";
  defer: "defer";
  draft: "draft";
  drop: "drop";
  handoff-review: "handoff-review";
  no-op: "no-op";
  notify: "notify";
  provider-operation: "provider-operation";
  send: "send";
}>;

channelOutputResolutionStatuses

const channelOutputResolutionStatuses: readonly ["resolved", "pending", "deferred", "blocked", "no-op"];

ChannelOutputResolutionStatusSchema

const ChannelOutputResolutionStatusSchema: z.ZodEnum<{
  blocked: "blocked";
  deferred: "deferred";
  no-op: "no-op";
  pending: "pending";
  resolved: "resolved";
}>;

ChannelPolicyConfigSchema

const ChannelPolicyConfigSchema: z.ZodObject<{
  audience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  behavior: z.ZodOptional<z.ZodObject<{
     allowMarkdown: z.ZodOptional<z.ZodBoolean>;
     allowWidgets: z.ZodOptional<z.ZodBoolean>;
     approval: z.ZodOptional<z.ZodUnknown>;
     draftFirst: z.ZodOptional<z.ZodBoolean>;
     handoff: z.ZodOptional<z.ZodUnknown>;
     maxCharacters: z.ZodOptional<z.ZodNumber>;
     maxWords: z.ZodOptional<z.ZodNumber>;
     media: z.ZodOptional<z.ZodUnknown>;
     sensitiveData: z.ZodOptional<z.ZodUnknown>;
     tone: z.ZodOptional<z.ZodString>;
  }, z.core.$loose>>;
  channel: z.ZodString;
  channelSetIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  enabled: z.ZodDefault<z.ZodBoolean>;
  enabledCapabilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
  flowActivations: z.ZodDefault<z.ZodArray<z.ZodObject<{
     enabled: z.ZodDefault<z.ZodBoolean>;
     journeyId: z.ZodString;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     reason: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  handoff: z.ZodOptional<z.ZodObject<{
     destinations: z.ZodDefault<z.ZodArray<z.ZodString>>;
     enabled: z.ZodDefault<z.ZodBoolean>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     sdkControlled: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>;
  id: z.ZodString;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outbound: z.ZodOptional<z.ZodObject<{
     enabled: z.ZodDefault<z.ZodBoolean>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     policyIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
     requiresProviderOutboundSupport: z.ZodDefault<z.ZodBoolean>;
  }, z.core.$strip>>;
  policies: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;

ChannelSetConfigSchema

const ChannelSetConfigSchema: z.ZodObject<{
  channelIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
  channels: z.ZodDefault<z.ZodArray<z.ZodString>>;
  conversationContinuity: z.ZodOptional<z.ZodObject<{
     crossChannel: z.ZodDefault<z.ZodBoolean>;
     mode: z.ZodDefault<z.ZodEnum<{
        link-existing: "link-existing";
        new-conversation: "new-conversation";
        sdk-decides: "sdk-decides";
     }>>;
     policy: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>;
  enabled: z.ZodDefault<z.ZodBoolean>;
  id: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;

choiceWidget

const choiceWidget: WidgetDefinition<"choice", z.ZodObject<{
  label: z.ZodString;
  options: z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     id: z.ZodString;
     label: z.ZodString;
  }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
  selectedId: z.ZodString;
}, z.core.$strip>>;

confirmationWidget

const confirmationWidget: WidgetDefinition<"confirmation", z.ZodObject<{
  cancelLabel: z.ZodOptional<z.ZodString>;
  confirmLabel: z.ZodOptional<z.ZodString>;
  message: z.ZodString;
  title: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
  confirmed: z.ZodBoolean;
}, z.core.$strip>>;

ConversationChannelKindSchema

const ConversationChannelKindSchema: z.ZodString;

conversationCompactionSummarySchema

const conversationCompactionSummarySchema: z.ZodObject<{
  activeCommitments: z.ZodArray<z.ZodString>;
  openQuestions: z.ZodArray<z.ZodString>;
  stableFacts: z.ZodArray<z.ZodString>;
  summary: z.ZodString;
}, z.core.$strip>;

coreChannelCapabilities

const coreChannelCapabilities: readonly ["receive", "send", "draft", "thread", "attach", "media", "handoff", "schedule", "cleanup", "notify", "transfer", "artifact", "create-provider-object", "read-provider-object", "update-provider-object", "delete-provider-object", "search-provider-object", "link-provider-object"];

CoreChannelCapabilitySchema

const CoreChannelCapabilitySchema: z.ZodEnum<{
  artifact: "artifact";
  attach: "attach";
  cleanup: "cleanup";
  create-provider-object: "create-provider-object";
  delete-provider-object: "delete-provider-object";
  draft: "draft";
  handoff: "handoff";
  link-provider-object: "link-provider-object";
  media: "media";
  notify: "notify";
  read-provider-object: "read-provider-object";
  receive: "receive";
  schedule: "schedule";
  search-provider-object: "search-provider-object";
  send: "send";
  thread: "thread";
  transfer: "transfer";
  update-provider-object: "update-provider-object";
}>;

coreChannelEventActors

const coreChannelEventActors: readonly ["customer", "agent", "operator", "provider", "system", "scheduler", "application"];

coreChannelEventDirections

const coreChannelEventDirections: readonly ["inbound", "outbound", "internal"];

coreChannelEventIntents

const coreChannelEventIntents: readonly ["customer-message", "agent-message", "customer-voice-turn", "provider-update", "operator-resume", "outbound-contact", "channel-handoff", "scheduled-support-action", "output-resolution", "delivery-update", "handoff-review", "record-only"];

coreChannelEventKinds

const coreChannelEventKinds: readonly ["message", "voice.session.started", "voice.turn.finalized", "provider.object.updated", "operator.resume", "outbound.contact.requested", "channel.handoff.requested", "schedule.due", "output.resolution", "delivery.updated", "custom"];

coreChannelEventNatures

const coreChannelEventNatures: readonly ["message", "voice.session.started", "voice.turn.finalized", "provider.object.updated", "operator.resume", "outbound.contact.requested", "channel.handoff.requested", "schedule.due", "output.resolution", "delivery.updated", "custom"];

coreChannelOutputIntentKinds

const coreChannelOutputIntentKinds: readonly ["message.reply", "message.draft", "internal.note", "voice.reply", "provider.operation", "provider.object.update", "approval.request", "artifact.create", "notification.send", "handoff.review", "custom"];

coreConversationChannels

const coreConversationChannels: readonly ["chat", "voice", "email", "ticketing", "contactCenter", "messaging", "sms", "workplace", "social", "form", "helpCenter", "community", "ecommerce", "marketplace", "review", "video", "cobrowsing", "rcs"];

coreProviderCategories

const coreProviderCategories: readonly ["model", "storage", "chat", "voice", "email", "ticketing", "contactCenter", "handoff", "studio", "messaging", "sms", "workplace", "social", "form", "helpCenter", "community", "ecommerce", "marketplace", "review", "video", "cobrowsing", "rcs"];

datePickerWidget

const datePickerWidget: WidgetDefinition<"date-picker", z.ZodObject<{
  label: z.ZodString;
  max: z.ZodOptional<z.ZodString>;
  min: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
  value: z.ZodString;
}, z.core.$strip>>;

endConversationTool

const endConversationTool: ToolDefinition<"cognidesk.endConversation", z.ZodObject<{
  reason: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
  closed: z.ZodLiteral<true>;
}, z.core.$strip>, true>;

formWidget

const formWidget: WidgetDefinition<"form", z.ZodObject<{
  fields: z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     label: z.ZodString;
     max: z.ZodOptional<z.ZodString>;
     min: z.ZodOptional<z.ZodString>;
     options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        label: z.ZodString;
     }, z.core.$strip>>>;
     path: z.ZodString;
     placeholder: z.ZodOptional<z.ZodString>;
     required: z.ZodDefault<z.ZodBoolean>;
     type: z.ZodEnum<{
        choice: "choice";
        date: "date";
        email: "email";
        number: "number";
        text: "text";
     }>;
  }, z.core.$strip>>;
  title: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
  values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, z.core.$strip>>;

handoffTool

const handoffTool: ToolDefinition<"cognidesk.handoff", z.ZodObject<{
  payload: z.ZodOptional<z.ZodUnknown>;
  reason: z.ZodString;
  summary: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
  handoffRequested: z.ZodLiteral<true>;
}, z.core.$strip>, true>;

IntegrationCategoryProfileSchema

const IntegrationCategoryProfileSchema: z.ZodObject<{
  capabilities: z.ZodDefault<z.ZodArray<z.ZodObject<{
     audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>>;
     capability: z.ZodString;
     changesWorkflow: z.ZodOptional<z.ZodBoolean>;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     extension: z.ZodOptional<z.ZodBoolean>;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<...>;
        kind: z.ZodString;
        label: z.ZodOptional<...>;
        metadata: z.ZodOptional<...>;
        schemaName: z.ZodOptional<...>;
     }, z.core.$strip>>>;
     requiresCredential: z.ZodOptional<z.ZodBoolean>;
     sideEffect: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>>;
  category: z.ZodString;
  dataSources: z.ZodDefault<z.ZodArray<z.ZodObject<{
     capability: z.ZodString;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     id: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias: z.ZodOptional<z.ZodString>;
     providerObjects: z.ZodDefault<z.ZodArray<z.ZodString>>;
  }, z.core.$strip>>>;
  description: z.ZodOptional<z.ZodString>;
  events: z.ZodDefault<z.ZodArray<z.ZodObject<{
     capability: z.ZodOptional<z.ZodString>;
     description: z.ZodOptional<z.ZodString>;
     direction: z.ZodEnum<{
        bidirectional: "bidirectional";
        inbound: "inbound";
        internal: "internal";
        outbound: "outbound";
     }>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias: z.ZodOptional<z.ZodString>;
     providerObject: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  id: z.ZodOptional<z.ZodString>;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  notes: z.ZodDefault<z.ZodArray<z.ZodString>>;
  operations: z.ZodDefault<z.ZodArray<z.ZodObject<{
     alias: z.ZodString;
     audience: z.ZodOptional<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>;
     audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>>;
     capability: z.ZodString;
     changesWorkflow: z.ZodOptional<z.ZodBoolean>;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     externallyVisible: z.ZodOptional<z.ZodBoolean>;
     inputSchema: z.ZodOptional<z.ZodUnknown>;
     inputSchemaName: z.ZodOptional<z.ZodString>;
     inputSchemaRef: z.ZodOptional<z.ZodString>;
     label: z.ZodOptional<z.ZodString>;
     level: z.ZodDefault<z.ZodEnum<{
        extension: "extension";
        optional: "optional";
        recommended: "recommended";
        required: "required";
     }>>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     outputSchema: z.ZodOptional<z.ZodUnknown>;
     outputSchemaName: z.ZodOptional<z.ZodString>;
     outputSchemaRef: z.ZodOptional<z.ZodString>;
     providerObject: z.ZodOptional<z.ZodString>;
     providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<...>;
        kind: z.ZodString;
        label: z.ZodOptional<...>;
        metadata: z.ZodOptional<...>;
        schemaName: z.ZodOptional<...>;
     }, z.core.$strip>>>;
     requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
     requiresApproval: z.ZodOptional<z.ZodBoolean>;
     requiresCredential: z.ZodOptional<z.ZodBoolean>;
     sideEffect: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>>;
  outputs: z.ZodDefault<z.ZodArray<z.ZodObject<{
     capability: z.ZodString;
     changesWorkflow: z.ZodOptional<z.ZodBoolean>;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     externallyVisible: z.ZodOptional<z.ZodBoolean>;
     intent: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias: z.ZodOptional<z.ZodString>;
     providerObject: z.ZodOptional<z.ZodString>;
     requiresApproval: z.ZodOptional<z.ZodBoolean>;
     sideEffect: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>>;
  providerObjects: z.ZodDefault<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
}, z.core.$strip>;

JOURNEY_INDEX_PROJECTION_VERSION

const JOURNEY_INDEX_PROJECTION_VERSION: "cognidesk.journey-index.v1" = "cognidesk.journey-index.v1";

journeyContextViewerTool

const journeyContextViewerTool: ToolDefinition<"cognidesk.viewJourneyContext", z.ZodObject<{
  fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
  journeyId: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
  context: z.ZodUnknown;
  journeyId: z.ZodString;
}, z.core.$strip>, false>;

journeyIndexEmbeddingSchema

const journeyIndexEmbeddingSchema: z.ZodObject<{
  dimensions: z.ZodNumber;
  model: z.ZodString;
  vector: z.ZodArray<z.ZodNumber>;
}, z.core.$strip>;

journeyIndexEntrySchema

const journeyIndexEntrySchema: z.ZodObject<{
  alwaysInclude: z.ZodBoolean;
  condition: z.ZodString;
  definitionHash: z.ZodString;
  embedding: z.ZodObject<{
     dimensions: z.ZodNumber;
     model: z.ZodString;
     vector: z.ZodArray<z.ZodNumber>;
  }, z.core.$strip>;
  examples: z.ZodArray<z.ZodString>;
  journeyId: z.ZodString;
  kind: z.ZodEnum<{
     delegation: "delegation";
     stateMachine: "stateMachine";
  }>;
  priority: z.ZodNumber;
  routingText: z.ZodString;
  stickiness: z.ZodEnum<{
     high: "high";
     low: "low";
     medium: "medium";
  }>;
  tags: z.ZodArray<z.ZodString>;
}, z.core.$strip>;

journeyIndexSchema

const journeyIndexSchema: z.ZodObject<{
  agentId: z.ZodString;
  definitionHash: z.ZodString;
  embeddingModel: z.ZodString;
  embeddingProvider: z.ZodString;
  entries: z.ZodArray<z.ZodObject<{
     alwaysInclude: z.ZodBoolean;
     condition: z.ZodString;
     definitionHash: z.ZodString;
     embedding: z.ZodObject<{
        dimensions: z.ZodNumber;
        model: z.ZodString;
        vector: z.ZodArray<z.ZodNumber>;
     }, z.core.$strip>;
     examples: z.ZodArray<z.ZodString>;
     journeyId: z.ZodString;
     kind: z.ZodEnum<{
        delegation: "delegation";
        stateMachine: "stateMachine";
     }>;
     priority: z.ZodNumber;
     routingText: z.ZodString;
     stickiness: z.ZodEnum<{
        high: "high";
        low: "low";
        medium: "medium";
     }>;
     tags: z.ZodArray<z.ZodString>;
  }, z.core.$strip>>;
  generatedAt: z.ZodString;
  projectionVersion: z.ZodLiteral<"cognidesk.journey-index.v1">;
}, z.core.$strip>;

NormalizedChannelPayloadSchema

const NormalizedChannelPayloadSchema: z.ZodObject<{
  attachments: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
  body: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerObject: z.ZodOptional<z.ZodUnknown>;
  status: z.ZodOptional<z.ZodString>;
  subject: z.ZodOptional<z.ZodString>;
  summary: z.ZodOptional<z.ZodString>;
  text: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;

providerCapabilityCoverageLevels

const providerCapabilityCoverageLevels: readonly ["partial", "standard", "full"];

ProviderCapabilityCoverageReportSchema

const ProviderCapabilityCoverageReportSchema: z.ZodObject<{
  category: z.ZodString;
  categoryMatches: z.ZodBoolean;
  conformant: z.ZodBoolean;
  coverage: z.ZodEnum<{
     full: "full";
     partial: "partial";
     standard: "standard";
  }>;
  expectedCategory: z.ZodString;
  extensionOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  matchedOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  mismatchedOperations: z.ZodDefault<z.ZodArray<z.ZodObject<{
     actualCapability: z.ZodOptional<z.ZodString>;
     actualProviderObject: z.ZodOptional<z.ZodString>;
     alias: z.ZodString;
     expectedCapability: z.ZodOptional<z.ZodString>;
     expectedProviderObject: z.ZodOptional<z.ZodString>;
     reason: z.ZodEnum<{
        capability-mismatch: "capability-mismatch";
        missing: "missing";
        provider-object-mismatch: "provider-object-mismatch";
     }>;
  }, z.core.$strip>>>;
  missingOptionalOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  missingRecommendedOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  missingRequiredOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  providerPackageId: z.ZodString;
}, z.core.$strip>;

ProviderCapabilityCoverageSchema

const ProviderCapabilityCoverageSchema: z.ZodEnum<{
  full: "full";
  partial: "partial";
  standard: "standard";
}>;

ProviderCategorySchema

const ProviderCategorySchema: z.ZodString;

ProviderCoverageSchema

const ProviderCoverageSchema: z.ZodObject<{
  evidence: z.ZodDefault<z.ZodArray<z.ZodObject<{
     label: z.ZodString;
     url: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  notes: z.ZodDefault<z.ZodArray<z.ZodString>>;
  scope: z.ZodDefault<z.ZodEnum<{
     connector-required: "connector-required";
     full-provider-api: "full-provider-api";
     local-protocol: "local-protocol";
     provider-api-subset: "provider-api-subset";
     support-workflow-subset: "support-workflow-subset";
  }>>;
}, z.core.$strip>;

ProviderCoverageScopeSchema

const ProviderCoverageScopeSchema: z.ZodEnum<{
  connector-required: "connector-required";
  full-provider-api: "full-provider-api";
  local-protocol: "local-protocol";
  provider-api-subset: "provider-api-subset";
  support-workflow-subset: "support-workflow-subset";
}>;

ProviderCredentialRequirementSchema

const ProviderCredentialRequirementSchema: z.ZodObject<{
  description: z.ZodOptional<z.ZodString>;
  id: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  required: z.ZodDefault<z.ZodBoolean>;
  scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;

ProviderCredentialStateSchema

const ProviderCredentialStateSchema: z.ZodEnum<{
  configured: "configured";
  expired: "expired";
  insufficient-scope: "insufficient-scope";
  missing: "missing";
  not-required: "not-required";
  permission-blocked: "permission-blocked";
  required: "required";
  unavailable: "unavailable";
}>;

providerCredentialStatuses

const providerCredentialStatuses: readonly ["not-required", "required", "configured", "missing", "expired", "insufficient-scope", "permission-blocked", "unavailable"];

ProviderCredentialStatusSchema

const ProviderCredentialStatusSchema: z.ZodObject<{
  expiresAt: z.ZodOptional<z.ZodString>;
  message: z.ZodOptional<z.ZodString>;
  providerPackageId: z.ZodOptional<z.ZodString>;
  requirementId: z.ZodString;
  scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
  state: z.ZodEnum<{
     configured: "configured";
     expired: "expired";
     insufficient-scope: "insufficient-scope";
     missing: "missing";
     not-required: "not-required";
     permission-blocked: "permission-blocked";
     required: "required";
     unavailable: "unavailable";
  }>;
}, z.core.$strip>;

providerDirections

const providerDirections: readonly ["receive-only", "send-only", "inbound-only", "outbound-only", "bidirectional"];

ProviderDirectionSchema

const ProviderDirectionSchema: z.ZodEnum<{
  bidirectional: "bidirectional";
  inbound-only: "inbound-only";
  outbound-only: "outbound-only";
  receive-only: "receive-only";
  send-only: "send-only";
}>;

ProviderManifestSchema

const ProviderManifestSchema: z.ZodObject<{
  capabilities: z.ZodArray<z.ZodObject<{
     audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>>;
     capability: z.ZodString;
     changesWorkflow: z.ZodOptional<z.ZodBoolean>;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     extension: z.ZodOptional<z.ZodBoolean>;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        kind: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        metadata: z.ZodOptional<z.ZodRecord<..., ...>>;
        schemaName: z.ZodOptional<z.ZodString>;
     }, z.core.$strip>>>;
     requiresCredential: z.ZodOptional<z.ZodBoolean>;
     sideEffect: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>;
  category: z.ZodString;
  channelAudiences: z.ZodDefault<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  coverage: z.ZodDefault<z.ZodObject<{
     evidence: z.ZodDefault<z.ZodArray<z.ZodObject<{
        label: z.ZodString;
        url: z.ZodOptional<z.ZodString>;
     }, z.core.$strip>>>;
     notes: z.ZodDefault<z.ZodArray<z.ZodString>>;
     scope: z.ZodDefault<z.ZodEnum<{
        connector-required: "connector-required";
        full-provider-api: "full-provider-api";
        local-protocol: "local-protocol";
        provider-api-subset: "provider-api-subset";
        support-workflow-subset: "support-workflow-subset";
     }>>;
  }, z.core.$strip>>;
  credentialRequirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     id: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     required: z.ZodDefault<z.ZodBoolean>;
     scopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
  }, z.core.$strip>>>;
  directions: z.ZodArray<z.ZodEnum<{
     bidirectional: "bidirectional";
     inbound-only: "inbound-only";
     outbound-only: "outbound-only";
     receive-only: "receive-only";
     send-only: "send-only";
  }>>;
  id: z.ZodString;
  limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
  maintainers: z.ZodDefault<z.ZodArray<z.ZodObject<{
     name: z.ZodString;
     type: z.ZodDefault<z.ZodEnum<{
        community: "community";
        official: "official";
        partner: "partner";
        unknown: "unknown";
     }>>;
     url: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  name: z.ZodString;
  operations: z.ZodDefault<z.ZodArray<z.ZodObject<{
     alias: z.ZodString;
     audience: z.ZodOptional<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>;
     audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        customer-facing: "customer-facing";
        internal-support: "internal-support";
        mixed: "mixed";
     }>>>;
     capability: z.ZodString;
     changesWorkflow: z.ZodOptional<z.ZodBoolean>;
     description: z.ZodOptional<z.ZodString>;
     exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
     extension: z.ZodDefault<z.ZodBoolean>;
     externallyVisible: z.ZodOptional<z.ZodBoolean>;
     inputSchema: z.ZodOptional<z.ZodUnknown>;
     inputSchemaName: z.ZodOptional<z.ZodString>;
     inputSchemaRef: z.ZodOptional<z.ZodString>;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     outputSchema: z.ZodOptional<z.ZodUnknown>;
     outputSchemaName: z.ZodOptional<z.ZodString>;
     outputSchemaRef: z.ZodOptional<z.ZodString>;
     providerObject: z.ZodOptional<z.ZodString>;
     providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<...>;
        kind: z.ZodString;
        label: z.ZodOptional<...>;
        metadata: z.ZodOptional<...>;
        schemaName: z.ZodOptional<...>;
     }, z.core.$strip>>>;
     providerOperation: z.ZodOptional<z.ZodString>;
     requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
     requiresApproval: z.ZodOptional<z.ZodBoolean>;
     requiresCredential: z.ZodOptional<z.ZodBoolean>;
     sideEffect: z.ZodOptional<z.ZodBoolean>;
  }, z.core.$strip>>>;
  packageName: z.ZodString;
  privacyNotes: z.ZodDefault<z.ZodArray<z.ZodString>>;
  provider: z.ZodString;
  trustLevel: z.ZodDefault<z.ZodEnum<{
     community: "community";
     experimental: "experimental";
     official: "official";
     verified: "verified";
  }>>;
}, z.core.$strip>;

ProviderObjectDescriptorSchema

const ProviderObjectDescriptorSchema: z.ZodObject<{
  description: z.ZodOptional<z.ZodString>;
  kind: z.ZodString;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  schemaName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;

ProviderOperationCoverageMismatchSchema

const ProviderOperationCoverageMismatchSchema: z.ZodObject<{
  actualCapability: z.ZodOptional<z.ZodString>;
  actualProviderObject: z.ZodOptional<z.ZodString>;
  alias: z.ZodString;
  expectedCapability: z.ZodOptional<z.ZodString>;
  expectedProviderObject: z.ZodOptional<z.ZodString>;
  reason: z.ZodEnum<{
     capability-mismatch: "capability-mismatch";
     missing: "missing";
     provider-object-mismatch: "provider-object-mismatch";
  }>;
}, z.core.$strip>;

ProviderOperationDeclarationSchema

const ProviderOperationDeclarationSchema: z.ZodObject<{
  alias: z.ZodString;
  audience: z.ZodOptional<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>;
  audiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  capability: z.ZodString;
  changesWorkflow: z.ZodOptional<z.ZodBoolean>;
  description: z.ZodOptional<z.ZodString>;
  exposesSensitiveData: z.ZodOptional<z.ZodBoolean>;
  extension: z.ZodDefault<z.ZodBoolean>;
  externallyVisible: z.ZodOptional<z.ZodBoolean>;
  inputSchema: z.ZodOptional<z.ZodUnknown>;
  inputSchemaName: z.ZodOptional<z.ZodString>;
  inputSchemaRef: z.ZodOptional<z.ZodString>;
  label: z.ZodOptional<z.ZodString>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  outputSchema: z.ZodOptional<z.ZodUnknown>;
  outputSchemaName: z.ZodOptional<z.ZodString>;
  outputSchemaRef: z.ZodOptional<z.ZodString>;
  providerObject: z.ZodOptional<z.ZodString>;
  providerObjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
     description: z.ZodOptional<z.ZodString>;
     kind: z.ZodString;
     label: z.ZodOptional<z.ZodString>;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>>;
  providerOperation: z.ZodOptional<z.ZodString>;
  requiredPolicyIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
  requiresApproval: z.ZodOptional<z.ZodBoolean>;
  requiresCredential: z.ZodOptional<z.ZodBoolean>;
  sideEffect: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;

ProviderReadinessSchema

const ProviderReadinessSchema: z.ZodObject<{
  blockers: z.ZodDefault<z.ZodDefault<z.ZodArray<z.ZodObject<{
     code: z.ZodString;
     kind: z.ZodDefault<z.ZodEnum<{
        missing-configuration: "missing-configuration";
        missing-credentials: "missing-credentials";
        missing-policy: "missing-policy";
        permission-blocked: "permission-blocked";
        provider-unsupported: "provider-unsupported";
        unknown: "unknown";
     }>>;
     message: z.ZodString;
  }, z.core.$strip>>>>;
  checkedAt: z.ZodOptional<z.ZodString>;
  checkSource: z.ZodOptional<z.ZodString>;
  live: z.ZodOptional<z.ZodBoolean>;
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  providerPackageId: z.ZodString;
  remediationActions: z.ZodDefault<z.ZodArray<z.ZodObject<{
     id: z.ZodString;
     kind: z.ZodDefault<z.ZodEnum<{
        authorize: "authorize";
        configure: "configure";
        contact-provider: "contact-provider";
        custom: "custom";
        read-docs: "read-docs";
        verify: "verify";
     }>>;
     label: z.ZodString;
     metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  }, z.core.$strip>>>;
  sandbox: z.ZodOptional<z.ZodBoolean>;
  status: z.ZodDefault<z.ZodEnum<{
     blocked: "blocked";
     configured: "configured";
     full-api-verified: "full-api-verified";
     live-verified: "live-verified";
     not-configured: "not-configured";
     ready: "ready";
     sandbox-verified: "sandbox-verified";
     scoped-verified: "scoped-verified";
     unknown: "unknown";
  }>>;
}, z.core.$strip>;

ProviderRegistryQuerySchema

const ProviderRegistryQuerySchema: z.ZodObject<{
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
  category: z.ZodOptional<z.ZodString>;
  channelAudiences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     customer-facing: "customer-facing";
     internal-support: "internal-support";
     mixed: "mixed";
  }>>>;
  directions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     bidirectional: "bidirectional";
     inbound-only: "inbound-only";
     outbound-only: "outbound-only";
     receive-only: "receive-only";
     send-only: "send-only";
  }>>>;
  packageNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
  provider: z.ZodOptional<z.ZodString>;
  trustLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
     community: "community";
     experimental: "experimental";
     official: "official";
     verified: "verified";
  }>>>;
}, z.core.$strip>;

providerTrustLevels

const providerTrustLevels: readonly ["official", "verified", "community", "experimental"];

ProviderTrustLevelSchema

const ProviderTrustLevelSchema: z.ZodEnum<{
  community: "community";
  experimental: "experimental";
  official: "official";
  verified: "verified";
}>;

telemetryAttributes

const telemetryAttributes: {
  actionName: "cognidesk.action.name";
  agentId: "cognidesk.agent.id";
  conversationId: "cognidesk.conversation.id";
  errorType: "cognidesk.error.type";
  journeyId: "cognidesk.journey.id";
  knowledgeSourceName: "cognidesk.knowledge.source.name";
  modelName: "cognidesk.model.name";
  modelProvider: "cognidesk.model.provider";
  modelRole: "cognidesk.model.role";
  operation: "cognidesk.operation";
  promptTask: "cognidesk.prompt.task";
  stateId: "cognidesk.state.id";
  success: "cognidesk.success";
  toolName: "cognidesk.tool.name";
};

Type Declaration

Name Type
actionName "cognidesk.action.name"
agentId "cognidesk.agent.id"
conversationId "cognidesk.conversation.id"
errorType "cognidesk.error.type"
journeyId "cognidesk.journey.id"
knowledgeSourceName "cognidesk.knowledge.source.name"
modelName "cognidesk.model.name"
modelProvider "cognidesk.model.provider"
modelRole "cognidesk.model.role"
operation "cognidesk.operation"
promptTask "cognidesk.prompt.task"
stateId "cognidesk.state.id"
success "cognidesk.success"
toolName "cognidesk.tool.name"

telemetryEventNames

const telemetryEventNames: {
  knowledgeItems: "cognidesk.knowledge.items";
  modelInput: "cognidesk.model.input";
  modelOutput: "cognidesk.model.output";
  runtimeEvent: "cognidesk.runtime.event";
  toolInput: "cognidesk.tool.input";
  toolOutput: "cognidesk.tool.output";
  userMessage: "cognidesk.user.message";
};

Type Declaration

Name Type
knowledgeItems "cognidesk.knowledge.items"
modelInput "cognidesk.model.input"
modelOutput "cognidesk.model.output"
runtimeEvent "cognidesk.runtime.event"
toolInput "cognidesk.tool.input"
toolOutput "cognidesk.tool.output"
userMessage "cognidesk.user.message"

telemetrySpanNames

const telemetrySpanNames: {
  actionExecute: "cognidesk.action.execute";
  journeySelect: "cognidesk.journey.select";
  knowledgeRetrieve: "cognidesk.knowledge.retrieve";
  modelGenerate: "cognidesk.model.generate";
  runtimeCloseConversation: "cognidesk.runtime.close_conversation";
  runtimeCompactConversation: "cognidesk.runtime.compact_conversation";
  runtimeCreateConversation: "cognidesk.runtime.create_conversation";
  runtimeEmitCustomEvent: "cognidesk.runtime.emit_custom_event";
  runtimeEmitEvent: "cognidesk.runtime.emit_event";
  runtimeEmitGeneratedPreamble: "cognidesk.runtime.emit_generated_preamble";
  runtimeEmitIntermediateMessage: "cognidesk.runtime.emit_intermediate_message";
  runtimeEmitJourneyEvent: "cognidesk.runtime.emit_journey_event";
  runtimeGetSnapshot: "cognidesk.runtime.get_snapshot";
  runtimeHandleChannelEvent: "cognidesk.runtime.handle_channel_event";
  runtimeHandleUserMessage: "cognidesk.runtime.handle_user_message";
  runtimeInitialize: "cognidesk.runtime.initialize";
  runtimeListConversations: "cognidesk.runtime.list_conversations";
  runtimeListEvents: "cognidesk.runtime.list_events";
  runtimeReplayConversation: "cognidesk.runtime.replay_conversation";
  runtimeRequestHandoff: "cognidesk.runtime.request_handoff";
  runtimeResumeConversation: "cognidesk.runtime.resume_conversation";
  runtimeSubmitWidget: "cognidesk.runtime.submit_widget";
  toolExecute: "cognidesk.tool.execute";
};

Type Declaration

Name Type
actionExecute "cognidesk.action.execute"
journeySelect "cognidesk.journey.select"
knowledgeRetrieve "cognidesk.knowledge.retrieve"
modelGenerate "cognidesk.model.generate"
runtimeCloseConversation "cognidesk.runtime.close_conversation"
runtimeCompactConversation "cognidesk.runtime.compact_conversation"
runtimeCreateConversation "cognidesk.runtime.create_conversation"
runtimeEmitCustomEvent "cognidesk.runtime.emit_custom_event"
runtimeEmitEvent "cognidesk.runtime.emit_event"
runtimeEmitGeneratedPreamble "cognidesk.runtime.emit_generated_preamble"
runtimeEmitIntermediateMessage "cognidesk.runtime.emit_intermediate_message"
runtimeEmitJourneyEvent "cognidesk.runtime.emit_journey_event"
runtimeGetSnapshot "cognidesk.runtime.get_snapshot"
runtimeHandleChannelEvent "cognidesk.runtime.handle_channel_event"
runtimeHandleUserMessage "cognidesk.runtime.handle_user_message"
runtimeInitialize "cognidesk.runtime.initialize"
runtimeListConversations "cognidesk.runtime.list_conversations"
runtimeListEvents "cognidesk.runtime.list_events"
runtimeReplayConversation "cognidesk.runtime.replay_conversation"
runtimeRequestHandoff "cognidesk.runtime.request_handoff"
runtimeResumeConversation "cognidesk.runtime.resume_conversation"
runtimeSubmitWidget "cognidesk.runtime.submit_widget"
toolExecute "cognidesk.tool.execute"

textInputWidget

const textInputWidget: WidgetDefinition<"text-input", z.ZodObject<{
  description: z.ZodOptional<z.ZodString>;
  label: z.ZodString;
  placeholder: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
  value: z.ZodString;
}, z.core.$strip>>;

Functions

action()

function action<TName, TInputSchema>(name, config): ActionDefinition<TName, TInputSchema>;

Type Parameters

Type Parameter
TName extends string
TInputSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>

Parameters

Parameter Type
name TName
config { input: TInputSchema; requiresVisit?: boolean; retry?: | false | { maxAttempts?: number; notice?: string; }; run: (args) => MaybePromise$1\<void>; }
config.input TInputSchema
config.requiresVisit? boolean
config.retry? | false | { maxAttempts?: number; notice?: string; }
config.run (args) => MaybePromise$1\<void>

Returns

ActionDefinition\<TName, TInputSchema>


activeRuntimeEventTelemetry()

function activeRuntimeEventTelemetry(options): RuntimeEventTelemetry;

Parameters

Parameter Type
options TelemetryOptionsCarrier

Returns

RuntimeEventTelemetry


addTelemetryContentEvent()

function addTelemetryContentEvent(
   options,
   name,
   attributes): void;

Parameters

Parameter Type
options TelemetryOptionsCarrier
name string
attributes Record\<string, unknown>

Returns

void


after()

function after(input): ScheduleTrigger;

Parameters

Parameter Type
input { days?: number; hours?: number; milliseconds?: number; minutes?: number; seconds?: number; }
input.days? number
input.hours? number
input.milliseconds? number
input.minutes? number
input.seconds? number

Returns

ScheduleTrigger


at()

function at(atDate): ScheduleTrigger;

Parameters

Parameter Type
atDate string | Date

Returns

ScheduleTrigger


buildJourneyIndex()

function buildJourneyIndex(agent, options): Promise<{
  agentId: string;
  definitionHash: string;
  embeddingModel: string;
  embeddingProvider: string;
  entries: {
     alwaysInclude: boolean;
     condition: string;
     definitionHash: string;
     embedding: {
        dimensions: number;
        model: string;
        vector: number[];
     };
     examples: string[];
     journeyId: string;
     kind: "stateMachine" | "delegation";
     priority: number;
     routingText: string;
     stickiness: "low" | "medium" | "high";
     tags: string[];
  }[];
  generatedAt: string;
  projectionVersion: "cognidesk.journey-index.v1";
}>;

Parameters

Parameter Type
agent CompiledAgent
options BuildJourneyIndexOptions

Returns

Promise\<{ agentId: string; definitionHash: string; embeddingModel: string; embeddingProvider: string; entries: { alwaysInclude: boolean; condition: string; definitionHash: string; embedding: { dimensions: number; model: string; vector: number[]; }; examples: string[]; journeyId: string; kind: "stateMachine" | "delegation"; priority: number; routingText: string; stickiness: "low" | "medium" | "high"; tags: string[]; }[]; generatedAt: string; projectionVersion: "cognidesk.journey-index.v1"; }>


channelEventDedupeKey()

function channelEventDedupeKey(event): string;

Parameters

Parameter Type
event | ChannelEventEnvelopeInput\<unknown, unknown> | ChannelEventEnvelope\<unknown, unknown>

Returns

string


channelKindOf()

function channelKindOf(channel?): ConversationChannelKind;

Parameters

Parameter Type
channel? ConversationChannelInput

Returns

ConversationChannelKind


checkProviderCapabilityCoverage()

function checkProviderCapabilityCoverage(input): boolean;

Parameters

Parameter Type
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"; }; profile: { 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; dataSources?: { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]; description?: string; events?: { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]; id?: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; notes?: string[]; operations?: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; outputs?: { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]; providerObjects?: { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]; }; }
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"
input.profile { 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; dataSources?: { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]; description?: string; events?: { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]; id?: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; notes?: string[]; operations?: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; outputs?: { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]; providerObjects?: { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]; }
input.profile.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.profile.category string
input.profile.dataSources? { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]
input.profile.description? string
input.profile.events? { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]
input.profile.id? string
input.profile.label? string
input.profile.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
input.profile.notes? string[]
input.profile.operations? { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
input.profile.outputs? { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]
input.profile.providerObjects? { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]

Returns

boolean


collectEmailAttachmentMetadata()

function collectEmailAttachmentMetadata(attachments?): EmailAttachmentMetadata[];

Parameters

Parameter Type
attachments? EmailAttachmentMetadataInput[]

Returns

EmailAttachmentMetadata[]


createAgent()

function createAgent<TId>(id, options): AgentBuilder<TId>;

Type Parameters

Type Parameter
TId extends string

Parameters

Parameter Type
id TId
options AgentOptions

Returns

AgentBuilder\<TId>


createChannelEventInputFromSource()

function createChannelEventInputFromSource<TRaw, TTurn>(source, input): Promise<HandleChannelEventInput<unknown, TTurn>>;

Type Parameters

Type Parameter Default type
TRaw unknown
TTurn unknown

Parameters

Parameter Type
source ChannelEventSource\<TRaw>
input ChannelEventSourceHandleInput\<TRaw, TTurn>

Returns

Promise\<HandleChannelEventInput\<unknown, TTurn>>


createEmailThreadContext()

function createEmailThreadContext(messages, options?): EmailThreadContext;

Parameters

Parameter Type
messages EmailThreadMessageInput[]
options? EmailThreadContextOptions

Returns

EmailThreadContext


createInMemoryScheduleAdapter()

function createInMemoryScheduleAdapter(options?): ScheduleAdapter;

Parameters

Parameter Type
options? InMemoryScheduleAdapterOptions

Returns

ScheduleAdapter


createJourneyRoutingText()

function createJourneyRoutingText(journey): string;

Parameters

Parameter Type
journey CompiledJourney

Returns

string


createMessageChannelEvent()

function createMessageChannelEvent(input): ChannelEventEnvelopeInput;

Parameters

Parameter Type
input { actor?: | "provider" | ChannelEventActor | "customer" | "agent" | "operator" | "system" | "scheduler" | "application"; channel: ConversationChannelInput; direction?: "outbound" | "inbound" | "internal"; id?: string; identity?: ChannelEventIdentity; intent?: ChannelEventIntent; metadata?: Record\<string, unknown>; payload?: NormalizedChannelPayloadInput; source?: ChannelEventSourceEvidence; text: string; }
input.actor? | "provider" | ChannelEventActor | "customer" | "agent" | "operator" | "system" | "scheduler" | "application"
input.channel ConversationChannelInput
input.direction? "outbound" | "inbound" | "internal"
input.id? string
input.identity? ChannelEventIdentity
input.intent? ChannelEventIntent
input.metadata? Record\<string, unknown>
input.payload? NormalizedChannelPayloadInput
input.source? ChannelEventSourceEvidence
input.text string

Returns

ChannelEventEnvelopeInput


createProviderRegistry()

function createProviderRegistry(manifests?): ProviderRegistry;

Parameters

Parameter Type
manifests? { 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"; }[]

Returns

ProviderRegistry


createRuntime()

function createRuntime(options): CognideskRuntime;

Parameters

Parameter Type
options RuntimeOptions

Returns

CognideskRuntime


createRuntimeLogger()

function createRuntimeLogger(options): SdkLogger;

Parameters

Parameter Type
options RuntimeOptions

Returns

SdkLogger


createScheduledChannelEvent()

function createScheduledChannelEvent(input): ChannelEventEnvelopeInput;

Parameters

Parameter Type
input { channel?: ConversationChannelInput; conversationId?: string; dueAt: string; eventName: string; intent?: unknown; metadata?: Record\<string, unknown>; payload?: unknown; scheduledFor?: string; scheduleId: string; }
input.channel? ConversationChannelInput
input.conversationId? string
input.dueAt string
input.eventName string
input.intent? unknown
input.metadata? Record\<string, unknown>
input.payload? unknown
input.scheduledFor? string
input.scheduleId string

Returns

ChannelEventEnvelopeInput


createTelemetryContext()

function createTelemetryContext(options): TelemetryContext;

Parameters

Parameter Type
options TelemetryOptionsCarrier

Returns

TelemetryContext


cron()

function cron(expression, options?): ScheduleTrigger;

Parameters

Parameter Type
expression string
options? { timezone?: string; }
options.timezone? string

Returns

ScheduleTrigger


customRuntimeEvent()

function customRuntimeEvent<TName, TPayloadSchema>(name, config): CustomRuntimeEventDefinition<TName, TPayloadSchema>;

Type Parameters

Type Parameter
TName extends string
TPayloadSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>

Parameters

Parameter Type
name TName
config { payload: TPayloadSchema; visibleToModel?: boolean; }
config.payload TPayloadSchema
config.visibleToModel? boolean

Returns

CustomRuntimeEventDefinition\<TName, TPayloadSchema>


defaultChannelCapabilityFlags()

function defaultChannelCapabilityFlags(kind): {
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
};

Parameters

Parameter Type
kind ConversationChannelKind

Returns

{
  async: boolean;
  attachments: boolean;
  audioInput: boolean;
  audioOutput: boolean;
  buttons: boolean;
  deliveryReceipts: boolean;
  files: boolean;
  html: boolean;
  images: boolean;
  markdown: boolean;
  privateReplies: boolean;
  publicReplies: boolean;
  quickReplies: boolean;
  readReceipts: boolean;
  realtime: boolean;
  richText: boolean;
  supportsHumanTransfer: boolean;
  templates: boolean;
  threaded: boolean;
  typingIndicator: boolean;
  voice: boolean;
  widgets: boolean;
}
Name Type
async boolean
attachments boolean
audioInput boolean
audioOutput boolean
buttons boolean
deliveryReceipts boolean
files boolean
html boolean
images boolean
markdown boolean
privateReplies boolean
publicReplies boolean
quickReplies boolean
readReceipts boolean
realtime boolean
richText boolean
supportsHumanTransfer boolean
templates boolean
threaded boolean
typingIndicator boolean
voice boolean
widgets boolean

defineCapabilityAvailability()

function defineCapabilityAvailability(input): {
  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";
};

Parameters

Parameter Type
input { 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"; }
input.blockers? { code: string; kind?: | "unknown" | "permission-blocked" | "missing-policy" | "missing-configuration" | "missing-credentials" | "provider-unsupported"; message: string; }[]
input.capability? string
input.enabledForAgents? string[]
input.enabledForChannels? string[]
input.enabledForJourneys? string[]
input.enabledForTools? string[]
input.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
input.providerPackageId? string
input.status | "enabled" | "registry-available" | "installed" | "configured" | "blocked"

Returns

{
  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";
}
Name Type
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"

defineChannelContext()

function defineChannelContext(input): {
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
};

Parameters

Parameter Type
input ConversationChannelInput

Returns

{
  capabilities: {
     async: boolean;
     attachments: boolean;
     audioInput: boolean;
     audioOutput: boolean;
     buttons: boolean;
     deliveryReceipts: boolean;
     files: boolean;
     html: boolean;
     images: boolean;
     markdown: boolean;
     privateReplies: boolean;
     publicReplies: boolean;
     quickReplies: boolean;
     readReceipts: boolean;
     realtime: boolean;
     richText: boolean;
     supportsHumanTransfer: boolean;
     templates: boolean;
     threaded: boolean;
     typingIndicator: boolean;
     voice: boolean;
     widgets: boolean;
  };
  channelId: string;
  externalConversationId?: string;
  externalMessageId?: string;
  externalThreadId?: string;
  externalUserId?: string;
  kind: string;
  locale?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  provider?: string;
  timezone?: string;
}
Name Type
capabilities { async: boolean; attachments: boolean; audioInput: boolean; audioOutput: boolean; buttons: boolean; deliveryReceipts: boolean; files: boolean; html: boolean; images: boolean; markdown: boolean; privateReplies: boolean; publicReplies: boolean; quickReplies: boolean; readReceipts: boolean; realtime: boolean; richText: boolean; supportsHumanTransfer: boolean; templates: boolean; threaded: boolean; typingIndicator: boolean; voice: boolean; widgets: boolean; }
capabilities.async boolean
capabilities.attachments boolean
capabilities.audioInput boolean
capabilities.audioOutput boolean
capabilities.buttons boolean
capabilities.deliveryReceipts boolean
capabilities.files boolean
capabilities.html boolean
capabilities.images boolean
capabilities.markdown boolean
capabilities.privateReplies boolean
capabilities.publicReplies boolean
capabilities.quickReplies boolean
capabilities.readReceipts boolean
capabilities.realtime boolean
capabilities.richText boolean
capabilities.supportsHumanTransfer boolean
capabilities.templates boolean
capabilities.threaded boolean
capabilities.typingIndicator boolean
capabilities.voice boolean
capabilities.widgets boolean
channelId string
externalConversationId? string
externalMessageId? string
externalThreadId? string
externalUserId? string
kind string
locale? string
metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
provider? string
timezone? string

defineChannelEvent()

function defineChannelEvent<TPayload, TRawPayload>(input): ChannelEventEnvelope<TPayload, TRawPayload>;

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayload
TRawPayload unknown

Parameters

Parameter Type
input ChannelEventEnvelopeInput\<TPayload, TRawPayload>

Returns

ChannelEventEnvelope\<TPayload, TRawPayload>


defineChannelEventSource()

function defineChannelEventSource<TRaw>(source): ChannelEventSource<TRaw>;

Type Parameters

Type Parameter Default type
TRaw unknown

Parameters

Parameter Type
source ChannelEventSource\<TRaw>

Returns

ChannelEventSource\<TRaw>


defineChannelOutputIntent()

function defineChannelOutputIntent<TPayload, TRawPayload>(input): ChannelOutputIntent<TPayload, TRawPayload>;

Type Parameters

Type Parameter Default type
TPayload NormalizedChannelPayload
TRawPayload unknown

Parameters

Parameter Type
input ChannelOutputIntentInput\<TPayload, TRawPayload>

Returns

ChannelOutputIntent\<TPayload, TRawPayload>


defineChannelOutputResolutionDecision()

function defineChannelOutputResolutionDecision<TPayload>(input): ChannelOutputResolutionDecision<TPayload>;

Type Parameters

Type Parameter Default type
TPayload unknown

Parameters

Parameter Type
input ChannelOutputResolutionDecision\<TPayload>

Returns

ChannelOutputResolutionDecision\<TPayload>


defineChannelPolicy()

function defineChannelPolicy(config): {
  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[];
};

Parameters

Parameter Type
config { 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[]; }
config.audience? "customer-facing" | "internal-support" | "mixed"
config.behavior? { [key: string]: unknown; allowMarkdown?: boolean; allowWidgets?: boolean; approval?: unknown; draftFirst?: boolean; handoff?: unknown; maxCharacters?: number; maxWords?: number; media?: unknown; sensitiveData?: unknown; tone?: string; }
config.behavior.allowMarkdown? boolean
config.behavior.allowWidgets? boolean
config.behavior.approval? unknown
config.behavior.draftFirst? boolean
config.behavior.handoff? unknown
config.behavior.maxCharacters? number
config.behavior.maxWords? number
config.behavior.media? unknown
config.behavior.sensitiveData? unknown
config.behavior.tone? string
config.channel string
config.channelSetIds? string[]
config.enabled? boolean
config.enabledCapabilities? string[]
config.flowActivations? { enabled?: boolean; journeyId: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; policyIds?: string[]; providerPackageIds?: string[]; reason?: string; }[]
config.handoff? { destinations?: string[]; enabled?: boolean; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; policyIds?: string[]; providerPackageIds?: string[]; sdkControlled?: boolean; }
config.handoff.destinations? string[]
config.handoff.enabled? boolean
config.handoff.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
config.handoff.policyIds? string[]
config.handoff.providerPackageIds? string[]
config.handoff.sdkControlled? boolean
config.id string
config.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
config.outbound? { enabled?: boolean; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; policyIds?: string[]; providerPackageIds?: string[]; requiresProviderOutboundSupport?: boolean; }
config.outbound.enabled? boolean
config.outbound.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
config.outbound.policyIds? string[]
config.outbound.providerPackageIds? string[]
config.outbound.requiresProviderOutboundSupport? boolean
config.policies? z.ZodDefault\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
config.providerPackageIds? string[]

Returns

{
  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[];
}
Name Type
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; }
behavior.allowMarkdown? boolean
behavior.allowWidgets? boolean
behavior.approval? unknown
behavior.draftFirst? boolean
behavior.handoff? unknown
behavior.maxCharacters? number
behavior.maxWords? number
behavior.media? unknown
behavior.sensitiveData? unknown
behavior.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; }
handoff.destinations string[]
handoff.enabled boolean
handoff.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
handoff.policyIds string[]
handoff.providerPackageIds string[]
handoff.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; }
outbound.enabled boolean
outbound.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
outbound.policyIds string[]
outbound.providerPackageIds string[]
outbound.requiresProviderOutboundSupport boolean
policies z.ZodDefault\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
providerPackageIds string[]

defineChannelProviderAdapter()

function defineChannelProviderAdapter<TRaw>(adapter): ChannelProviderAdapter<TRaw>;

Type Parameters

Type Parameter Default type
TRaw unknown

Parameters

Parameter Type
adapter ChannelProviderAdapter\<TRaw>

Returns

ChannelProviderAdapter\<TRaw>


defineIntegrationCategoryProfile()

function defineIntegrationCategoryProfile(profile): {
  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;
  dataSources: {
     capability: string;
     description?: string;
     exposesSensitiveData?: boolean;
     id: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObjects: string[];
  }[];
  description?: string;
  events: {
     capability?: string;
     description?: string;
     direction: "outbound" | "bidirectional" | "inbound" | "internal";
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObject?: string;
  }[];
  id?: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  notes: string[];
  operations: {
     alias: string;
     audience?: "customer-facing" | "internal-support" | "mixed";
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     level: "optional" | "extension" | "required" | "recommended";
     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;
     }[];
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  outputs: {
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     externallyVisible?: boolean;
     intent: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObject?: string;
     requiresApproval?: boolean;
     sideEffect?: boolean;
  }[];
  providerObjects: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
};

Parameters

Parameter Type
profile { 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; dataSources?: { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]; description?: string; events?: { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]; id?: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; notes?: string[]; operations?: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; outputs?: { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]; providerObjects?: { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]; }
profile.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; }[]
profile.category string
profile.dataSources? { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]
profile.description? string
profile.events? { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]
profile.id? string
profile.label? string
profile.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
profile.notes? string[]
profile.operations? { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
profile.outputs? { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]
profile.providerObjects? { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]

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;
  dataSources: {
     capability: string;
     description?: string;
     exposesSensitiveData?: boolean;
     id: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObjects: string[];
  }[];
  description?: string;
  events: {
     capability?: string;
     description?: string;
     direction: "outbound" | "bidirectional" | "inbound" | "internal";
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObject?: string;
  }[];
  id?: string;
  label?: string;
  metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
  notes: string[];
  operations: {
     alias: string;
     audience?: "customer-facing" | "internal-support" | "mixed";
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     level: "optional" | "extension" | "required" | "recommended";
     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;
     }[];
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  outputs: {
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     externallyVisible?: boolean;
     intent: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     operationAlias?: string;
     providerObject?: string;
     requiresApproval?: boolean;
     sideEffect?: boolean;
  }[];
  providerObjects: {
     description?: string;
     kind: string;
     label?: string;
     metadata?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
     schemaName?: string;
  }[];
}
Name Type
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
dataSources { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects: string[]; }[]
description? string
events { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]
id? string
label? string
metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
notes string[]
operations { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
outputs { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]
providerObjects { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]

defineProviderPackage()

function defineProviderPackage(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";
};

Parameters

Parameter Type
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.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; }[]
manifest.category string
manifest.channelAudiences? ("customer-facing" | "internal-support" | "mixed")[]
manifest.coverage? { evidence?: { label: string; url?: string; }[]; notes?: string[]; scope?: | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"; }
manifest.coverage.evidence? { label: string; url?: string; }[]
manifest.coverage.notes? string[]
manifest.coverage.scope? | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"
manifest.credentialRequirements? { description?: string; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; required?: boolean; scopes?: string[]; }[]
manifest.directions ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]
manifest.id string
manifest.limitations? string[]
manifest.maintainers? { name: string; type?: "community" | "official" | "unknown" | "partner"; url?: string; }[]
manifest.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
manifest.name string
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; }[]
manifest.packageName string
manifest.privacyNotes? string[]
manifest.provider string
manifest.trustLevel? "community" | "official" | "verified" | "experimental"

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";
}
Name Type
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"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.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"

defineSchedule()

function defineSchedule<TId, TEvent>(id, options): ScheduleDefinition<TId, TEvent>;

Type Parameters

Type Parameter
TId extends string
TEvent extends JourneyEventDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>

Parameters

Parameter Type
id TId
options Omit\<ScheduleDefinition\<TId, TEvent>, "kind" | "id">

Returns

ScheduleDefinition\<TId, TEvent>


deriveProviderCapabilityCoverage()

function deriveProviderCapabilityCoverage(input): {
  category: string;
  categoryMatches: boolean;
  conformant: boolean;
  coverage: "full" | "partial" | "standard";
  expectedCategory: string;
  extensionOperations: string[];
  matchedOperations: string[];
  mismatchedOperations: {
     actualCapability?: string;
     actualProviderObject?: string;
     alias: string;
     expectedCapability?: string;
     expectedProviderObject?: string;
     reason: "missing" | "capability-mismatch" | "provider-object-mismatch";
  }[];
  missingOptionalOperations: string[];
  missingRecommendedOperations: string[];
  missingRequiredOperations: string[];
  providerPackageId: string;
};

Parameters

Parameter Type
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"; }; profile: { 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; dataSources?: { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]; description?: string; events?: { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]; id?: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; notes?: string[]; operations?: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; outputs?: { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]; providerObjects?: { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]; }; }
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"
input.profile { 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; dataSources?: { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]; description?: string; events?: { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]; id?: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; notes?: string[]; operations?: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; outputs?: { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]; providerObjects?: { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]; }
input.profile.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.profile.category string
input.profile.dataSources? { capability: string; description?: string; exposesSensitiveData?: boolean; id: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObjects?: string[]; }[]
input.profile.description? string
input.profile.events? { capability?: string; description?: string; direction: "outbound" | "bidirectional" | "inbound" | "internal"; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; }[]
input.profile.id? string
input.profile.label? string
input.profile.metadata? z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>
input.profile.notes? string[]
input.profile.operations? { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; level?: "optional" | "extension" | "required" | "recommended"; 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; }[]; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
input.profile.outputs? { capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; intent: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; operationAlias?: string; providerObject?: string; requiresApproval?: boolean; sideEffect?: boolean; }[]
input.profile.providerObjects? { description?: string; kind: string; label?: string; metadata?: z.ZodOptional\<z.ZodRecord\<z.ZodString, z.ZodUnknown>>; schemaName?: string; }[]

Returns

{
  category: string;
  categoryMatches: boolean;
  conformant: boolean;
  coverage: "full" | "partial" | "standard";
  expectedCategory: string;
  extensionOperations: string[];
  matchedOperations: string[];
  mismatchedOperations: {
     actualCapability?: string;
     actualProviderObject?: string;
     alias: string;
     expectedCapability?: string;
     expectedProviderObject?: string;
     reason: "missing" | "capability-mismatch" | "provider-object-mismatch";
  }[];
  missingOptionalOperations: string[];
  missingRecommendedOperations: string[];
  missingRequiredOperations: string[];
  providerPackageId: string;
}
Name Type
category string
categoryMatches boolean
conformant boolean
coverage "full" | "partial" | "standard"
expectedCategory string
extensionOperations string[]
matchedOperations string[]
mismatchedOperations { actualCapability?: string; actualProviderObject?: string; alias: string; expectedCapability?: string; expectedProviderObject?: string; reason: "missing" | "capability-mismatch" | "provider-object-mismatch"; }[]
missingOptionalOperations string[]
missingRecommendedOperations string[]
missingRequiredOperations string[]
providerPackageId string

evaluateCapabilityUse()

function evaluateCapabilityUse(input): CapabilityUseDecision;

Parameters

Parameter Type
input { 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"; }[]; 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[]; }[]; providerPackages?: { 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"; }[]; request: { actionAudience?: "customer-facing" | "internal-support" | "mixed"; capability: string; changesWorkflow?: boolean; channel: string; channelId?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; outbound?: boolean; providerPackageId?: string; requiredPolicyIds?: string[]; sideEffect?: boolean; }; }
input.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"; }[]
input.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[]; }[]
input.providerPackages? { 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.request { actionAudience?: "customer-facing" | "internal-support" | "mixed"; capability: string; changesWorkflow?: boolean; channel: string; channelId?: string; exposesSensitiveData?: boolean; externallyVisible?: boolean; outbound?: boolean; providerPackageId?: string; requiredPolicyIds?: string[]; sideEffect?: boolean; }
input.request.actionAudience? "customer-facing" | "internal-support" | "mixed"
input.request.capability string
input.request.changesWorkflow? boolean
input.request.channel string
input.request.channelId? string
input.request.exposesSensitiveData? boolean
input.request.externallyVisible? boolean
input.request.outbound? boolean
input.request.providerPackageId? string
input.request.requiredPolicyIds? string[]
input.request.sideEffect? boolean

Returns

CapabilityUseDecision


handleChannelEventFromSource()

function handleChannelEventFromSource<TRaw, TTurn>(
   runtime,
   source,
input): Promise<HandleChannelEventResult<unknown>>;

Type Parameters

Type Parameter Default type
TRaw unknown
TTurn unknown

Parameters

Parameter Type
runtime ChannelEventRuntimeReceiver
source ChannelEventSource\<TRaw>
input ChannelEventSourceHandleInput\<TRaw, TTurn>

Returns

Promise\<HandleChannelEventResult\<unknown>>


hashAgentRoutingDefinition()

function hashAgentRoutingDefinition(agent): string;

Parameters

Parameter Type
agent CompiledAgent

Returns

string


hashJourneyDefinition()

function hashJourneyDefinition(journey): string;

Parameters

Parameter Type
journey CompiledJourney

Returns

string


isCoreChannelCapability()

function isCoreChannelCapability(capability): capability is "handoff" | "media" | "receive" | "send" | "draft" | "thread" | "attach" | "schedule" | "cleanup" | "notify" | "transfer" | "artifact" | "create-provider-object" | "read-provider-object" | "update-provider-object" | "delete-provider-object" | "search-provider-object" | "link-provider-object";

Parameters

Parameter Type
capability string

Returns

capability is "handoff" | "media" | "receive" | "send" | "draft" | "thread" | "attach" | "schedule" | "cleanup" | "notify" | "transfer" | "artifact" | "create-provider-object" | "read-provider-object" | "update-provider-object" | "delete-provider-object" | "search-provider-object" | "link-provider-object"


journeyEvent()

function journeyEvent<TName, TPayloadSchema>(name, config): JourneyEventDefinition<TName, TPayloadSchema>;

Type Parameters

Type Parameter
TName extends string
TPayloadSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>

Parameters

Parameter Type
name TName
config { payload: TPayloadSchema; routing?: EventRoutingMode; }
config.payload TPayloadSchema
config.routing? EventRoutingMode

Returns

JourneyEventDefinition\<TName, TPayloadSchema>


journeyFragment()

function journeyFragment<TName, TContextSchema>(name, options): JourneyFragment<TName, TContextSchema>;

Type Parameters

Type Parameter
TName extends string
TContextSchema extends ObjectSchema

Parameters

Parameter Type
name TName
options JourneyFragmentOptions\<TContextSchema>

Returns

JourneyFragment\<TName, TContextSchema>


knowledgeSource()

function knowledgeSource<TName, TQuerySchema, TMetadataSchema>(name, config): {
  kind: "knowledgeSource";
  metadata: TMetadataSchema;
  name: TName;
  query: TQuerySchema;
  retrieve: (input) => Promise<{
     items: KnowledgeItem<output<TMetadataSchema>>[];
  }>;
};

Type Parameters

Type Parameter
TName extends string
TQuerySchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>
TMetadataSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>

Parameters

Parameter Type
name TName
config Omit\<KnowledgeSource\<TName, TQuerySchema, TMetadataSchema>, "kind" | "name">

Returns

{
  kind: "knowledgeSource";
  metadata: TMetadataSchema;
  name: TName;
  query: TQuerySchema;
  retrieve: (input) => Promise<{
     items: KnowledgeItem<output<TMetadataSchema>>[];
  }>;
}
Name Type
kind "knowledgeSource"
metadata TMetadataSchema
name TName
query TQuerySchema
retrieve() (input) => Promise\<{ items: KnowledgeItem\<output\<TMetadataSchema>>[]; }>

normalizeEmailAttachmentMetadata()

function normalizeEmailAttachmentMetadata(input): EmailAttachmentMetadata;

Parameters

Parameter Type
input EmailAttachmentMetadataInput

Returns

EmailAttachmentMetadata


recordRuntimeEventMetric()

function recordRuntimeEventMetric(options, attributes?): void;

Parameters

Parameter Type
options TelemetryOptionsCarrier
attributes? Attributes

Returns

void


resolveScheduleDueAt()

function resolveScheduleDueAt(trigger, now?): Date;

Parameters

Parameter Type
trigger ScheduleTrigger
now? Date

Returns

Date


runtimeLogger()

function runtimeLogger(options, context?): Pick<pino.Logger, "error" | "trace" | "debug" | "info" | "warn" | "child">;

Parameters

Parameter Type
options RuntimeOptions
context? RuntimeLogContext

Returns

Pick\<pino.Logger, "error" | "trace" | "debug" | "info" | "warn" | "child">


selectJourneyCandidates()

function selectJourneyCandidates<TApp, TConversation, TTurn>(options): Promise<JourneyCandidate[]>;

Type Parameters

Type Parameter
TApp
TConversation
TTurn

Parameters

Parameter Type
options SelectJourneyCandidatesOptions\<TApp, TConversation, TTurn>

Returns

Promise\<JourneyCandidate[]>


telemetryContentMode()

function telemetryContentMode(options): TelemetryContentMode;

Parameters

Parameter Type
options TelemetryOptionsCarrier

Returns

TelemetryContentMode


telemetryEnabled()

function telemetryEnabled(options): boolean;

Parameters

Parameter Type
options TelemetryOptionsCarrier

Returns

boolean


tool()

function tool<TName, TInputSchema, TOutputSchema, TSideEffect>(name, config): ToolDefinition<TName, TInputSchema, TOutputSchema, TSideEffect>;

Type Parameters

Type Parameter Default type
TName extends string -
TInputSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>> -
TOutputSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>> -
TSideEffect extends boolean false

Parameters

Parameter Type
name TName
config { description?: string; execute: (context) => Promise\<output\<TOutputSchema>>; idempotencyKey?: (args) => string; input: TInputSchema; output: TOutputSchema; policy?: ToolPolicyOptions; sideEffect?: TSideEffect; }
config.description? string
config.execute (context) => Promise\<output\<TOutputSchema>>
config.idempotencyKey? (args) => string
config.input TInputSchema
config.output TOutputSchema
config.policy? ToolPolicyOptions
config.sideEffect? TSideEffect

Returns

ToolDefinition\<TName, TInputSchema, TOutputSchema, TSideEffect>


trimEmailQuote()

function trimEmailQuote(input, options?): EmailQuoteTrimResult;

Parameters

Parameter Type
input string
options? EmailQuoteTrimOptions

Returns

EmailQuoteTrimResult


validateJourneyIndex()

function validateJourneyIndex(
   agent,
   index,
   options?): JourneyIndexValidationResult;

Parameters

Parameter Type
agent CompiledAgent
index { agentId: string; definitionHash: string; embeddingModel: string; embeddingProvider: string; entries: { alwaysInclude: boolean; condition: string; definitionHash: string; embedding: { dimensions: number; model: string; vector: number[]; }; examples: string[]; journeyId: string; kind: "stateMachine" | "delegation"; priority: number; routingText: string; stickiness: "low" | "medium" | "high"; tags: string[]; }[]; generatedAt: string; projectionVersion: "cognidesk.journey-index.v1"; }
index.agentId string
index.definitionHash? string
index.embeddingModel? string
index.embeddingProvider? string
index.entries? { alwaysInclude: boolean; condition: string; definitionHash: string; embedding: { dimensions: number; model: string; vector: number[]; }; examples: string[]; journeyId: string; kind: "stateMachine" | "delegation"; priority: number; routingText: string; stickiness: "low" | "medium" | "high"; tags: string[]; }[]
index.generatedAt? string
index.projectionVersion? "cognidesk.journey-index.v1"
options? ValidateJourneyIndexOptions

Returns

JourneyIndexValidationResult


widget()

function widget<TKind, TInputSchema, TOutputSchema>(kind, config): WidgetDefinition<TKind, TInputSchema, TOutputSchema>;

Type Parameters

Type Parameter
TKind extends string
TInputSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>
TOutputSchema extends ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>

Parameters

Parameter Type
kind TKind
config { input: TInputSchema; output: TOutputSchema; }
config.input TInputSchema
config.output TOutputSchema

Returns

WidgetDefinition\<TKind, TInputSchema, TOutputSchema>


widgetPrompt()

function widgetPrompt<TWidget>(widgetDefinition, input): WidgetPromptDefinition<TWidget>;

Type Parameters

Type Parameter
TWidget extends WidgetDefinition\<string, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>, ZodType\<unknown, unknown, $ZodTypeInternals\<unknown, unknown>>>

Parameters

Parameter Type
widgetDefinition TWidget
input output\<TWidget["input"]>

Returns

WidgetPromptDefinition\<TWidget>


withTelemetrySpan()

function withTelemetrySpan<T>(
   options,
   spanOptions,
run): Promise<T>;

Type Parameters

Type Parameter
T

Parameters

Parameter Type
options TelemetryOptionsCarrier
spanOptions TelemetrySpanOptions
run (span) => MaybePromise$2\<T>

Returns

Promise\<T>