0.1.2
pip install forward-sdk==0.1.2Everything in this release came from running the SDK against a real Forward instance (26.8.4) for the first time. Seven defects, none of which any test in this repository could have caught, because the tests and the code shared the same wrong assumption about what Forward sends.
Fixed
one_of()produced invalid NQE for enum fields. Comparingdevice.platform.vendorto a list of strings fails at run time, because NQE compares by type and an enum member is not a string. Newenum_one_of()emits the form Forward accepts.nqe.repo.source()never worked. Forward honourspathandwith=sourceCodeonly against a specific commit; asked atheadit ignores both and returns the whole library without source. It now pins the commit first.publish()could not create a query in a new directory, which Forward refuses. Missing directories are now created first.discard()could not remove a directory. Forward requires a trailing slash to create one and rejects it to discard one, so every directory a failed publish created was stranded.- Forward AI messages all failed to parse. The answer arrives as
finalAnswerand is an object, not a string. Newanswer_of()reads whichever field a deployment uses. - The
CurrentUsershape was wrong: the account nests underuser. - A repository listing returns a flat
lastCommitIdatheadand a nestedlastCommitagainst a pinned commit. Both are real, and reading only one loses the commit pin.
Confirmed
Worth as much as the fixes: contains really is rejected, so the 0.1.0 predicate fix was necessary rather than cosmetic. The snapshot listing really is unordered in both directions, so the ordering fix prevented an arbitrary snapshot being chosen. A resolved query path really does send a full 40-character commit id.
Verification was read-only apart from one AI chat and one staged draft, both removed afterwards.