Repository navigation
fix(providers): project array items before selecting values - #76
Open
rudycelekli wants to merge 1 commit into
Open
rudycelekli wants to merge 1 commit into
rudycelekli wants to merge 1 commit into
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
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.
What & why
The documented
[]response projection promises the first non-empty projected value, but the walker takes the first array item before reading the rest of the path. A provider response such as{"results": [{}, {"email": "person@example.test"}]}is therefore classified asno_data; an HTTP action with the same extractor reportsno_match.Walk the remaining path for each array item until a non-null, non-empty-string value is found. Keep explicit indexes, response order, zero/false values and no-match behavior. The same existing projection helper fixes both declarative provider mappings and HTTP action extracts.
Type
Verification
Frozen regressions execute compiled manifest providers through
httpx.MockTransportand the HTTP action entry point. Missing, null and empty first values plus nested fan-out previously failed five cases; seven controls already passed. The controls retain first-result priority, explicit[0]/[1], typed zero/false values and empty/invalid-array no-match behavior.With the patch, all 33 tests in the new projection suite and existing declarative-provider/HTTP-action suites pass locally. Full unchanged canonical CI passed all four jobs on the signed head: SQLite (2,104 passed; 134 skipped; 3 deselected), PostgreSQL (18 passed), frontend lint/tests/build (63 tests), and browser regressions (3 passed).
Checklist
git commit -s) per the DCObun run lint && bun run build) — canonical CISecurity-sensitive?
Only post-response value projection changes. Existing URL/DNS guards, auth/credential resolution, transports and tenant boundaries are unchanged. Offline tests stub HTTP responses and resolve the test host to a public IP; they do not prove live provider delivery. No vulnerability disclosure is included.
Notes
AI-assisted implementation and tests; independently reviewed reproduction and patch. No public API, schema, dependency or workflow changes. No bundled manifest currently uses
[]; this corrects the already advertised custom mapping and HTTP-extraction behavior.Root independently replayed the 33 focused and adjacent tests (33 passed) and refreshed all nine authored open PRs with complete paginated feedback/CI snapshots before publication; no actionable feedback, failed checks or overlap was found.