Skip to main content

Namespace: common

Common library for code that's used across the Client, Worker, and/or Workflow

Enumerations

Classes

Interfaces

Type Aliases

ActivityCancellationType

Ƭ ActivityCancellationType: typeof ActivityCancellationType[keyof typeof ActivityCancellationType]


ActivityInterface

Ƭ ActivityInterface: Record<string, ActivityFunction>

Mapping of Activity name to function

Deprecated

not required anymore, for untyped activities use UntypedActivities


CommonWorkflowOptions

Ƭ CommonWorkflowOptions: BaseWorkflowOptions & WorkflowDurationOptions


Duration

Ƭ Duration: StringValue | number

A duration, expressed either as a number of milliseconds, or as a ms-formatted string.


EncodingType

Ƭ EncodingType: typeof encodingTypes[keyof typeof encodingTypes]


HandlerUnfinishedPolicy

Ƭ HandlerUnfinishedPolicy: typeof HandlerUnfinishedPolicy[keyof typeof HandlerUnfinishedPolicy]


Headers

Ƭ Headers: Record<string, Payload>

Headers are just a mapping of header name to Payload


LogLevel

Ƭ LogLevel: "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR"


LogMetadata

Ƭ LogMetadata: Record<string | symbol, any>


Next

Ƭ Next<IF, FN>: Required<IF>[FN] extends AnyFunc ? OmitLastParam<Required<IF>[FN]> : never

Type of the next function for a given interceptor function

Called from an interceptor to continue the interception chain

Type parameters

NameType
IFIF
FNextends keyof IF

Payload

Ƭ Payload: IPayload


ProtoFailure

Ƭ ProtoFailure: IFailure


RetryState

Ƭ RetryState: typeof RetryState[keyof typeof RetryState]


SearchAttributeValue

Ƭ SearchAttributeValue: string[] | number[] | boolean[] | Date[]


SearchAttributes

Ƭ SearchAttributes: Record<string, SearchAttributeValue | Readonly<SearchAttributeValue> | undefined>

If another SDK creates a Search Attribute that's not an array, we wrap it in an array.

Dates are serialized as ISO strings.


StringValue

Ƭ StringValue: `${number}` | `${number}${UnitAnyCase}` | `${number} ${UnitAnyCase}`


TimeoutType

Ƭ TimeoutType: typeof TimeoutType[keyof typeof TimeoutType]


Timestamp

Ƭ Timestamp: ITimestamp


UntypedActivities

Ƭ UntypedActivities: Record<string, ActivityFunction>

Mapping of Activity name to function


VersioningIntent

Ƭ VersioningIntent: "COMPATIBLE" | "DEFAULT"

Indicates whether the user intends certain commands to be run on a compatible worker Build Id version or not.

COMPATIBLE indicates that the command should run on a worker with compatible version if possible. It may not be possible if the target task queue does not also have knowledge of the current worker's Build Id.

DEFAULT indicates that the command should run on the target task queue's current overall-default Build Id.

Where this type is accepted optionally, an unset value indicates that the SDK should choose the most sensible default behavior for the type of command, accounting for whether the command will be run on the same task queue as the current worker. The default behavior for starting Workflows is DEFAULT. The default behavior for Workflows starting Activities, starting Child Workflows, or Continuing As New is COMPATIBLE.


WithWorkflowArgs

Ƭ WithWorkflowArgs<W, T>: T & Parameters<W> extends [any, ...any[]] ? { args: Parameters<W> | Readonly<Parameters<W>> } : { args?: Parameters<W> | Readonly<Parameters<W>> }

Type parameters

NameType
Wextends Workflow
TT

Workflow

Ƭ Workflow: (...args: any[]) => WorkflowReturnType

Broad Workflow function definition, specific Workflows will typically use a narrower type definition, e.g:

export async function myWorkflow(arg1: number, arg2: string): Promise<string>;

Type declaration

