Minor changes
- 2d4f9aa
Add
hypequery skill install: writes hypequery's agent skills (hypequery-datasets,hypequery-query) where Claude Code (.claude/skills/), Cursor and Codex (.agents/skills/) load them.--agent,--scope project|user,--checkfor CI and--force; re-runs are idempotent and edited skills are never replaced without--force. - 524bcf5
Running
hypequerywith no command in an interactive terminal now startshypequery initinstead of printing help, sonpx hypequerytakes new users straight into setup. A one-line hint points tohypequery --helpfor the full command list. When the CLI is not attached to a terminal (scripts, CI, piped input), the bare command still prints help and exits with code 1, so nothing waits on a prompt. - fbe9482
generate:datasetsandinit --style datasetsnow read each table's engine fromsystem.tables, so scaffolded datasets no longer count rows ClickHouse hasn't merged yet. ReplacingMergeTree tables getrowResolution: { kind: 'final', engine: 'replacing' }(withdeletedColumnwhen the engine has one), and CollapsingMergeTree / VersionedCollapsingMergeTree tables get the matchingsignColumnresolution. Version, sign and deleted columns are no longer summed or averaged. Pre-aggregated tables drop the row-count measure:AggregateFunctioncolumns becomemeasure.merge(...)measures (parametric states such asquantile(0.9)are noted and skipped),SimpleAggregateFunction(sum|min|max, …)columns use that function, and SummingMergeTree tables sum only their summing columns (without a list, numeric columns outside the sorting key). If the engines can't be read, tables are scaffolded as before. - ae3a5fd
Add
hypequery export:client-contract <api-file>. It writes the client contract of a TypeScript serve API (client-contract.jsonby default) forhypequery generate:client, with--output,--stdout,--checkand--force, matching Python'shypequery export client-contract. Like Python, it refuses a contract with no endpoints.
Patch changes
- 89cb73f
Report ClickHouse connection failures accurately:
generate,generate:datasets, anddevno longer report "Connected to ClickHouse" with 0 tables when the database is unreachable or rejects the credentials. They now show the real error.- A refused connection now shows its message and troubleshooting hints instead of an empty error.
- The ClickHouse client's raw stack-trace logging is off, so commands show only their own error output.
hypequery devshowed Docs and OpenAPI URLs without the base path forcreateAPIentries (for example/docsinstead of/api/analytics/docs). It now shows the routes the API actually serves.
- 141f0b6
hypequery --helpnow describes the CLI as "Type-safe embedded analytics on ClickHouse", matching the website and README. - 8af2969
Telemetry now attributes an invocation that Commander rejects for a bad option or argument (for example
hypequery dev --bogus) to the command that was requested, instead of reporting it asunknown. Mistyped commands are stillunknown, now with an optionalsuggested_commandtaken from the CLI's own "Did you mean" suggestion; the raw input is never recorded. - c320820
Type generation now gives parameterized views their columns. ClickHouse describes such a view as having no columns, so the generated type was empty. The generator now describes a call to the view with each parameter's default value, and adds a comment that lists the parameters. Each table is now described once instead of twice.
SimpleAggregateFunction(fn, T)columns are typed byTin the generated record interfaces.