All versions since [0.3.12]
[0.3.12]
Added
- Read-only
listandshowcommands for six JMA Resources:job,workdata(aliaswd),processing-step(aliasps),template,trigger, andfolder. Each supports table, JSON, CSV, and quiet (-q) output,--wide, pagination (--limit/--offset/--all), sorting, and per-Resource filters;showaccepts a UUID or URL for every noun,name@versionfor ProcessingSteps, and a/pathfor Folders. These commands resolve their connection leniently (flag → env →pinexq.toml) and run from any directory. --helpfor every read command groups options into Connection / Output / Pagination / Filters panels; the enum filters (--state,--kind,--deployment-state) list their valid values and offer shell tab-completion.- Shell completion is enabled (
pinexq --install-completion/--show-completion). - README “Reading Resources” section documenting the new commands.
Changed
- Raise the
pinexq-clientfloor to>=1.10.0.
[0.4.0]
Added
pinexq job logs <ref>prints the Log entries of a Job, oldest first, following the Job’s Logs link to the monitoring service and paging through the whole log.-o text|raw|jsonselects the line format (text colours the level on a TTY, JSON is NDJSON),--level,--search, and--tailfilter in the CLI, and--no-color(orNO_COLOR) forces plain output.pinexq job metrics <ref>shows the Metrics of the Worker that ran a Job: a header with status, duration, and peak CPU and memory, followed by terminal plots of both series.-o jsonand-o csvemit the full series instead.actionsandactionon every Resource noun, executing the hypermedia Actions the JMA advertises instead of a hardcoded set.actions <ref>lists what a Resource offers right now with each parameter’s type;action <ref> <name>executes one by name in any spelling.--roottargets the Resource type’s creation Actions. Parameters come from--set KEY=VALUEand--json, typed and validated against the Action’s schema before anything is sent, and--dry-runprints the request without sending it.- Bound verbs on every noun, each wrapping exactly one advertised Action with typed flags:
job start,delete,hide,unhide,rename,tag,move,set-error, andcreate;wd delete(with--forcefor a WorkData whose deletion is not allowed yet),hide,unhide,rename,comment,tag,move,upload, anddownload;ps deprecate,restore,delete,hide,unhide,rename,tag,move,set-defaults, andclear-defaults;template run,delete,edit,tag --scope,set-params,clear-params,set-input,clear-input, andcreate;trigger enable,disable,delete,edit,set-templates,set-cron,set-window, andcreate;folder create,rename,move,delete, andclear. - The multi-reference Bound verbs act on several Resources at once, read references from stdin with
-(sojob list -q --state failed | job delete - -yworks), report a reference that fails and continue with the rest, and exit 1 if any failed. wd upload <file>creates a WorkData from a local file, guessing the media type from the extension and applying--tagand--folderafterwards;wd download <ref>streams the content to a file, a path, or stdout, and refuses to overwrite without--force.job createbuilds a fully configured Job in one request: ProcessingStep,--paramvalues typed against the Function’s own schema,--inputWorkData assignments (several per slot assign a collection), tags, a Folder, and--start.- An Action the JMA marks
Destructiveasks for confirmation before it runs.--yesskips the prompt, and without a terminal the command refuses rather than hanging. showin table output now ends with the names of the Actions the Resource offers, so the next step is on screen. JSON and CSV output ofshoware unchanged.- README sections for the Action verbs, every noun’s Bound verbs,
job logs, andjob metrics.
Changed
- The root
--helpgroups the Resource commands under a “Resources” panel, and each noun lists its Bound verbs in a panel of their own. - New runtime dependencies:
jsonschema(parameter validation) andplotille(thejob metricsplots).
[0.4.1]
Added
- Live contract tests for the ProcessingStep name resolution, run against a real JMA with
PINEXQ_LIVE_TESTS=1 uv run pytest -m live(they are skipped otherwise), so a mismatch between what the CLI sends and how the JMA filters is caught (#71).
Fixed
processing-step show <name>and<name>@<version>(and every Bound verb that takes such a reference) reported an existing ProcessingStep as not found. The name lookup sent the JMA’sShowDeprecatedandShowPrereleasefilters astrueto include those versions, but the JMA readstrueas “only these”, so the two together matched nothing. The lookup now sends no such filter, so deprecated, prerelease, and hidden versions all resolve (#71).- When a pinned version does not exist, the error now says which half failed:
no ProcessingStep named <name>, or<name> has no version <version>followed by the versions that do exist (#71). --hiddenonjob list,workdata list, andprocessing-step list, and--deprecated/--prereleaseonprocessing-step list, now include those Resources as documented. They used to return only those Resources, for the same reason.processing-step listalso excludes deprecated ProcessingSteps and prerelease versions by default now, as its help text always said.
[0.4.2]
Added
job start --waitandtemplate run --waitnow wait for the resulting Job to reach a terminal state and exit non-zero when it does not complete successfully.--timeoutlimits the wait while leaving the Job running.
Changed
- Raise the
pinexq-clientfloor to>=1.11.0.
[0.4.3] Latest
Added
- Step-by-step Job composition (#49).
job create --name NAMEnow creates an empty Job to compose,--processing-stepkeeps the one-shot RapidSetupJob behaviour, and--parent JOB [--inherit-folder]creates a sub-job; a flag the chosen Action has no property for is a usage error before anything is sent. job select-processing,job configure,job set-input, andjob clear-inputselect a Job’s ProcessingStep, configure its parameters, and assign, source from a folder (--folder PATH [--no-recursive]), or clear the WorkData on one input DataSlot.job configure --paramis typed against the Action’s own schema, falling back to the selected ProcessingStep’s parameter schema.- Input DataSlots are addressed by 0-based index or case-insensitive name, on
job set-input/clear-inputand on the Template verbs, andjob showandtemplate shownow list the index.
Changed
- Actions on sub-entities such as DataSlots stay reachable through the Bound verbs above rather than the generic
actioncommand (ADR-0006).