▸ (...args): WorkflowReturnType

Parameters
NameType
...argsany[]
Returns

WorkflowReturnType


WorkflowExecution

Ƭ WorkflowExecution: IWorkflowExecution


WorkflowIdConflictPolicy

Ƭ WorkflowIdConflictPolicy: typeof WorkflowIdConflictPolicy[keyof typeof WorkflowIdConflictPolicy]

Defines what happens when trying to start a Workflow with the same ID as a Running Workflow.

See WorkflowOptions.workflowIdReusePolicy for what happens when trying to start a Workflow with the same ID as a Closed Workflow.

Note: It is never possible to have two actively running Workflows with the same ID.


WorkflowIdReusePolicy

Ƭ WorkflowIdReusePolicy: typeof WorkflowIdReusePolicy[keyof typeof WorkflowIdReusePolicy]


WorkflowQueryAnnotatedType

Ƭ WorkflowQueryAnnotatedType: Object

Type declaration

NameType
description?string
handlerWorkflowQueryType

WorkflowQueryType

Ƭ WorkflowQueryType: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any


WorkflowResultType

Ƭ WorkflowResultType<W>: ReturnType<W> extends Promise<infer R> ? R : never

Get the "unwrapped" return type (without Promise) of the execute handler from Workflow type W

Type parameters

NameType
Wextends Workflow

WorkflowReturnType

Ƭ WorkflowReturnType: Promise<any>

Type that can be returned from a Workflow execute function


WorkflowSignalAnnotatedType

Ƭ WorkflowSignalAnnotatedType: Object

Type declaration

NameType
description?string
handlerWorkflowSignalType
unfinishedPolicyHandlerUnfinishedPolicy

WorkflowSignalType

Ƭ WorkflowSignalType: (...args: any[]) => Promise<void> | void

Type declaration

▸ (...args): Promise<void> | void

Parameters
NameType
...argsany[]
Returns

Promise<void> | void


WorkflowUpdateAnnotatedType

Ƭ WorkflowUpdateAnnotatedType: Object

Type declaration

NameType
description?string
handlerWorkflowUpdateType
unfinishedPolicyHandlerUnfinishedPolicy
validator?WorkflowUpdateValidatorType

WorkflowUpdateType

Ƭ WorkflowUpdateType: (...args: any[]) => Promise<any> | any

Type declaration

▸ (...args): Promise<any> | any

Parameters
NameType
...argsany[]
Returns

Promise<any> | any


WorkflowUpdateValidatorType

Ƭ WorkflowUpdateValidatorType: (...args: any[]) => void

Type declaration

▸ (...args): void

Parameters
NameType
...argsany[]
Returns

void

Variables

ActivityCancellationType

Const ActivityCancellationType: Object

Type declaration

NameType
ABANDON"ABANDON"
TRY_CANCEL"TRY_CANCEL"
WAIT_CANCELLATION_COMPLETED"WAIT_CANCELLATION_COMPLETED"

FAILURE_SOURCE

Const FAILURE_SOURCE: "TypeScriptSDK"


HandlerUnfinishedPolicy

Const HandlerUnfinishedPolicy: Object

Policy defining actions taken when a workflow exits while update or signal handlers are running. The workflow exit may be due to successful return, failure, cancellation, or continue-as-new.

Type declaration

NameTypeDescription
ABANDON"ABANDON"Abandon the handler execution. In the case of an update handler this means that the client will receive an error rather than the update result.
WARN_AND_ABANDON"WARN_AND_ABANDON"Issue a warning in addition to abandoning the handler execution. The warning will not be issued if the workflow fails.

METADATA_ENCODING_KEY

Const METADATA_ENCODING_KEY: "encoding"


METADATA_MESSAGE_TYPE_KEY

Const METADATA_MESSAGE_TYPE_KEY: "messageType"


RetryState

Const RetryState: Object

Type declaration

