Skip to main content

Crate dex_sdk

Crate dex_sdk 

Source
Expand description

Strongly typed Rust client and worker APIs for durable Dex Flows.

Define Flow and Step implementations, register them with Registry, host them with Worker, and control executions with Client. The crate also exposes typed Attributes, Channels, waits, decisions, RPCs, lifecycle options, and structured errors.

Structs§

ApiKeyCredential
Exchanges an application API key for short-lived Dex access tokens.
ApiKeyCredentialBuilder
Configures validation, HTTP transport, and the first API-key exchange.
ApiKeyCredentialError
A validation, transport, timeout, or response failure during API-key exchange.
Attribute
Defines one durable, typed value stored with a Flow.
AttributeIndex
Describes how Dex projects an Attribute value into its Flow-search index.
AttributeLock
Identifies an Attribute or Attribute-map instance lock.
AttributeMap
Defines keyed durable values sharing one Attribute name.
AttributeMapLoad
Selects one AttributeMap instance to load for a handler invocation.
AttributeMatch
Describes a scalar Attribute predicate.
BlobCache
Stores immutable Dex blob payloads in a bounded local directory.
BlobCacheConfig
Configures one persistent crate::BlobCache.
BufferedTextStream
Batches text chunks during one Step invocation.
BufferedTextStreamOptions
Configures an invocation-managed buffered text Stream writer.
Channel
Defines one durable FIFO queue of typed messages.
ChannelGuard
Identifies a Channel or Channel-map instance that must be empty before conditional completion.
ChannelMap
Defines independently queued Channel instances under one name.
ChannelMapLoad
Selects one ChannelMap instance’s pending messages for a handler invocation.
ChannelMessage
Identifies one typed value that is still pending in a Channel.
Client
Provides blocking, typed control of registered Dex Flows.
ClientOptions
Configures how a crate::Client reaches Dex.
Condition
Represents one durable timer, Channel, or SubFlow predicate.
ConditionCombination
Groups conditions that must all succeed as one branch of Wait::any_combination_of.
Context
Provides invocation metadata and staged durable changes to Step and RPC handlers.
CredentialError
An error obtaining a bearer token before a Dex request.
FileCredential
Reads a token file at construction and after its modification time or size changes.
FlowConfig
Overrides runtime behavior for one Flow.
FlowInfo
Summarizes one Flow run returned by crate::Client::describe_flow.
FlowResult
Describes an observed Flow status and its output-bearing completions.
FlowTimeoutHandlerFailure
Routes exhausted Flow timeout-handler retries to an input-free Step.
FlowTimeoutHandlerOptions
Configures execution and selective state loading for a Flow timeout handler.
HandlerError
Reports an application-defined Step or RPC failure to Dex.
PersistenceSchema
Declares the Attributes, Channels, and Streams a Flow owns.
PullQueueRegistrationState
Independent snapshot of one queue’s registration state.
PullRegistrationError
Permanent rejection that leaves a pull queue without any registered stream.
PullRegistrationState
Independent readiness snapshot returned by crate::Worker::pull_registration_state.
PullWorkerOptions
Configures outbound polling for a Worker.
RecoveryErrorInfo
Describes the final failure that caused a Step method recovery.
Registry
Validates and stores all Flow definitions used by a Client or Worker.
RetryPolicy
Overrides Dex retry timing for a Flow, wait_for, or execute operation.
Rpc
Names one typed RPC exposed by a Flow.
RpcDefinition
Adds execution options to a typed Rpc before handler binding.
RpcInvokeOptions
Adds runtime-selected map instances to one RPC invocation.
RpcList
Binds typed RPC definitions to methods on one Flow type.
RpcResult
Carries a typed RPC output and optional Step movements.
SearchFlowEntry
Contains one Flow row returned by a search query.
SearchFlowsOptions
Controls inclusion of earlier Continue-as-New runs in visibility searches.
SearchFlowsPage
Contains one page of crate::Client::search_flows results.
ServiceError
Preserves one failed Dex service operation and its transport source.
StartFlowOptions
Configures a new Flow execution.
StepCompletion
Contains one output-bearing Step completion returned by crate::Client::wait_for_flow.
StepDecision
Describes the durable outcome of one successful Step execution.
StepExecutionId
Identifies one execution of a Step type within a Flow run.
StepList
Collects a Flow’s starting Step and remaining Step definitions.
StepMovement
Targets a Step with encoded input and an optional per-movement options override.
StepOptions
Configures one Step’s handler execution and persistence behavior.
StopFlowOptions
Selects how crate::Client::stop_flow ends an active Flow.
Stream
Defines a typed best-effort resumable message Stream owned by one Flow type.
StreamMessage
Describes one retained Stream message returned by Stream Client reads.
StreamMessagesPage
Contains one newest-first page returned by crate::Client::list_stream_messages.
SubFlow
Creates durable SubFlow Conditions and reads their Execute results.
SubFlowOptions
Configures one durable SubFlow Condition.
TimeTravelOptions
Selects a historical point from which crate::Client::time_travel creates a new run.
Timer
Creates durable timer conditions for Step waits.
Wait
Describes when Dex may invoke a Step’s execute handler.
WaitForAttributeOptions
Configures one durable Attribute match wait.
WaitForStepCompletionOptions
Configures one durable Step completion wait.
Worker
Runs registered Flow Step and RPC handlers through outbound task streams.
WorkerError
Preserves the original Worker-side error carried by a service failure.
WorkerOptions
Configures a pull crate::Worker and its outbound Dex connection.

Enums§

ActiveStepSearchMode
Controls which active Step types Dex indexes for Flow search.
ErrorSubStatus
Provides Dex-specific detail beyond a gRPC status code.
FlowErrorType
Categorizes the failure recorded for an uncompleted Flow.
FlowStatus
Describes the current or terminal state of a Flow run.
FlowTimeoutPolicy
Controls how Dex responds when a positive soft Flow timeout expires.
GrpcCode
gRPC status codes used by Status.
IdReusePolicy
Controls whether crate::Client::start_flow_with_options may reuse a Flow ID.
SdkError
Reports service, definition, value, handler, and Flow-completion failures.
StepDurability
Controls when staged Step persistence must be durably acknowledged.
SubFlowReusePolicy
Controls how a generated SubFlow Flow ID resolves an existing execution.
TimeTravelStepMethod
Selects the Step method used as a Step execution time travel boundary.
TimerId
Selects one timer from a Step execution for crate::Client::skip_timer.
WaitForFailurePolicy
Selects the terminal behavior after wait_for exhausts its retry policy.

Traits§

Credential
Supplies the current bearer token before each Dex request.
Flow
Defines a durable application Flow and its registered API surface.
Step
Defines one durable state transition in a Flow.
Value
Marks application values that Dex can serialize as JSON and move across handler boundaries.

Type Aliases§

FlowTimeoutHandler
Function registered by a Flow to handle expiration of its soft timeout.
HandlerResult
Result returned by application Step and RPC handlers.
SdkResult
Result returned by fallible Dex SDK operations.