Skip to content
Draft
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
95fc943
implement standalone nexus operations
VegetarianOrc Apr 16, 2026
30636bf
Move nexus operation polling to an interceptable client method. Add i…
VegetarianOrc Apr 17, 2026
9364c23
Add test demonstrating error chain. Ensure that failures are wrapped …
VegetarianOrc Apr 17, 2026
325d8bc
Run uv sync after rebase
VegetarianOrc Apr 17, 2026
a922015
Make result_type take precedence in get_nexus_operation_handle to mat…
VegetarianOrc Apr 20, 2026
ca355da
Add caching of failures for NexusOperationHandle
VegetarianOrc Apr 22, 2026
153a1f8
Consistency pass on models from proto. Expose long_poll_token
VegetarianOrc Apr 23, 2026
c06c023
expose user metadata. some type fixes
VegetarianOrc Apr 24, 2026
9b3aaa2
Address findings/suggestions from claude
VegetarianOrc Apr 24, 2026
4e4ebf5
merge main
VegetarianOrc Apr 29, 2026
4fb10ff
generate protos. Update bridge dependency to reference the right vers…
VegetarianOrc Apr 30, 2026
7ec5eb1
Merge branch 'main' into amazzeo/sano
VegetarianOrc Apr 30, 2026
8e36478
enable start_delay for SAA in test server config
VegetarianOrc Apr 30, 2026
046ab9c
Fix warning spam about invalid workflow event links by filtering nexu…
VegetarianOrc Apr 30, 2026
ca3ce68
merge main
VegetarianOrc Apr 30, 2026
96fe387
skip sano tests on the time skipping server
VegetarianOrc May 1, 2026
aff41de
Fix typo
VegetarianOrc May 1, 2026
3ccf191
Fix typo in docstring
VegetarianOrc May 1, 2026
de948fe
Merge branch 'main' into amazzeo/sano
VegetarianOrc May 1, 2026
2a0fa88
Update docstring to not use parens
VegetarianOrc May 1, 2026
3a7b65c
Respect service decorator field 'name' in sano client. add test verif…
VegetarianOrc May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ exclude = [
]

[tool.ruff]
target-version = "py39"
target-version = "py310"

