Andrey Avtomonov
99f7a31919
refactor(release): single source of truth for package version
...
Make packages/cli/package.json the single source of truth for the
@kaelio/ktx version. publicNpmPackageVersion() now reads it directly,
so artifact filenames, release-readiness checks, and the Python wheel
version all derive from one field. The duplicate
release-policy.json.publicNpmPackageVersion is removed.
Previously the two fields could drift: tarballs were named
kaelio-ktx-0.4.1.tgz while internally containing
@kaelio/ktx@0.0.0-private.
- update-public-release-version.mjs rewrites both Python pyproject.toml
files (ktx-daemon, ktx-sl) alongside the npm package.jsons,
normalizing the version for PEP 440 (e.g. 0.1.0-rc.2 -> 0.1.0rc2).
- semantic-release-config.cjs adds the two pyproject.toml files to
@semantic-release/git assets so the release commit back to main
carries every version source in lockstep.
- The six "?? '0.0.0-private'" fallback literals across the CLI are
replaced with "?? getKtxCliPackageInfo().version", and
createDefaultKtxMcpServer makes its version arg required.
- docs/release.md describes the actual commit-back model: the dev tree
always reflects the most recent release; no sentinel pin to
maintain.
Verified: pnpm run artifacts:build now produces
kaelio-ktx-0.4.1.tgz and kaelio_ktx-0.4.1-py3-none-any.whl with
@kaelio/ktx@0.4.1 inside. Full type-check, dead-code, and
2287 vitests + 173 script tests pass.
2026-05-21 14:23:28 +02:00
Andrey Avtomonov
aa523f9ab3
refactor(workspace): rename @ktx/cli to @kaelio/ktx and pack it directly
...
Promote the CLI workspace package to the public name `@kaelio/ktx` and
drop the separate `scripts/build-public-npm-package.mjs` wrapper. The
CLI package is now publishable in place (`publishConfig.access: public`,
`provenance: true`), so artifact packing uses `pnpm pack` against
`packages/cli/` instead of assembling a parallel package tree.
Updates all workspace filter invocations, docs, tests, and release
readiness checks to reference the new package name, and folds the
tarball-name helper into `scripts/public-npm-release-metadata.mjs`.
2026-05-21 13:05:14 +02:00
Andrey Avtomonov
d1c84e5564
fix: improve setup wizard behavior ( #127 )
...
* fix: improve setup wizard behavior
* fix: derive runtime versions from release metadata
* test: validate metabase source mapping requirements
* Fix boundary check release identifiers
2026-05-17 19:15:09 +02:00
Andrey Avtomonov
b759a4a286
feat(mcp):added MCP server ( #97 )
...
* docs(specs): design research-agent MCP tools and ktx mcp daemon
Adds the 2026-05-14 design spec for exposing four new MCP tools
(discover_data, entity_details, dictionary_search, sql_execution),
shipping a ktx-research skill, and introducing an HTTP-only ktx mcp
daemon so external agents can use KTX as a research-capable context
layer.
* Refine research-agent MCP tools spec after adversarial review iteration 1
* Refine research-agent MCP tools spec after adversarial review iteration 2
* Refine research-agent MCP tools spec after adversarial review iteration 3
* Refine spec: drop connectionName compat carve-out and ground summary/snippet provenance per kind
* feat(daemon): validate read-only SQL with sqlglot
* feat(context): expose read-only SQL validation port
* feat(context): register MCP sql execution tool
* feat(context): execute MCP SQL through validated connector path
* test(context): update SQL analysis port fixtures
* docs: add research-agent MCP sql execution foundation plan
* feat(context): add scan-backed entity details service
* feat(context): register MCP entity details tool
* feat(context): expose local MCP entity details
* test(context): align entity details scan fixtures
* docs: add research-agent MCP entity_details plan
* feat(context): add dictionary search service
* feat(context): register MCP dictionary search tool
* feat(context): expose local MCP dictionary search
* docs: add research-agent MCP dictionary_search plan
* feat: add MCP discover data service
* feat: expose discover data MCP tool
* feat: wire local discover data MCP port
* docs: add research-agent MCP discover_data plan
* feat(cli): add mcp http security helpers
* feat(cli): host mcp over streamable http
* feat(cli): manage mcp daemon lifecycle
* feat(cli): add ktx mcp commands
* fix(cli): stabilize mcp daemon verification
* docs: add research-agent MCP http daemon plan
* feat(cli): install KTX research skill
* feat(cli): configure MCP clients in setup agents
* feat(cli): support Claude local MCP setup scope
* docs: add research-agent MCP setup-agents plan
* refactor(context): use connectionId in warehouse verification tools
* docs(context): update ingest verification prompts for connectionId
* docs: add research-agent MCP ingest contract convergence plan
* chore: build runtime artifacts in conductor setup
---------
Co-authored-by: Andrey Avtomonov <7889985+andreybavt@users.noreply.github.com>
2026-05-15 02:35:09 +02:00
Andrey Avtomonov
fa9237956e
ci: run pre-commit checks in CI ( #74 )
...
* ci: run pre-commit in CI
* test: update CI workflow guardrail
2026-05-13 19:49:25 +02:00
Andrey Avtomonov
1bd29c7eb1
Fix historic SQL ingest setup and progress
2026-05-11 22:35:07 +02:00
Andrey Avtomonov
ffbbaf417a
feat: add daemon sql batch analysis
2026-05-11 16:56:50 +02:00
Andrey Avtomonov
9dad936ac7
feat: npm-managed Python runtime for @kaelio/ktx ( #7 )
...
* docs: add npm managed python runtime design
* build: add bundled python runtime wheel builder
* build: make local embedding dependencies optional
* build: bundle python runtime wheel in cli artifacts
* build: track bundled python runtime release artifact
* test: verify bundled python runtime wheel
* docs: add plan for bundled python runtime wheel
* test: cover managed python runtime lifecycle
* feat: add managed python runtime installer
* feat: add runtime command runner
* feat: expose runtime management commands
* test: verify managed python runtime commands
* docs: add plan for managed python runtime installer
* feat: add managed python command helper
* feat: use managed runtime for sl query compute
* feat: route sl query managed runtime policy
* docs: add plan for managed runtime sl query integration
* feat: add managed runtime daemon metadata
* feat: manage python daemon lifecycle
* feat: add runtime daemon start stop commands
* fix: verify managed runtime daemon lifecycle
* docs: add plan for managed runtime daemon lifecycle
* feat: add managed local embeddings config marker
* feat: add managed local embeddings daemon helper
* feat: use managed runtime for local embedding setup
* feat: pass managed runtime policy through setup
* docs: add plan for managed local embeddings runtime
* feat: read CLI package metadata dynamically
* feat: assemble public kaelio ktx npm package
* feat: release one public kaelio ktx npm artifact
* test: cover public kaelio ktx package invocations
* chore: verify public kaelio ktx package artifacts
* docs: add plan for public kaelio ktx npm package
* test: verify managed runtime in public package smoke
* test: finalize managed runtime release smoke
* docs: add plan for managed runtime release smoke
* test: specify local embeddings release smoke
* feat: add local embeddings runtime smoke
* chore: register local embeddings smoke
* fix: verify local embeddings smoke
* fix: restore artifact smoke python env helper
* docs: add plan for managed local embeddings release smoke
* refactor: share managed runtime install policy parsing
* feat: use managed runtime for agent semantic queries
* feat: use managed runtime for MCP semantic compute
* docs: add plan for managed agent and MCP semantic runtime
* feat(cli): add managed daemon HTTP helpers
* feat(cli): route local adapters through managed daemon
* feat(cli): use managed daemon for ingest helpers
* feat(cli): pass managed daemon options to scan
* feat(context): pass MCP ingest pull config options
* feat(cli): pass managed daemon options to serve ingest
* test: verify managed local ingest daemon runtime
* docs: add plan for managed local ingest daemon runtime
* docs: align managed runtime examples
* docs: add plan for managed runtime docs cleanup
* test: cover published package runtime smoke commands
* test: validate published package smoke outputs
* docs: add plan for published package runtime smoke
* build: stamp public npm package version
* release: add npm public release policy
* release: add guarded npm publish script
* release: document public npm release handoff
* docs: add plan for public npm release handoff
* test: cover managed runtime prune in package smoke
* docs: document managed runtime prune
* docs: add plan for managed runtime prune smoke and docs
* chore: encode uv runtime prerequisite policy
* fix: clarify missing uv runtime error
* docs: document uv runtime prerequisite
* docs: add plan for uv runtime prerequisite contract
* refactor: limit release artifacts to public package runtime
* chore: align release policy with bundled runtime wheel
* docs: describe single public runtime artifact surface
* test: verify single public runtime artifact contract
* docs: add plan for single public runtime artifact cleanup
* fix: align local embeddings smoke with public version
* docs: add plan for local embeddings smoke public version
* release: soft-launch as @kaelio/ktx@0.1.0-rc.0 on next tag
Publish target moves to the pre-release version 0.1.0-rc.0 under the next
dist-tag so npm install @kaelio/ktx (which resolves to latest) does not
pick up the soft-launch build. Users opt in via @kaelio/ktx@next.
* Fix release script boundary checks
* Remove PostHog from public package bundle
2026-05-11 15:50:34 +02:00
Andrey Avtomonov
3ce510b55b
rename klo to ktx
2026-05-10 23:51:24 +02:00