Skip to content

Update system Nexus WIT generator annotations#813

Closed
tconley1428 wants to merge 29 commits into
masterfrom
system-nexus-wit
Closed

Update system Nexus WIT generator annotations#813
tconley1428 wants to merge 29 commits into
masterfrom
system-nexus-wit

Conversation

@tconley1428

Copy link
Copy Markdown
Contributor

Summary

  • add DotNet generator annotations for the system Nexus workflow service WIT
  • update TypeScript WIT directives from package-based imports to import directives
  • add DotNet type/source/transform metadata to shared Nexus Temporal model types

Testing

  • git diff --check

stephanos and others added 29 commits May 11, 2026 15:51
## What changed?

Add `standalone_nexus_operations` to `NamespaceInfo.Capabilities`.

## Why?

Allows `DescribeNamespace` callers to determine whether standalone Nexus
operations are available for a namespace.
**What changed?**
Add `nexusannotations/v1` package to define service operations as
exposed for Nexus handlers.

A sample of a code generator that takes use of this command is
[here](temporalio/api-go@da6df03)

**Why?**
Enables the system nexus endpoint work in server repo

**Breaking changes**
NA

**Server PR**
NA
_**READ BEFORE MERGING:** All PRs require approval by both Server AND
SDK teams before merging! This is why the number of required approvals
is "2" and not "1"--two reviewers from the same team is NOT sufficient.
If your PR is not approved by someone in BOTH teams, it may be summarily
reverted._

<!-- Describe what has changed in this PR -->
**What changed?**
Add Callbacks and Links to Workflow Update.

<!-- Tell your future self why have you made these changes -->
**Why?**
Will allow starting async updates from a Nexus Operation Handler

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**


<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**

temporalio/temporal#9614

---------

Co-authored-by: long-nt-tran <long.tran@temporal.io>
**What changed?**
- Added `state_size_bytes` to scheduler structs

**Why?**
- Needed by metering validation pipelines, potentially useful to
customers interested in storage costs
- Same pattern as in SAA

**Breaking changes**
- New fields only
**What changed?**
Added two new fields to ActivityExecutionInfo in
temporal/api/activity/v1/message.proto:
- sdk_name (field 35) — name of the SDK of the worker that most recently
picked up an attempt of the activity
  - sdk_version (field 36) — corresponding SDK version

**Why?**
Standalone Activities have no way to expose which SDK ran a given
attempt. Workflows already expose this info; this PR adds the public API
surface so DescribeActivityExecution can return the same info.
**What changed?**
Use the fully qualified name for nexus YAML spec

**Why?**
The service name should be the fully qualified name in case of future
clashes on service names.

**Breaking changes**
NA

**Server PR**
NA
<!-- Describe what has changed in this PR -->
**What changed?**
Add poller group info to `DescribeNamespace`.

<!-- Tell your future self why have you made these changes -->
**Why?**
This allows SDK to send initial polls to the right poler groups and not
have to wait for the first poll response up to 1 min.

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
None

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
**What changed?**
Adds state_size_bytes to NexusOperationExecutionInfo

**Why?**
Enables storage estimates for operations
<!-- Describe what has changed in this PR -->
**What changed?**
Changed all references from `master` to `main`. For triggers, added
`main` and kept `master` as a trigger. Will remove `master` trigger in a
separate PR, after the branch is removed.


<!-- Tell your future self why have you made these changes -->
**Why?**
Switching from `master` to `main` for default branch


<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**


<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
<!-- Describe what has changed in this PR -->
**What changed?**
Remove `master` branch triggers


<!-- Tell your future self why have you made these changes -->
**Why?**
`master` renamed to `main`

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**


<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
…ivityExecutionRequest (#792)

<!-- Describe what has changed in this PR -->
**What changed?**
Added `include_heartbeat_details` and `include_last_failure` to
`DescribeActivityExecutionRequest`. The intention is that by default,
`ActivityExecutionInfo` will omit `heartbeat_details` and
`last_failure`.

<!-- Tell your future self why have you made these changes -->
**Why?**
`heartbeat_details` and `last_failure` are user-controlled payloads and
potentially very large. These changes allow sending these payloads only
when specifically requested, reducing message size when they aren't
needed.

<!-- Are there any breaking changes on binary or code level? -->
**Breaking changes**
This PR changes what the default behavior of `DescribeActivityExecution`
should be. The old behavior is equivalent to setting both
`include_heartbeat_details` and `include_last_failure` to true. The
server does not need to be immediately updated since the current
implementation is functional with new API - however, once server
implements the new API, old clients will break if they rely on the old
behavior. Note that SAA APIs are in Public Preview and breaking changes
can happen.

<!-- If this breaks the Server, please provide the Server PR to merge
right after this PR was merged. -->
**Server PR**
TBD
@tconley1428 tconley1428 requested a review from a team as a code owner June 29, 2026 18:10
@tconley1428 tconley1428 requested a review from a team as a code owner June 29, 2026 18:10
@tconley1428

Copy link
Copy Markdown
Contributor Author

Closing in favor of the clean PR against main: #814

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants