Prompt for create-chkit example and refactor docs install snippets#130
Closed
KeKs0r wants to merge 8 commits into
Closed
Prompt for create-chkit example and refactor docs install snippets#130KeKs0r wants to merge 8 commits into
KeKs0r wants to merge 8 commits into
Conversation
…dCommand - create-chkit: drop the silent `clickbench` default; prompt from a bundled `examples/manifest.json` instead. Manifest is shipped with the package via a `copy-manifest.ts` build step, and a new `scripts/check-examples-manifest.ts` CI guard keeps it in sync with `examples/`. - docs: replace per-page `<Tabs>`/`<TabItem>` package manager blocks with a new `<PackagedCommand>` component (and `<Command>` helper) for install/exec/create snippets. Adds React integration (dev-only) and a dev-only Agentation footer. - docs: add `sidebar.order` to schema pages so they sort Overview → Refreshable Views → DSL Reference. - CLAUDE.md: document the `examples/` + `manifest.json` workflow. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Move the ObsessionDB plugin page out of /plugins and into a new top-level /obsessiondb section (overview, getting-started, services, engine-rewriting). Update cross-links from CLI, schema, and plugins overview pages. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Switch the ClickBench data load from the public clickhouse-public-datasets S3 bucket to the ObsessionDB-hosted mirror on Hetzner Object Storage (fsn1.your-objectstorage.com/obsessiondb-datasets/clickbench/) so the example doesn't depend on external infrastructure. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Add examples/clickbench to the root workspaces and switch its devDependencies to workspace:* so it builds against the in-tree packages instead of the published 0.1.0-beta.24 versions. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
When send_progress_in_http_headers=1, ClickHouse commits to a 200 status before the query completes; query-time exceptions then surface only in the x-clickhouse-exception-code response header. @clickhouse/client doesn't throw on this, so chkit could record a failed INSERT as applied. Inspect response_headers after every command/query/queryJson/insert and throw a new ClickHouseStreamedException (carrying code, exceptionTag, query_id) when a non-zero exception code is present. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Mark a migration operation as async via 'mode=async' on its '-- operation:' header. When chkit migrate --apply encounters one it: 1. Derives a deterministic query_id from sha256(filename + ':' + statement_index). 2. Checks system.processes / system.query_log for any prior attempt with that id. 3. Submits the INSERT without blocking on its HTTP response, then polls queryStatus every 5s and prints written/elapsed progress. 4. On QueryFinish records the journal entry; on ExceptionWhileProcessing surfaces the server's exception; on a prior failure resubmits. This unblocks long INSERTs through proxies with an HTTP duration ceiling and makes transient client-side errors recoverable: a re-run attaches to the in-flight query rather than starting over. Existing migrations without the annotation continue to use the synchronous path. Apply the new mode to the clickbench load_clickbench_data migration and add a before-retry compensation that TRUNCATEs the target before any retry so partial loads from a prior crash don't accumulate. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
create-chkitnow prompts for the example to scaffold from a bundledexamples/manifest.jsoninstead of silently defaulting toclickbench. The manifest ships with the package via acopy-manifest.tsbuild step, and a newscripts/check-examples-manifest.tsCI guard keeps it in sync with theexamples/directory.<Tabs>/<TabItem>package-manager blocks across the getting-started docs with a new<PackagedCommand>component (plus a<Command>helper), and wired in a dev-only React integration with an Agentation footer for local doc authoring.sidebar.orderto the schema docs (Overview → Refreshable Views → DSL Reference) and documented the newexamples/+manifest.jsonworkflow inCLAUDE.md.Test plan
bun verifypasses locallybun create chkit@latestprompts for example selection from the manifest<PackagedCommand>snippets correctly on the getting-started pages🤖 Generated with Claude Code