Repository navigation
Conversation
Preserve serializable Segment declarations when normalizing container values instead of inferring types from their raw values. Normalize variable subclasses to bare segments so outputs bind to their owning container selectors. Carry typed outputs through completion and loop reconciliation while keeping inputs and Loop/Iteration presentation values unwrapped. Retain declared loop-variable types during initialization. Document the container value contract and cover live completion, runtime snapshots, selector ownership, and the real Loop execution path. Refs #198
4 of 5 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Important
!Related Issue
Refs #198
Also addresses the empty file output regression reported in Dify.
Summary
Container completion currently turns explicitly typed empty arrays into plain lists, so the parent variable pool infers
array[any]. Preserve declared segment types through container requests, saved runtime state, completion, and loop variable updates. Normalize child variables to plain segments before rebinding them in the parent, retaining the existing secret-to-string conversion.Keep loop and iteration progress-event outputs as plain values while their completion results retain the runtime types needed by the engine.
Checklist
!