Client-side workflow operations. Wraps Hourglass.Bridge.client_*
NIFs; translates %Bridge.Error{} to higher-level %Error{} reasons.
Summary
Functions
Returns the cluster default namespace as resolved from
:hourglass, Hourglass.Client Application config (:namespace),
the TEMPORAL_NAMESPACE env var, or "default".
Returns the cluster gRPC target URL from app config / env / default.
Public for the same reason as default_namespace/0.
Types
@type t() :: reference()
Functions
@spec await_workflow(t(), Hourglass.WorkflowHandle.t(), keyword()) :: {:ok, term()} | {:error, Hourglass.Error.t()}
@spec connect(keyword()) :: {:ok, t()} | {:error, Hourglass.Error.t()}
@spec default_namespace() :: String.t()
Returns the cluster default namespace as resolved from
:hourglass, Hourglass.Client Application config (:namespace),
the TEMPORAL_NAMESPACE env var, or "default".
Public so call sites that build their own gRPC requests outside
connect/1 (e.g. Hourglass.BridgeHolder.build_worker_config/2)
can share the same source of truth — preventing
worker-vs-workflow-namespace skew where one side uses the configured
namespace and the other falls back to "default".
@spec default_target_url() :: String.t()
Returns the cluster gRPC target URL from app config / env / default.
Public for the same reason as default_namespace/0.
@spec ensure_namespace(t(), String.t()) :: :ok | {:error, Hourglass.Error.t()}
@spec fetch_history(t(), String.t()) :: {:ok, binary()} | {:error, Hourglass.Error.t()}
@spec health(t()) :: :ok | {:error, Hourglass.Error.t()}
@spec start_workflow(t(), module(), term(), keyword()) :: {:ok, Hourglass.WorkflowHandle.t()} | {:error, Hourglass.Error.t()}