Skip to content

Added the stream record envelope proto. - #4

Closed
moetemp wants to merge 1 commit into
moe/AI-198-ch-api-2-workflow-listenerfrom
moe/AI-198-if-api-1-record-envelope
Closed

moetemp wants to merge 1 commit into
moe/AI-198-ch-api-2-workflow-listenerfrom
moe/AI-198-if-api-1-record-envelope

Conversation

@moetemp

@moetemp moetemp commented Oct 3, 2026

Copy link
Copy Markdown
Owner

This PR adds the stream record envelope to the public API.

What changed?

  • New temporal/api/stream/v1 package with StreamRecord and StreamRecordKind.
  • StreamRecordKind has DATA for a published value and FINISH for a producer that's done on a topic.
  • No service uses it yet, so openapi/ doesn't change.
  • The body comment only says what the field holds and who applies a codec. The native stream PR names the paths a codec walks once those paths exist.

Part of AI-198 (epic AI-37).

Why?

The SDK streaming interface lets different stream providers plug in under one reader and writer. The envelope is what a provider writes and reads. Having it in the api means a record written from Python decodes the same in Go or Rust, and in any store. The server never interprets it.

How did you test it?

Link to a test plan if any -

  • Unit Tests
  • Staging
  • End to End Tests

make buf-lint and make api-linter are clean. make http-api-docs leaves openapi/ as is. The make go-grpc output builds and vets in a scratch module. The Python PRs in the series use the envelope through the memory, Workflow Streams and Redis providers.

The envelope is what a stream provider writes and reads, so every language
decodes the same bytes. The server stores it as is and never interprets it.
@moetemp

moetemp commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

Replaced by #6 in the v5 series (phase 1, Signal wake only). The branch stays as a pin.

@moetemp moetemp closed this Oct 6, 2026
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.

1 participant