fix(dispatch): render scalar-array list responses as a named column - #14
Merged
Merged
Conversation
A list body shaped like {"regions": ["us-east-1", ...]} — an object whose
single array holds bare strings — rendered as an empty list. detect_shape
unwrapped it to a bare array, then build_list_table derived columns only
from object fields, found none, and returned early with zero rows.
Thread the unwrapped object key through ResponseShape::Array so the scalar
case renders as a single column named after that key (e.g. "Regions"),
falling back to the collection noun for bare top-level arrays. A genuinely
empty array still renders as the empty-collection view. Fixes
`ags ams info list-regions` showing nothing.
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.
Problem
A list body shaped like
{"regions": ["us-east-1", ...]}— an object whose single array holds bare strings — rendered as an empty list.detect_shapeunwrapped it to a bare array, thenbuild_list_tablederived columns only from object fields, found none, and returned early with zero rows. Soags ams info list-regionsshowed nothing, even though the data was present (the workflow dynamic-enum picker, which reads$.regionsfrom the raw body, listed the regions fine).Fix
Thread the unwrapped object key through
ResponseShape::Arrayso the scalar case renders as a single column named after that key (e.g.Regions), falling back to the collection noun for bare top-level arrays. A genuinely empty array still renders as the empty-collection view.Tests
{"regions": [strings]}body shapes into a Collection with a singleRegionscolumn (regression guard for the empty-list bug).