Skip to content

Update system nexus generation to include notification service - #1925

Merged
VegetarianOrc merged 11 commits into
mainfrom
amazzeo/nexus-handler-callbacks
Oct 13, 2026
Merged

VegetarianOrc merged 11 commits into
mainfrom
amazzeo/nexus-handler-callbacks

Conversation

@VegetarianOrc

@VegetarianOrc VegetarianOrc commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What was changed

  • The Nexus system API generator also generates the new temporalio.nexus.notifications package from notification-service.wit.
  • The generated packages share one support module at temporalio/nexus/_support.
  • NexGen changes from version 0.2.4 to version 0.2.7. The workflow_service package is generated again with the new version.
  • The support file adds failure converters and a type hint for payload decoding.

Why

Nexus handler callbacks need typed Python models for the OnComplete request and response of the notification service. This PR uses the NexGen pipeline that already generates the workflow service system API to generate these models. The support module moves to a shared location so that the two generated packages can use it. The handler callback implementation is in the stacked PR (#1926).

Checklist

  1. How was it tested?
  • New tests send the notification models through the payload converter and back.

@VegetarianOrc
VegetarianOrc added this pull request to stack #1927 October 5, 2026 18:02
@VegetarianOrc
VegetarianOrc force-pushed the amazzeo/nexus-handler-callbacks branch 3 times, most recently from d9adf4b to e81a1d8 Compare October 5, 2026 18:43
Comment thread temporalio/bridge/sdk-core
Comment thread scripts/gen_nexus_system_api.py Outdated
source.write_text(rewritten)


def workflow_exports() -> list[str]:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume we need something like this for notification service too.

Comment thread scripts/gen_nexus_system_api.py Outdated
staged_notification / "_support",
]
staged_support = staged_workflow.parent / "_support"
merge_support_trees(staged_support_dirs, staged_support)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should be merging the independent support directories into one. The support files should live with the service they are defined by.

@VegetarianOrc
VegetarianOrc force-pushed the amazzeo/nexus-handler-callbacks branch from e81a1d8 to 8387538 Compare October 13, 2026 18:11
@VegetarianOrc
VegetarianOrc force-pushed the amazzeo/nexus-handler-callbacks branch from 8387538 to 71487e0 Compare October 13, 2026 18:12
@VegetarianOrc
VegetarianOrc marked this pull request as ready for review October 13, 2026 18:47
@VegetarianOrc
VegetarianOrc requested a review from a team as a code owner October 13, 2026 18:47
@VegetarianOrc
VegetarianOrc marked this pull request as draft October 13, 2026 18:51
Comment thread changelog/added/chiming-jellyfish.md Outdated
@@ -0,0 +1 @@
Add notification service models in `temporalio.nexus.notifications`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to mention how they aren't actually used for anything yet.

@VegetarianOrc
VegetarianOrc marked this pull request as ready for review October 13, 2026 22:10
@VegetarianOrc
VegetarianOrc merged commit 120af2e into main Oct 13, 2026
19 checks passed
@VegetarianOrc
VegetarianOrc deleted the amazzeo/nexus-handler-callbacks branch October 13, 2026 23:51
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.

2 participants