Commit Graph
5 Commits
Author SHA1 Message Date
james.maesandClaude Fable 5.1 2f47ea4ce9 feat(client): regenerate from UI API 1.10.0 and current extension documents
The sample server on 8077 still serves UI API 1.8.0, so the core document
is now qqq's committed openapi.yaml at develop 7825261ab (UI API 1.10.0)
instead of a live server, merged with each qbit's committed extension
document at origin/develop (qbit-printing: origin/main, it has no
develop). Collaboration now comes from develop, where per-session
presence is merged; assistant moves to 1.7.0 and printing to 2.3.0.
222 operations, 156 from extensions.

data-analysis 1.5.0 still carries FilterCriteria as it was before 1.9.0
(no `options`), which made the strict schema-equality rule fail the
merge. merge-spec now accepts an extension's older copy of a schema
(same schema minus later properties and enum values) and keeps the newer
one with a warning; any other difference still fails.

The client follows the UI API version, so it becomes 1.10.0
(UI_API_VERSION too). Servers on 1.9.0 now read tableVariant on writes,
so the CLI's --variant note names the versions that ignore it. The
"newer server" version tests move to 1.11.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-05 06:17:37 -06:00
james.maesandClaude Fable 5.1 9e6cad281c feat: Save as PDF through the download flow; Content or Screen prints; app header and footer (#19)
Save as PDF… is the first printer-picker entry and saves through the download flow (file dialog or silent download folder, stamped names, overwrite confirmation); :print pdf; qqq print … --to-file [path]. On non-record, non-grid screens Ctrl+P asks Print what? (Content: panels as titled sections without sidebar, title bar, key lines or borders; Screen: the terminal as drawn). Every document carries the app header (instance, breadcrumb, server, user, time) and footer (client and server, filter/sort line, Page n of m), rendered by qbit-printing 2.2 (printingRenderToPdf).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-01 13:34:21 -06:00
james.maesandClaude Fable 5.1 924fddae25 packaging: qqq 1.0.0 checksums; update-packaging refuses missing or zero sums (#15)
docs/packaging carries the real sha256 sums from the cli-v1.0.0 release. scripts/update-packaging.mjs now parses shasum lines strictly, requires 64 lowercase hex and non-zero sums for every target, validates both files before writing anything, and exits 1 with nothing written otherwise; covered by scripts/update-packaging.test.mjs (npm test runs test:scripts).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-01 13:03:32 -06:00
james.maesandClaude Fable 5.1 1bc4ddd0be release: qqq 1.0.0 (#11)
qqq 1.0.0: the command-line client and the full-screen terminal UI (qqq ui) for QQQ applications over the UI API (/qqq/v1), with @qrun-io/qqq-cli 1.0.0, @qrun-io/qqq-core 1.0.0, @qrun-io/qqq-ui-api-client 1.8.0 and @qrun-io/qqq-ui-api-conformance 1.6.0 going final together. Squash of the release/1.0.0 branch at 79ba68e (the branch is kept with the full signed history; the tags v1.8.0 and cli-v1.0.0 point at that commit, which is what the released binaries were built from). See CHANGELOG.md [1.0.0] and docs/release-notes/1.0.0.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-01 12:49:06 -06:00
james.maesandClaude Opus 5.5 ea79ddeb78 feat: reference CLI, generated UI API client, conformance suite and dev IdP
- @qrun-io/qqq-ui-api-client: typed client generated (openapi-typescript +
  openapi-fetch) from the merged UI API document; device-flow sign-in, refresh,
  UiApiError (BasicErrorResponseV1), SSE reader
- @qrun-io/qqq-cli: qqq login/whoami/apps/tables/query/get/run/jobs/tail,
  only through /qqq/v1 with Authorization: Bearer
- @qrun-io/qqq-ui-api-conformance: black-box suite + qqq-dev-idp
- scripts/merge-spec.mjs, Prism mock, CI and GitHub Packages publish workflows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 11:47:12 -05:00