Skip to content

Fix custom orchestrator output serialization - #620

Open
andystaples wants to merge 2 commits into
devfrom
andystaples-fix-custom-output-serialization
Open

Fix custom orchestrator output serialization#620
andystaples wants to merge 2 commits into
devfrom
andystaples-fix-custom-output-serialization

Conversation

@andystaples

Copy link
Copy Markdown
Collaborator

Summary

  • serialize orchestrator output before nesting it in OrchestratorState
  • preserve the established custom-object envelope used by activity outputs
  • support strict-mode sub-orchestrator reconstruction through expected_type or discovered return annotations
  • document why the output and protocol state are encoded separately

Tests

  • custom output serialization in loose and strict typing modes
  • strict typed sub-orchestrator round-trip
  • strict rejection when no output type is available

Fixes #568

Encode orchestration output before nesting it in the protocol state so custom objects retain the established Durable JSON envelope and remain decodable in strict typing mode.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6463621c-77a2-4711-8cb2-c58051d43064
The legacy azure-functions fallback does not implement strict typing, so only assert strict decode rejection when the centralized SDK serializers are available.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6463621c-77a2-4711-8cb2-c58051d43064
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.

Custom object serialization broken for orchestrator return values

1 participant