NameTypeDescription
CANCEL_REQUESTED"CANCEL_REQUESTED"-
INTERNAL_SERVER_ERROR"INTERNAL_SERVER_ERROR"-
IN_PROGRESS"IN_PROGRESS"-
MAXIMUM_ATTEMPTS_REACHED"MAXIMUM_ATTEMPTS_REACHED"-
NON_RETRYABLE_FAILURE"NON_RETRYABLE_FAILURE"-
RETRY_POLICY_NOT_SET"RETRY_POLICY_NOT_SET"-
RETRY_STATE_CANCEL_REQUESTED"CANCEL_REQUESTED"Deprecated Use CANCEL_REQUESTED instead.
RETRY_STATE_INTERNAL_SERVER_ERROR"INTERNAL_SERVER_ERROR"Deprecated Use INTERNAL_SERVER_ERROR instead.
RETRY_STATE_IN_PROGRESS"IN_PROGRESS"Deprecated Use IN_PROGRESS instead.
RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED"MAXIMUM_ATTEMPTS_REACHED"Deprecated Use MAXIMUM_ATTEMPTS_REACHED instead.
RETRY_STATE_NON_RETRYABLE_FAILURE"NON_RETRYABLE_FAILURE"Deprecated Use NON_RETRYABLE_FAILURE instead.
RETRY_STATE_RETRY_POLICY_NOT_SET"RETRY_POLICY_NOT_SET"Deprecated Use RETRY_POLICY_NOT_SET instead.
RETRY_STATE_TIMEOUT"TIMEOUT"Deprecated Use TIMEOUT instead.
RETRY_STATE_UNSPECIFIEDundefinedDeprecated Use undefined instead.
TIMEOUT"TIMEOUT"-

TimeoutType

Const TimeoutType: Object

Type declaration

NameTypeDescription
HEARTBEAT"HEARTBEAT"-
SCHEDULE_TO_CLOSE"SCHEDULE_TO_CLOSE"-
SCHEDULE_TO_START"SCHEDULE_TO_START"-
START_TO_CLOSE"START_TO_CLOSE"-
TIMEOUT_TYPE_HEARTBEAT"HEARTBEAT"Deprecated Use HEARTBEAT instead.
TIMEOUT_TYPE_SCHEDULE_TO_CLOSE"SCHEDULE_TO_CLOSE"Deprecated Use SCHEDULE_TO_CLOSE instead.
TIMEOUT_TYPE_SCHEDULE_TO_START"SCHEDULE_TO_START"Deprecated Use SCHEDULE_TO_START instead.
TIMEOUT_TYPE_START_TO_CLOSE"START_TO_CLOSE"Deprecated Use START_TO_CLOSE instead.
TIMEOUT_TYPE_UNSPECIFIEDundefinedDeprecated Use undefined instead.

WorkflowIdConflictPolicy

WorkflowIdConflictPolicy: Object

Type declaration

NameTypeDescription
FAIL"FAIL"Do not start a new Workflow. Instead raise a WorkflowExecutionAlreadyStartedError.
TERMINATE_EXISTING"TERMINATE_EXISTING"Start a new Workflow, terminating the current workflow if one is already running.
USE_EXISTING"USE_EXISTING"Do not start a new Workflow. Instead return a Workflow Handle for the already Running Workflow.

WorkflowIdReusePolicy

Const WorkflowIdReusePolicy: Object

Defines what happens when trying to start a Workflow with the same ID as a Closed Workflow.

See WorkflowOptions.workflowIdConflictPolicy for what happens when trying to start a Workflow with the same ID as a Running Workflow.

Concept: Workflow Id Reuse Policy

Note: It is not possible to have two actively running Workflows with the same ID.

Type declaration

