Skip to content

fix: preserve workflow node/edge keys from case conversion#60

Merged
PennyroyalTea merged 1 commit intomainfrom
bs/fix-workflow-node-key-conversion
Feb 26, 2026
Merged

fix: preserve workflow node/edge keys from case conversion#60
PennyroyalTea merged 1 commit intomainfrom
bs/fix-workflow-node-key-conversion

Conversation

@PennyroyalTea
Copy link
Collaborator

Summary

  • Workflow nodes and edges child keys (e.g. start_node, edge_start_to_agent) are user-defined identifiers, not schema fields. toCamelCaseKeys was converting them (start_node -> startNode), causing the API to reject pushes with "Workflow must contain a start node"
  • Extract the growing chain of preserved-key checks into a shared PRESERVE_CHILD_KEYS set, adding nodes/edges alongside the existing request_headers and dynamic_variables entries
  • Schema fields within nodes/edges (e.g. edge_order, agent_id) are still correctly camel-cased

Fixes #57

Test plan

  • pnpm build compiles
  • pnpm test -- all 164 tests pass (3 new workflow key preservation tests, 5 existing tests updated to assert correct behavior)
  • Manual: elevenlabs agents pull then elevenlabs agents push for an agent without an explicit workflow

🤖 Generated with Claude Code

…#57)

Workflow nodes and edges keys (e.g. start_node, edge_start_to_agent) are
user-defined identifiers, not schema fields. toCamelCaseKeys was converting
them (start_node -> startNode), causing the API to reject pushes with
"Workflow must contain a start node".

Extract preserved-key checks into a shared PRESERVE_CHILD_KEYS set and
add nodes/edges alongside the existing request_headers and
dynamic_variables entries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@PennyroyalTea PennyroyalTea merged commit d3909cb into main Feb 26, 2026
4 checks passed
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.

Elevenlabs agents push fails with 422 UnprocessableEntityError (without workflow)

1 participant