[build-system]
requires = ["maturin>=1.0,<2.0"]
Expand Down
70 changes: 44 additions & 26 deletions temporalio/api/command/v1/message_pb2.py

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions temporalio/api/command/v1/message_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,7 @@ class RequestCancelExternalWorkflowExecutionCommandAttributes(
CHILD_WORKFLOW_ONLY_FIELD_NUMBER: builtins.int
REASON_FIELD_NUMBER: builtins.int
namespace: builtins.str
"""Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1."""
workflow_id: builtins.str
run_id: builtins.str
control: builtins.str
Expand Down Expand Up @@ -386,6 +387,7 @@ class SignalExternalWorkflowExecutionCommandAttributes(google.protobuf.message.M
CHILD_WORKFLOW_ONLY_FIELD_NUMBER: builtins.int
HEADER_FIELD_NUMBER: builtins.int
namespace: builtins.str
"""Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1."""
@property
def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
signal_name: builtins.str
Expand Down Expand Up @@ -757,6 +759,7 @@ class StartChildWorkflowExecutionCommandAttributes(google.protobuf.message.Messa
INHERIT_BUILD_ID_FIELD_NUMBER: builtins.int
PRIORITY_FIELD_NUMBER: builtins.int
namespace: builtins.str
"""Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1."""
workflow_id: builtins.str
@property
def workflow_type(self) -> temporalio.api.common.v1.message_pb2.WorkflowType: ...
Expand Down
2 changes: 2 additions & 0 deletions temporalio/api/common/v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
MeteringMetadata,
Payload,
Payloads,
Principal,
Priority,
ResetOptions,
RetryPolicy,
Expand All @@ -31,6 +32,7 @@
"MeteringMetadata",
"Payload",
"Payloads",
"Principal",
"Priority",
"ResetOptions",
"RetryPolicy",
Expand Down
55 changes: 41 additions & 14 deletions temporalio/api/common/v1/message_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

68 changes: 67 additions & 1 deletion temporalio/api/common/v1/message_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -883,23 +883,59 @@ class Link(google.protobuf.message.Message):
self, field_name: typing_extensions.Literal["job_id", b"job_id"]
) -> None: ...

class NexusOperation(google.protobuf.message.Message):
"""A link to a standalone Nexus operation."""

DESCRIPTOR: google.protobuf.descriptor.Descriptor

NAMESPACE_FIELD_NUMBER: builtins.int
OPERATION_ID_FIELD_NUMBER: builtins.int
RUN_ID_FIELD_NUMBER: builtins.int
namespace: builtins.str
operation_id: builtins.str
run_id: builtins.str
def __init__(
self,
*,
namespace: builtins.str = ...,
operation_id: builtins.str = ...,
run_id: builtins.str = ...,
) -> None: ...
def ClearField(
self,
field_name: typing_extensions.Literal[
"namespace",
b"namespace",
"operation_id",
b"operation_id",
"run_id",
b"run_id",
],
) -> None: ...

WORKFLOW_EVENT_FIELD_NUMBER: builtins.int
BATCH_JOB_FIELD_NUMBER: builtins.int
NEXUS_OPERATION_FIELD_NUMBER: builtins.int
@property
def workflow_event(self) -> global___Link.WorkflowEvent: ...
@property
def batch_job(self) -> global___Link.BatchJob: ...
@property
def nexus_operation(self) -> global___Link.NexusOperation: ...
def __init__(
self,
*,
workflow_event: global___Link.WorkflowEvent | None = ...,
batch_job: global___Link.BatchJob | None = ...,
nexus_operation: global___Link.NexusOperation | None = ...,
) -> None: ...
def HasField(
self,
field_name: typing_extensions.Literal[
"batch_job",
b"batch_job",
"nexus_operation",
b"nexus_operation",
"variant",
b"variant",
"workflow_event",
Expand All @@ -911,6 +947,8 @@ class Link(google.protobuf.message.Message):
field_name: typing_extensions.Literal[
"batch_job",
b"batch_job",
"nexus_operation",
b"nexus_operation",
"variant",
b"variant",
"workflow_event",
Expand All @@ -919,10 +957,38 @@ class Link(google.protobuf.message.Message):
) -> None: ...
def WhichOneof(
self, oneof_group: typing_extensions.Literal["variant", b"variant"]
) -> typing_extensions.Literal["workflow_event", "batch_job"] | None: ...
) -> (
typing_extensions.Literal["workflow_event", "batch_job", "nexus_operation"]
| None
): ...

global___Link = Link

class Principal(google.protobuf.message.Message):
"""Principal is an authenticated caller identity computed by the server from trusted
authentication context.
"""

DESCRIPTOR: google.protobuf.descriptor.Descriptor

TYPE_FIELD_NUMBER: builtins.int
NAME_FIELD_NUMBER: builtins.int
type: builtins.str
"""Low-cardinality category of the principal (e.g., "jwt", "users")."""
name: builtins.str
"""Identifier within that category (e.g., sub JWT claim, email address)."""
def __init__(
self,
*,
type: builtins.str = ...,
name: builtins.str = ...,
) -> None: ...
def ClearField(
self, field_name: typing_extensions.Literal["name", b"name", "type", b"type"]
) -> None: ...

global___Principal = Principal

class Priority(google.protobuf.message.Message):
"""Priority contains metadata that controls relative ordering of task processing
when tasks are backed up in a queue. Initially, Priority will be used in
Expand Down
Empty file.
15 changes: 15 additions & 0 deletions temporalio/api/compute/v1/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from .config_pb2 import (
ComputeConfig,
ComputeConfigScalingGroup,
ComputeConfigScalingGroupUpdate,
)
from .provider_pb2 import ComputeProvider
from .scaler_pb2 import ComputeScaler

__all__ = [
"ComputeConfig",
"ComputeConfigScalingGroup",
"ComputeConfigScalingGroupUpdate",
"ComputeProvider",
"ComputeScaler",
]
Loading
Loading