NameTypeDescription
ALLOW_DUPLICATE"ALLOW_DUPLICATE"The Workflow can be started if the previous Workflow is in a Closed state. Default ts
ALLOW_DUPLICATE_FAILED_ONLY"ALLOW_DUPLICATE_FAILED_ONLY"The Workflow can be started if the previous Workflow is in a Closed state that is not Completed.
REJECT_DUPLICATE"REJECT_DUPLICATE"The Workflow cannot be started.
TERMINATE_IF_RUNNING"TERMINATE_IF_RUNNING"Terminate the current Workflow if one is already running; otherwise allow reusing the Workflow ID. Deprecated Use WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE instead, and set WorkflowOptions.workflowIdConflictPolicy to WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING. When using this option, WorkflowOptions.workflowIdConflictPolicy must be left unspecified.
WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE"ALLOW_DUPLICATE"Deprecated Use ALLOW_DUPLICATE instead.
WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY"ALLOW_DUPLICATE_FAILED_ONLY"Deprecated Use ALLOW_DUPLICATE_FAILED_ONLY instead.
WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE"REJECT_DUPLICATE"Deprecated Use REJECT_DUPLICATE instead.
WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING"TERMINATE_IF_RUNNING"Deprecated Use TERMINATE_IF_RUNNING instead.
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIEDundefinedNo need to use this. If a WorkflowIdReusePolicy is set to this, or is not set at all, the default value will be used. Deprecated Either leave property undefined, or use ALLOW_DUPLICATE instead.

defaultDataConverter

Const defaultDataConverter: LoadedDataConverter

A "loaded" data converter that uses the default set of failure and payload converters.


defaultFailureConverter

Const defaultFailureConverter: FailureConverter

The default FailureConverter used by the SDK.

Error messages and stack traces are serizalized as plain text.


defaultPayloadConverter

Const defaultPayloadConverter: DefaultPayloadConverter

The default PayloadConverter used by the SDK. Supports Uint8Array and JSON serializables (so if JSON.stringify(yourArgOrRetval) works, the default payload converter will work).

To also support Protobufs, create a custom payload converter with DefaultPayloadConverter:

const myConverter = new DefaultPayloadConverter({ protobufRoot })


encodingKeys

Const encodingKeys: Object

Type declaration

NameType
METADATA_ENCODING_JSONUint8Array
METADATA_ENCODING_NULLUint8Array
METADATA_ENCODING_PROTOBUFUint8Array
METADATA_ENCODING_PROTOBUF_JSONUint8Array
METADATA_ENCODING_RAWUint8Array

encodingTypes

Const encodingTypes: Object

Type declaration

NameType
METADATA_ENCODING_JSON"json/plain"
METADATA_ENCODING_NULL"binary/null"
METADATA_ENCODING_PROTOBUF"binary/protobuf"
METADATA_ENCODING_PROTOBUF_JSON"json/protobuf"
METADATA_ENCODING_RAW"binary/plain"

searchAttributePayloadConverter

Const searchAttributePayloadConverter: SearchAttributePayloadConverter

Functions

arrayFromPayloads

arrayFromPayloads(converter, payloads?): unknown[]

Run PayloadConverter.fromPayload on each value in the array.

Parameters

NameType
converterPayloadConverter
payloads?null | IPayload[]

Returns

unknown[]


compileRetryPolicy

compileRetryPolicy(retryPolicy): IRetryPolicy

Turn a TS RetryPolicy into a proto compatible RetryPolicy

Parameters

NameType
retryPolicyRetryPolicy

Returns

IRetryPolicy


cutoffStackTrace

cutoffStackTrace(stack?): string

Cuts out the framework part of a stack trace, leaving only user code entries

Parameters

NameType
stack?string

Returns

string


decodeActivityCancellationType

decodeActivityCancellationType(input): undefined | RemovePrefix<"", "TRY_CANCEL" | "WAIT_CANCELLATION_COMPLETED" | "ABANDON">

Parameters

NameType
inputundefined | null | ActivityCancellationType

Returns

undefined | RemovePrefix<"", "TRY_CANCEL" | "WAIT_CANCELLATION_COMPLETED" | "ABANDON">


