Skip to content

Add system Nexus signalWithStartWorkflow API#2127

Open
tconley1428 wants to merge 20 commits into
mainfrom
nexus-api-gen-signal-with-start
Open

Add system Nexus signalWithStartWorkflow API#2127
tconley1428 wants to merge 20 commits into
mainfrom
nexus-api-gen-signal-with-start

Conversation

@tconley1428

Copy link
Copy Markdown
Contributor

Summary

  • add system Nexus TypeScript generation to build:protos using nex-gen
  • expose generated signalWithStartWorkflow workflow API and checked-in generated review output
  • serialize system Nexus envelopes with default JSON through the isolate, then protobuf-binary in the worker while applying codecs only to nested payloads
  • add unit and integration coverage for codec/payload converter behavior

Validation

  • NEX_GEN_BIN=../nexus-api-gen/target/debug/nex-gen pnpm run build:protos
  • pnpm --filter @temporalio/test run build:ts
  • pnpm -C packages/test exec ava ./lib/test-workflow-codec-runner.js
  • pnpm -C packages/test exec ava ./lib/test-system-nexus.js

Notes

  • Draft while the corresponding nex-gen TypeScript export/metadata changes are finalized and published.

Comment thread scripts/gen-system-nexus.ts Outdated
Comment thread packages/worker/src/system-nexus-payload-visitor.ts Outdated
Comment thread packages/worker/src/system-nexus-payload-visitor.ts Outdated
Comment thread packages/worker/src/system-nexus-payload-visitor.ts Outdated
Comment thread packages/worker/src/system-nexus-payload-converter.ts Outdated
Comment thread packages/worker/src/system-nexus-payload-converter.ts
Comment thread packages/worker/src/system-nexus-payload-converter.ts
Comment thread packages/worker/src/system-nexus-payload-converter.ts Outdated
Comment thread .github/workflows/ci.yml
Comment thread scripts/gen-system-nexus.ts Outdated
Comment thread scripts/gen-system-nexus.ts Outdated
Comment thread packages/workflow/package.json Outdated
Comment thread scripts/gen-system-nexus.ts
Comment thread packages/workflow/system-nexus/typescript/temporal_model_converters.ts Outdated
Comment thread scripts/gen-system-nexus.ts
@tconley1428
tconley1428 force-pushed the nexus-api-gen-signal-with-start branch from f5454fa to aeb63ca Compare June 29, 2026 16:23
@tconley1428
tconley1428 marked this pull request as ready for review July 13, 2026 14:55
@tconley1428
tconley1428 requested a review from a team as a code owner July 13, 2026 14:55

@chris-olszewski chris-olszewski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Dumping some minor package hygiene suggestions

Comment thread .github/workflows/conventions.yml Outdated
Comment thread packages/workflow/package.json
Comment thread package.json
"lint": "eslint --no-error-on-unmatched-pattern --fix && prettier --write . && pnpm --recursive --stream run lint",
"lint:check": "eslint --no-error-on-unmatched-pattern && prettier --end-of-line auto --check . && pnpm --recursive --stream run lint:check",
"lint:prune": "ts-prune --error -p tsconfig.prune.json --ignore \"used in module\" --skip \".d.ts\"",
"lint:prune": "ts-prune --error -p tsconfig.prune.json --ignore \"used in module|packages/workflow/src/nexus/system/generated\" --skip \".d.ts\"",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note to self: verify dead code in workflow package isn't a significant increase

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It's mostly some proto converters that aren't necessarily used, it shouldn't be substantial.

Comment thread package.json Outdated

@chris-olszewski chris-olszewski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

2 questions and I do think we want to avoid using user configured payload converter for the search attributes

Comment thread packages/worker/src/workflow-codec-runner.ts Outdated
Comment thread packages/workflow/system-nexus/typescript/temporal_model_converters.ts Outdated
Comment thread packages/worker/src/workflow-codec-runner.ts
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