v0.6.1
Four bug fixes, all reported from real use. Every one of them failed quietly — a command that errored against the server, or output that was wrong without saying so.
worksome accounts get now works
It sent a bare accounts field with no subfield selection, which the server rejects. accounts returns an interface, and the generator only built selection sets for object types. Nested interface-typed fields (supplier, owner, employerOfRecord) had been silently omitted from every query for the same reason.
53 of the 198 generated queries changed: interface-typed fields now get a selection set, and interface results carry __typename — so a list of accounts tells you which of Company, Organisation, Partner, Recruiter or Worker each row is.
--fields no longer drops nested paths through lists
--fields id,owners.name came back with owners missing — no error, just absent. The query was correct and the server returned the data; the output filter threw it away because it only descended into maps, never lists.
Table columns that traverse a list now render
--output table left cells blank when the path continued into a list, which reads as "this record has none" rather than "the CLI could not follow that path".
53 columns rendered blank across the generated commands. 28 of them now carry data — their fields were interface-typed and had never been selected. The other 25 were generated for fields no query asks for and have been removed, so a column present in a table now means the data was actually requested. A regression test fails the build if the two ever drift apart again.
Input-object flags are sent as JSON
--order-by and the --*-date-range filters were registered as strings and sent verbatim, so the server rejected the type on every invocation. They now take JSON:
$ worksome hires list --start-date-range '{"start":"2026-07-01","end":"2026-07-31"}'
$ worksome hires list --order-by '[{"column":"CREATED_AT","order":"DESC"}]'A bad value fails locally with the type it needs, instead of a server-side type error:
$ worksome hires list --order-by '"nonsense"'
Error: --order-by expects a JSON object for [HiresOrderByClauseInput!], got "nonsense"--help now names the expected type on those flags.
Note on table output
Removing the 25 dead columns changes the shape of --output table for the commands that had them, and a few columns changed identity where a phantom was replaced by a field that is actually fetched (hires list shows Latest Contract Status where it showed an always-blank Latest Contract Job Name). Nothing that carried data was removed. If you are parsing output in a script, use --output json — column layout is presentation and will keep moving.
Upgrade: brew upgrade --cask worksome