decodeRetryState

decodeRetryState(input): undefined | "IN_PROGRESS" | "NON_RETRYABLE_FAILURE" | "TIMEOUT" | "MAXIMUM_ATTEMPTS_REACHED" | "RETRY_POLICY_NOT_SET" | "INTERNAL_SERVER_ERROR" | "CANCEL_REQUESTED"

Parameters

NameType
inputundefined | null | RetryState

Returns

undefined | "IN_PROGRESS" | "NON_RETRYABLE_FAILURE" | "TIMEOUT" | "MAXIMUM_ATTEMPTS_REACHED" | "RETRY_POLICY_NOT_SET" | "INTERNAL_SERVER_ERROR" | "CANCEL_REQUESTED"


decodeTimeoutType

decodeTimeoutType(input): undefined | "START_TO_CLOSE" | "SCHEDULE_TO_START" | "SCHEDULE_TO_CLOSE" | "HEARTBEAT"

Parameters

NameType
inputundefined | null | TimeoutType

Returns

undefined | "START_TO_CLOSE" | "SCHEDULE_TO_START" | "SCHEDULE_TO_CLOSE" | "HEARTBEAT"


decodeWorkflowIdConflictPolicy

decodeWorkflowIdConflictPolicy(input): undefined | "FAIL" | "USE_EXISTING" | "TERMINATE_EXISTING"

Parameters

NameType
inputundefined | null | WorkflowIdConflictPolicy

Returns

undefined | "FAIL" | "USE_EXISTING" | "TERMINATE_EXISTING"


decodeWorkflowIdReusePolicy

decodeWorkflowIdReusePolicy(input): undefined | "ALLOW_DUPLICATE" | "ALLOW_DUPLICATE_FAILED_ONLY" | "REJECT_DUPLICATE" | "TERMINATE_IF_RUNNING"

Parameters

NameType
inputundefined | null | WorkflowIdReusePolicy

Returns

undefined | "ALLOW_DUPLICATE" | "ALLOW_DUPLICATE_FAILED_ONLY" | "REJECT_DUPLICATE" | "TERMINATE_IF_RUNNING"


decompileRetryPolicy

decompileRetryPolicy(retryPolicy?): RetryPolicy | undefined

Turn a proto compatible RetryPolicy into a TS RetryPolicy

Parameters

NameType
retryPolicy?null | IRetryPolicy

Returns

RetryPolicy | undefined


encodeActivityCancellationType

encodeActivityCancellationType(input): undefined | ActivityCancellationType

Parameters

NameType
inputundefined | null | ActivityCancellationType | RemovePrefix<"", "TRY_CANCEL" | "WAIT_CANCELLATION_COMPLETED" | "ABANDON">

Returns

undefined | ActivityCancellationType


encodeRetryState

encodeRetryState(input): undefined | RetryState

Parameters

NameType
inputundefined | null | RetryState | "IN_PROGRESS" | "NON_RETRYABLE_FAILURE" | "TIMEOUT" | "MAXIMUM_ATTEMPTS_REACHED" | "RETRY_POLICY_NOT_SET" | "INTERNAL_SERVER_ERROR" | "CANCEL_REQUESTED" | "RETRY_STATE_IN_PROGRESS" | "RETRY_STATE_NON_RETRYABLE_FAILURE" | "RETRY_STATE_TIMEOUT" | "RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED" | "RETRY_STATE_RETRY_POLICY_NOT_SET" | "RETRY_STATE_INTERNAL_SERVER_ERROR" | "RETRY_STATE_CANCEL_REQUESTED"

Returns

undefined | RetryState


encodeTimeoutType

encodeTimeoutType(input): undefined | TimeoutType

Parameters

NameType
inputundefined | null | TimeoutType | "START_TO_CLOSE" | "SCHEDULE_TO_START" | "SCHEDULE_TO_CLOSE" | "HEARTBEAT" | "TIMEOUT_TYPE_START_TO_CLOSE" | "TIMEOUT_TYPE_SCHEDULE_TO_START" | "TIMEOUT_TYPE_SCHEDULE_TO_CLOSE" | "TIMEOUT_TYPE_HEARTBEAT"

Returns

undefined | TimeoutType


encodeWorkflowIdConflictPolicy

encodeWorkflowIdConflictPolicy(input): undefined | WorkflowIdConflictPolicy

Parameters

NameType
inputundefined | null | WorkflowIdConflictPolicy | "WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING" | "FAIL" | "USE_EXISTING" | "TERMINATE_EXISTING" | "WORKFLOW_ID_CONFLICT_POLICY_FAIL" | "WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING"

Returns

undefined | WorkflowIdConflictPolicy


encodeWorkflowIdReusePolicy

encodeWorkflowIdReusePolicy(input): undefined | WorkflowIdReusePolicy

Parameters

NameType
inputundefined | null | WorkflowIdReusePolicy | "ALLOW_DUPLICATE" | "ALLOW_DUPLICATE_FAILED_ONLY" | "REJECT_DUPLICATE" | "TERMINATE_IF_RUNNING" | "WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE" | "WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY" | "WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE" | "WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING"

Returns

undefined | WorkflowIdReusePolicy


ensureApplicationFailure

ensureApplicationFailure(error): ApplicationFailure

If error is already an ApplicationFailure, returns error.

Otherwise, converts error into an ApplicationFailure with:

  • message: error.message or String(error)
  • type: error.constructor.name or error.name
  • stack: error.stack or ''

Parameters

NameType
errorunknown

Returns

ApplicationFailure


ensureTemporalFailure

ensureTemporalFailure(err): TemporalFailure

If err is an Error it is turned into an ApplicationFailure.

If err was already a TemporalFailure, returns the original error.

Otherwise returns an ApplicationFailure with String(err) as the message.

Parameters

NameType
errunknown

Returns

TemporalFailure


extractWorkflowType

extractWorkflowType<T>(workflowTypeOrFunc): string

Type parameters

NameType
Textends Workflow

Parameters

NameType
workflowTypeOrFuncstring | T

Returns

string


fromPayloadsAtIndex

fromPayloadsAtIndex<T>(converter, index, payloads?): T

Implements conversion of an array of values of different types. Useful for deserializing arguments of function invocations.

Type parameters

Name
T

Parameters

NameTypeDescription
converterPayloadConverter
indexnumberindex of the value in the payloads
payloads?null | IPayload[]serialized value to convert to JS values.

Returns

T

converted JS value

Throws

PayloadConverterError if conversion of the data passed as parameter failed for any reason.


mapFromPayloads

mapFromPayloads<K>(converter, map?): Record<K, unknown> | undefined

Type parameters

NameType
Kextends string

Parameters

NameType
converterPayloadConverter
map?null | Record<K, IPayload>

Returns

Record<K, unknown> | undefined


mapToPayloads

mapToPayloads<K>(converter, map): Record<K, Payload>

Run PayloadConverter.toPayload on each value in the map.

Type parameters

NameType
Kextends string

Parameters

NameType
converterPayloadConverter
mapRecord<K, any>

Returns

Record<K, Payload>

Throws

ValueError if conversion of any value in the map fails


rootCause

rootCause(error): string | undefined

Get the root cause message of given error.

In case error is a TemporalFailure, recurse the cause chain and return the root cause.message. Otherwise, return error.message.

Parameters

NameType
errorunknown

Returns

string | undefined


toPayloads

toPayloads(converter, ...values): Payload[] | undefined

Implements conversion of a list of values.

Parameters

NameTypeDescription
converterPayloadConverter
...valuesunknown[]JS values to convert to Payloads

Returns

Payload[] | undefined

list of Payloads

Throws

ValueError if conversion of the value passed as parameter failed for any reason.