diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fbfe41d5..7abe8bed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,36 +83,8 @@ jobs: - name: Run TypeScript checks run: pnpm run check - slow-context-tests: - name: Slow context tests - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Setup pnpm - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - with: - run_install: false - - - name: Setup Node.js - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 - with: - node-version: "24" - cache: "pnpm" - cache-dependency-path: "pnpm-lock.yaml" - - - name: Install TypeScript dependencies - run: pnpm install --frozen-lockfile - - - name: Build TypeScript packages - run: pnpm run build - - - name: Run slow context tests - run: pnpm --filter @ktx/context run test:slow - slow-cli-tests: - name: Slow CLI tests + name: Slow TypeScript tests runs-on: ubuntu-latest steps: - name: Checkout repository @@ -236,7 +208,7 @@ jobs: with: token: ${{ secrets.CODECOV_TOKEN }} slug: Kaelio/ktx - files: ./packages/cli/coverage/lcov.info,./packages/connector-bigquery/coverage/lcov.info,./packages/connector-clickhouse/coverage/lcov.info,./packages/connector-mysql/coverage/lcov.info,./packages/connector-postgres/coverage/lcov.info,./packages/connector-snowflake/coverage/lcov.info,./packages/connector-sqlite/coverage/lcov.info,./packages/connector-sqlserver/coverage/lcov.info,./packages/context/coverage/lcov.info,./packages/llm/coverage/lcov.info + files: ./packages/cli/coverage/lcov.info flags: typescript name: typescript disable_search: true diff --git a/AGENTS.md b/AGENTS.md index 32c7a624..f00c7c3f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -63,11 +63,10 @@ When rules conflict, follow this order: **ktx** is a pnpm + uv workspace. -- TypeScript packages: `packages/*` -- CLI package: `packages/cli` -- Core context package: `packages/context` -- LLM package: `packages/llm` -- Database connectors: `packages/connector-*` +- TypeScript package: `packages/cli` (the sole npm-published package source) +- Core context modules: `packages/cli/src/context/` +- LLM provider modules: `packages/cli/src/llm/` +- Database connector modules: `packages/cli/src/connectors//` - Python semantic layer: `python/ktx-sl` - **ktx** daemon: `python/ktx-daemon` - Examples and fixtures: `examples/` @@ -76,9 +75,8 @@ When rules conflict, follow this order: commit `.agents/`, `.claude/`, or `docs/superpowers/` to this public repository. -Some package names still contain `ktx` during the split. Do not mass-rename -symbols, package names, paths, or docs to `ktx` unless the task asks for that -rename. +Some source identifiers still contain historical package-oriented names. Do not +mass-rename symbols, paths, or docs unless the task asks for that rename. ## Quick Commands @@ -154,11 +152,11 @@ pnpm run test 2>&1 | tee /tmp/ktx-test-output.log - Keep package exports, `types`, and built `dist` expectations aligned when changing public APIs. - Use `zod` schemas for runtime validation at CLI/config/API boundaries. -- Keep connector packages thin: connector-specific scanning/auth behavior - belongs in `packages/connector-*`; shared types and orchestration belong in - `packages/context`. -- Avoid circular package dependencies. Shared code should move to the lowest - sensible package, not be duplicated across connectors. +- Keep connector modules thin: connector-specific scanning/auth behavior + belongs in `packages/cli/src/connectors//`; shared types and + orchestration belong in `packages/cli/src/context/`. +- Avoid circular module dependencies. Shared code should move to the lowest + sensible module, not be duplicated across connectors. - Do not manually edit generated or built output under `dist/`; edit source and rebuild. diff --git a/README.md b/README.md index 35e75470..7a132036 100644 --- a/README.md +++ b/README.md @@ -162,20 +162,14 @@ commands to run. If the output includes `ktx mcp start --project-dir ...`, run it before opening your agent. Claude Desktop uses its own launcher and prints separate skill upload steps under `.ktx/agents/claude/`. -## Workspace packages +## Workspace layout -| Package | Purpose | -|---------|---------| -| `packages/cli` | CLI entry point | -| `packages/context` | Core context engine | -| `packages/llm` | LLM and embedding providers | -| `packages/connector-bigquery` | BigQuery scan connector | -| `packages/connector-clickhouse` | ClickHouse scan connector | -| `packages/connector-mysql` | MySQL scan connector | -| `packages/connector-postgres` | Postgres scan connector | -| `packages/connector-snowflake` | Snowflake scan connector | -| `packages/connector-sqlite` | SQLite scan connector | -| `packages/connector-sqlserver` | SQL Server scan connector | +| Path | Purpose | +|------|---------| +| `packages/cli` | TypeScript CLI package and published npm package source | +| `packages/cli/src/context` | Core context engine | +| `packages/cli/src/llm` | LLM and embedding providers | +| `packages/cli/src/connectors` | Database scan connectors | | `python/ktx-sl` | Semantic-layer query planning | | `python/ktx-daemon` | Portable compute service | diff --git a/docs-site/content/docs/community/contributing.mdx b/docs-site/content/docs/community/contributing.mdx index 10b12fe0..8002a5cc 100644 --- a/docs-site/content/docs/community/contributing.mdx +++ b/docs-site/content/docs/community/contributing.mdx @@ -22,8 +22,8 @@ documentation, connector coverage, and examples. | Area | Good first context | |------|--------------------| | CLI and setup | `packages/cli`, especially setup steps, command definitions, status checks, and smoke tests | -| Context engine | `packages/context`, including project config, ingest orchestration, and semantic search | -| Connectors | `packages/connector-*`, plus connector-specific tests and integration docs | +| Context engine | `packages/cli/src/context`, including project config, ingest orchestration, and semantic search | +| Connectors | `packages/cli/src/connectors/`, plus connector-specific tests and integration docs | | Python semantic layer | `python/ktx-sl` for planning and SQL compilation | | **ktx** daemon | `python/ktx-daemon` for the portable runtime API | | Documentation | `docs-site/content/docs` for public docs and `docs-site/tests` for docs behavior | @@ -50,7 +50,7 @@ pnpm install uv sync --all-groups ``` -`pnpm install` sets up all TypeScript packages in the workspace. +`pnpm install` sets up the TypeScript workspace. `uv sync --all-groups` installs Python dependencies for the semantic layer and daemon, including dev and test groups. @@ -60,11 +60,10 @@ daemon, including dev and test groups. pnpm run build ``` -This builds all TypeScript packages. You can also build individual packages: +This builds the TypeScript package. You can also build the package directly: ```bash pnpm --filter @ktx/cli run build -pnpm --filter @ktx/context run build ``` ### Link the CLI for local testing @@ -80,21 +79,15 @@ changes. ## Repository structure -**ktx** is a pnpm + uv workspace. TypeScript packages live in `packages/`, Python -projects in `python/`. +**ktx** is a pnpm + uv workspace. TypeScript source lives in `packages/cli`, +and Python projects live in `python/`. ```text packages/ - cli/ # CLI entry point and commands - context/ # Core context engine (scan, ingest, MCP, semantic layer) - llm/ # LLM client abstraction - connector-postgres/ # PostgreSQL connector - connector-snowflake/ # Snowflake connector - connector-bigquery/ # BigQuery connector - connector-mysql/ # MySQL connector - connector-sqlserver/ # SQL Server connector - connector-sqlite/ # SQLite connector - connector-posthog/ # PostHog connector + cli/ # CLI package and published npm package source + src/context/ # Core context engine (scan, ingest, MCP, semantic layer) + src/llm/ # LLM client abstraction + src/connectors/ # Database connectors python/ ktx-sl/ # Semantic layer - grain-aware query planning and SQL compilation @@ -105,7 +98,7 @@ scripts/ # Workspace scripts (benchmarks, verification, release) docs-site/ # Documentation site (Fumadocs) ``` -All TypeScript packages are ESM (`"type": "module"`) and use `NodeNext` module +The TypeScript package is ESM (`"type": "module"`) and uses `NodeNext` module resolution. The Python projects use `pyproject.toml` for dependency management. ## Running tests @@ -116,15 +109,14 @@ resolution. The Python projects use `pyproject.toml` for dependency management. # Run all tests pnpm run test -# Run tests for a specific package +# Run tests for the TypeScript package pnpm --filter @ktx/cli run test -pnpm --filter @ktx/context run test # Type-check all packages pnpm run type-check -# Type-check a specific package -pnpm --filter @ktx/context run type-check +# Type-check the TypeScript package +pnpm --filter @ktx/cli run type-check # CLI smoke test pnpm --filter @ktx/cli run smoke @@ -164,43 +156,22 @@ uv run pytest -q ## Adding a connector -Database connectors live in `packages/connector-/`. Each connector -implements the `KtxScanConnector` interface from `@ktx/context`. +Database connectors live in `packages/cli/src/connectors//`. Each +connector implements the `KtxScanConnector` interface from the internal context +modules. -### Step 1: Scaffold the package +### Step 1: Scaffold the connector -Create a new directory at `packages/connector-/` with: +Create a new directory at `packages/cli/src/connectors//` with: ```text -packages/connector-/ - package.json - tsconfig.json - src/ - index.ts # Public exports - connector.ts # KtxScanConnector implementation - dialect.ts # SQL dialect handling +packages/cli/src/connectors// + index.ts # Internal connector exports + connector.ts # KtxScanConnector implementation + dialect.ts # SQL dialect handling ``` -The `package.json` should follow the pattern of existing connectors: - -```json -{ - "name": "@ktx/connector-", - "private": true, - "type": "module", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" - } - }, - "dependencies": { - "@ktx/context": "workspace:*" - } -} -``` +Add any driver-specific npm dependency to `packages/cli/package.json`. ### Step 2: Implement the connector @@ -226,20 +197,20 @@ and statistics. ### Step 4: Wire it up -Register the new connector in `packages/context` so the CLI and scan -engine can instantiate it. Look at how existing connectors are registered for -the pattern. +Register the new connector in `packages/cli/src/local-scan-connectors.ts` and +`packages/cli/src/local-adapters.ts` so the CLI and scan engine can instantiate +it. Keep runtime loading dynamic when the driver is optional. ### Step 5: Test ```bash -pnpm --filter @ktx/connector- run build -pnpm --filter @ktx/connector- run type-check -pnpm --filter @ktx/connector- run test +pnpm --filter @ktx/cli run build +pnpm --filter @ktx/cli run type-check +pnpm --filter @ktx/cli run test ``` -Use `packages/connector-sqlite/` as a minimal reference and -`packages/connector-postgres/` as a full-featured one. +Use `packages/cli/src/connectors/sqlite/` as a minimal reference and +`packages/cli/src/connectors/postgres/` as a full-featured one. ## Code conventions diff --git a/knip.json b/knip.json index 6caf525c..9437bf23 100644 --- a/knip.json +++ b/knip.json @@ -16,47 +16,16 @@ "entry": [ "src/index.ts", "src/bin.ts", + "src/llm/index.ts", + "src/context/index.ts", + "src/context/**/index.ts", + "src/connectors/*/index.ts", "src/**/*.test.ts", "src/**/*.test.tsx", "scripts/**/*.mjs" ], "project": ["src/**/*.{ts,tsx}", "scripts/**/*.mjs", "vitest.config.ts"] }, - "packages/context": { - "entry": [ - "src/index.ts", - "src/agent/index.ts", - "src/core/index.ts", - "src/connections/index.ts", - "src/daemon/index.ts", - "src/ingest/index.ts", - "src/ingest/memory-flow/index.ts", - "src/ingest/metabase-mapping.ts", - "src/scan/index.ts", - "src/search/index.ts", - "src/sql-analysis/index.ts", - "src/memory/index.ts", - "src/mcp/index.ts", - "src/project/index.ts", - "src/prompts/index.ts", - "src/skills/index.ts", - "src/sl/index.ts", - "src/sl/descriptions.ts", - "src/tools/index.ts", - "src/wiki/index.ts", - "src/**/*.test.ts", - "scripts/**/*.mjs" - ], - "project": ["src/**/*.ts", "scripts/**/*.mjs", "vitest.config.ts"] - }, - "packages/llm": { - "entry": ["src/index.ts", "src/**/*.test.ts"], - "project": ["src/**/*.ts", "vitest.config.ts"] - }, - "packages/connector-*": { - "entry": ["src/index.ts", "src/**/*.test.ts"], - "project": ["src/**/*.ts"] - }, "docs-site": { "entry": [ "app/**/*.{ts,tsx}", @@ -106,17 +75,17 @@ "packages/cli/src/setup-project.ts": ["types"], "packages/cli/src/setup-ready-menu.ts": ["types"], "packages/cli/src/setup-sources.ts": ["types"], - "packages/context/src/ingest/adapters/historic-sql/pattern-inputs.ts": ["exports", "types"], - "packages/context/src/ingest/adapters/lookml/pull-config.ts": ["exports"], - "packages/context/src/ingest/adapters/metabase/serialize-card.ts": ["types"], - "packages/context/src/ingest/adapters/metabase/types.ts": ["exports"], - "packages/context/src/ingest/adapters/metricflow/parse.ts": ["types"], - "packages/context/src/ingest/ports.ts": ["types"], - "packages/context/src/ingest/stages/stage-3-work-units.ts": ["types"], - "packages/context/src/ingest/stages/stage-index.types.ts": ["types"], - "packages/context/src/project/config.ts": ["types"], - "packages/context/src/scan/relationship-candidates.ts": ["types"], - "packages/context/src/scan/relationship-diagnostics.ts": ["types"], - "packages/context/src/tools/context-evidence-tool-store.ts": ["types"] + "packages/cli/src/context/ingest/adapters/historic-sql/pattern-inputs.ts": ["exports", "types"], + "packages/cli/src/context/ingest/adapters/lookml/pull-config.ts": ["exports"], + "packages/cli/src/context/ingest/adapters/metabase/serialize-card.ts": ["types"], + "packages/cli/src/context/ingest/adapters/metabase/types.ts": ["exports"], + "packages/cli/src/context/ingest/adapters/metricflow/parse.ts": ["types"], + "packages/cli/src/context/ingest/ports.ts": ["types"], + "packages/cli/src/context/ingest/stages/stage-3-work-units.ts": ["types"], + "packages/cli/src/context/ingest/stages/stage-index.types.ts": ["types"], + "packages/cli/src/context/project/config.ts": ["types"], + "packages/cli/src/context/scan/relationship-candidates.ts": ["types"], + "packages/cli/src/context/scan/relationship-diagnostics.ts": ["types"], + "packages/cli/src/context/tools/context-evidence-tool-store.ts": ["types"] } } diff --git a/package.json b/package.json index 5c8fe060..73b5f1bf 100644 --- a/package.json +++ b/package.json @@ -44,11 +44,13 @@ "test:coverage": "pnpm run test:coverage:ts && pnpm run test:coverage:py", "test:coverage:py": "uv run pytest --cov=python/ktx-sl/semantic_layer --cov=python/ktx-daemon/src/ktx_daemon --cov-report=xml:coverage/python.xml --cov-report=term", "test:coverage:ts": "pnpm --filter './packages/*' run build && pnpm --filter './packages/*' run test --coverage --coverage.reporter=lcov --coverage.exclude='dist/**' && node scripts/normalize-lcov-paths.mjs packages/*/coverage/lcov.info", - "test:slow": "pnpm --filter @ktx/context run test:slow && pnpm --filter @ktx/cli run test:slow", + "test:slow": "pnpm --filter @ktx/cli run test:slow", "type-check": "pnpm --filter './packages/*' run type-check" }, "devDependencies": { "@biomejs/biome": "^2.4.15", + "@electric-sql/pglite": "^0.4.5", + "@electric-sql/pglite-socket": "^0.1.5", "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", @@ -59,6 +61,7 @@ "better-sqlite3": "^12.10.0", "conventional-changelog-conventionalcommits": "^9.3.1", "knip": "^6.12.2", + "pg": "^8.20.0", "semantic-release": "^25.0.3", "typescript": "^6.0.3", "yaml": "^2.9.0" diff --git a/packages/cli/package.json b/packages/cli/package.json index 0484f533..ba51f1ab 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@ktx/cli", "version": "0.4.1", - "description": "CLI wrapper for ktx context packages", + "description": "Standalone ktx context layer CLI", "private": true, "type": "module", "engines": { @@ -30,40 +30,58 @@ "clean": "node -e \"fs.rmSync('dist', { recursive: true, force: true }); fs.rmSync('node_modules/.cache/tsc.tsbuildinfo', { force: true })\"", "docs:commands": "pnpm run build && node dist/print-command-tree.js", "smoke": "vitest run src/standalone-smoke.test.ts src/example-smoke.test.ts --testTimeout 30000", - "test": "vitest run --exclude src/standalone-smoke.test.ts --exclude src/example-smoke.test.ts --exclude src/setup-databases.test.ts --exclude src/scan.test.ts --exclude src/commands/connection-metabase-setup.test.ts --exclude src/setup-models.test.ts --exclude src/setup-sources.test.ts --exclude src/setup.test.ts --exclude src/connection.test.ts --exclude src/setup-embeddings.test.ts --exclude src/ingest.test.ts --exclude src/commands/connection-mapping.test.ts --exclude src/ingest-viz.test.ts --exclude src/demo.test.ts --exclude src/setup-project.test.ts --exclude src/sl.test.ts --exclude src/local-scan-connectors.test.ts --exclude src/commands/connection-notion.test.ts", - "test:slow": "vitest run src/setup-databases.test.ts src/scan.test.ts src/commands/connection-metabase-setup.test.ts src/setup-models.test.ts src/setup-sources.test.ts src/setup.test.ts src/connection.test.ts src/setup-embeddings.test.ts src/ingest.test.ts src/commands/connection-mapping.test.ts src/ingest-viz.test.ts src/demo.test.ts src/setup-project.test.ts src/sl.test.ts src/local-scan-connectors.test.ts src/commands/connection-notion.test.ts --testTimeout 30000", - "type-check": "tsc -p tsconfig.json --noEmit" + "test": "vitest run --exclude src/standalone-smoke.test.ts --exclude src/example-smoke.test.ts --exclude src/setup-databases.test.ts --exclude src/scan.test.ts --exclude src/commands/connection-metabase-setup.test.ts --exclude src/setup-models.test.ts --exclude src/setup-sources.test.ts --exclude src/setup.test.ts --exclude src/connection.test.ts --exclude src/setup-embeddings.test.ts --exclude src/ingest.test.ts --exclude src/commands/connection-mapping.test.ts --exclude src/ingest-viz.test.ts --exclude src/demo.test.ts --exclude src/setup-project.test.ts --exclude src/sl.test.ts --exclude src/local-scan-connectors.test.ts --exclude src/commands/connection-notion.test.ts --exclude src/context/scan/local-scan.test.ts --exclude src/context/mcp/local-project-ports.test.ts --exclude src/context/ingest/local-stage-ingest.test.ts --exclude src/context/sl/pglite-sl-search-prototype.test.ts --exclude src/context/core/git.service.test.ts --exclude src/context/ingest/local-adapters.test.ts --exclude src/context/ingest/local-bundle-ingest.test.ts --exclude src/context/ingest/local-metabase-ingest.test.ts --exclude src/context/sl/local-sl.test.ts --exclude src/context/search/pglite-owner-process.test.ts --exclude src/context/scan/local-enrichment-artifacts.test.ts --exclude src/context/search/pglite-spike.test.ts --exclude src/context/wiki/local-knowledge.test.ts --exclude src/context/sl/local-query.test.ts --exclude src/context/scan/relationship-review-decisions.test.ts --exclude src/context/scan/relationship-profiling.test.ts", + "test:slow": "vitest run src/setup-databases.test.ts src/scan.test.ts src/commands/connection-metabase-setup.test.ts src/setup-models.test.ts src/setup-sources.test.ts src/setup.test.ts src/connection.test.ts src/setup-embeddings.test.ts src/ingest.test.ts src/commands/connection-mapping.test.ts src/ingest-viz.test.ts src/demo.test.ts src/setup-project.test.ts src/sl.test.ts src/local-scan-connectors.test.ts src/commands/connection-notion.test.ts src/context/scan/local-scan.test.ts src/context/mcp/local-project-ports.test.ts src/context/ingest/local-stage-ingest.test.ts src/context/sl/pglite-sl-search-prototype.test.ts src/context/core/git.service.test.ts src/context/ingest/local-adapters.test.ts src/context/ingest/local-bundle-ingest.test.ts src/context/ingest/local-metabase-ingest.test.ts src/context/sl/local-sl.test.ts src/context/search/pglite-owner-process.test.ts src/context/scan/local-enrichment-artifacts.test.ts src/context/search/pglite-spike.test.ts src/context/wiki/local-knowledge.test.ts src/context/sl/local-query.test.ts src/context/scan/relationship-review-decisions.test.ts src/context/scan/relationship-profiling.test.ts --testTimeout 30000", + "type-check": "tsc -p tsconfig.json --noEmit", + "relationships:benchmarks": "pnpm --silent run build && node ../../scripts/relationship-benchmark-report.mjs", + "relationships:benchmarks:test": "KTX_RUN_RELATIONSHIP_BENCHMARKS=1 vitest run src/context/scan/relationship-benchmarks.test.ts", + "search:pglite-spike": "node ../../scripts/pglite-hybrid-search-spike.mjs", + "search:pglite-owner-prototype": "node ../../scripts/pglite-owner-process-prototype.mjs", + "search:pglite-sl-prototype": "node ../../scripts/pglite-sl-search-prototype.mjs" }, "dependencies": { "@ai-sdk/anthropic": "3.0.77", "@ai-sdk/devtools": "0.0.17", "@ai-sdk/google-vertex": "^4.0.128", + "@anthropic-ai/claude-agent-sdk": "0.3.142", "@clack/prompts": "1.4.0", + "@clickhouse/client": "^1.18.4", "@commander-js/extra-typings": "14.0.0", - "@ktx/connector-bigquery": "workspace:*", - "@ktx/connector-clickhouse": "workspace:*", - "@ktx/connector-mysql": "workspace:*", - "@ktx/connector-postgres": "workspace:*", - "@ktx/connector-snowflake": "workspace:*", - "@ktx/connector-sqlite": "workspace:*", - "@ktx/connector-sqlserver": "workspace:*", - "@ktx/context": "workspace:*", - "@ktx/llm": "workspace:*", + "@google-cloud/bigquery": "^8.3.1", + "@looker/sdk": "^26.8.0", + "@looker/sdk-node": "^26.8.0", + "@looker/sdk-rtl": "^21.6.5", "@modelcontextprotocol/sdk": "^1.29.0", + "@notionhq/client": "^5.21.0", "ai": "^6.0.180", + "better-sqlite3": "^12.10.0", "commander": "14.0.3", "fflate": "^0.8.2", + "handlebars": "^4.7.9", "ink": "^7.0.2", + "lookml-parser": "7.1.0", + "minimatch": "^10.2.5", + "mssql": "^12.5.2", + "mysql2": "^3.22.3", "openai": "^6.37.0", + "p-limit": "^7.3.0", + "pg": "^8.20.0", "react": "^19.2.6", + "simple-git": "3.36.0", + "snowflake-sdk": "^2.4.1", + "yaml": "^2.9.0", "zod": "^4.4.3" }, "devDependencies": { + "@electric-sql/pglite": "^0.4.5", + "@electric-sql/pglite-socket": "^0.1.5", "@types/better-sqlite3": "^7.6.13", + "@types/mssql": "^12.3.0", "@types/node": "^25.7.0", + "@types/pg": "^8.20.0", "@types/react": "^19.2.14", "@vitest/coverage-v8": "^4.1.6", - "better-sqlite3": "^12.10.0", + "ajv": "8.20.0", "ink-testing-library": "^4.0.0", "typescript": "^6.0.3", "vitest": "^4.1.6" diff --git a/packages/cli/scripts/copy-runtime-assets.mjs b/packages/cli/scripts/copy-runtime-assets.mjs index a7c75658..579cb8e8 100644 --- a/packages/cli/scripts/copy-runtime-assets.mjs +++ b/packages/cli/scripts/copy-runtime-assets.mjs @@ -3,9 +3,14 @@ import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; const packageRoot = fileURLToPath(new URL('..', import.meta.url)); +const promptsSource = join(packageRoot, 'src', 'prompts'); +const promptsTarget = join(packageRoot, 'dist', 'prompts'); const skillsSource = join(packageRoot, 'src', 'skills'); const skillsTarget = join(packageRoot, 'dist', 'skills'); +await rm(promptsTarget, { recursive: true, force: true }); await rm(skillsTarget, { recursive: true, force: true }); +await mkdir(dirname(promptsTarget), { recursive: true }); await mkdir(dirname(skillsTarget), { recursive: true }); +await cp(promptsSource, promptsTarget, { recursive: true }); await cp(skillsSource, skillsTarget, { recursive: true }); diff --git a/packages/cli/src/admin-reindex.test.ts b/packages/cli/src/admin-reindex.test.ts index 0f14486a..9bacca87 100644 --- a/packages/cli/src/admin-reindex.test.ts +++ b/packages/cli/src/admin-reindex.test.ts @@ -1,6 +1,6 @@ import { createRequire } from 'node:module'; -import type { ReindexSummary } from '@ktx/context/index-sync'; +import type { ReindexSummary } from './context/index-sync/index.js'; import { describe, expect, it, vi } from 'vitest'; import { renderReindexJson, renderReindexPlain, reindexHasErrors } from './admin-reindex.js'; import { runKtxCli } from './index.js'; diff --git a/packages/cli/src/admin-reindex.ts b/packages/cli/src/admin-reindex.ts index 5d978d59..481c0bc0 100644 --- a/packages/cli/src/admin-reindex.ts +++ b/packages/cli/src/admin-reindex.ts @@ -1,6 +1,6 @@ -import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from '@ktx/context'; -import { reindexLocalIndexes, type ReindexScopeResult, type ReindexSummary } from '@ktx/context/index-sync'; -import { loadKtxProject } from '@ktx/context/project'; +import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from './context/index.js'; +import { reindexLocalIndexes, type ReindexScopeResult, type ReindexSummary } from './context/index-sync/index.js'; +import { loadKtxProject } from './context/project/index.js'; import { Option, type Command } from '@commander-js/extra-typings'; import { cancel, intro, log, note, outro } from '@clack/prompts'; import type { KtxCliCommandContext } from './cli-program.js'; diff --git a/packages/cli/src/admin.ts b/packages/cli/src/admin.ts index af23c192..0d653ff4 100644 --- a/packages/cli/src/admin.ts +++ b/packages/cli/src/admin.ts @@ -50,7 +50,7 @@ export function registerAdminCommands(program: Command, context: KtxCliCommandCo .description('Print a JSON Schema describing ktx.yaml (for editors and LLM agents)') .option('--output ', 'Write the schema to a file instead of stdout') .action(async (options: { output?: string }) => { - const { generateKtxProjectConfigJsonSchema } = await import('@ktx/context/project'); + const { generateKtxProjectConfigJsonSchema } = await import('./context/project/index.js'); const json = `${JSON.stringify(generateKtxProjectConfigJsonSchema(), null, 2)}\n`; if (options.output) { const { writeFile } = await import('node:fs/promises'); diff --git a/packages/cli/src/claude-code-prompt-caching.ts b/packages/cli/src/claude-code-prompt-caching.ts index 78cd5764..b502cfa6 100644 --- a/packages/cli/src/claude-code-prompt-caching.ts +++ b/packages/cli/src/claude-code-prompt-caching.ts @@ -1,4 +1,4 @@ -import type { KtxProjectLlmConfig } from '@ktx/context/project'; +import type { KtxProjectLlmConfig } from './context/project/index.js'; const CLAUDE_CODE_IGNORED_PROMPT_CACHING_FIELDS = [ 'systemTtl', diff --git a/packages/cli/src/cli-program.test.ts b/packages/cli/src/cli-program.test.ts index 91e2ed8f..6b9ffd8f 100644 --- a/packages/cli/src/cli-program.test.ts +++ b/packages/cli/src/cli-program.test.ts @@ -14,7 +14,6 @@ function stubPackageInfo(): KtxCliPackageInfo { return { name: '@ktx/cli', version: '0.0.0-test', - contextPackageName: '@ktx/context', }; } diff --git a/packages/cli/src/cli-project.test.ts b/packages/cli/src/cli-project.test.ts index df5aeb71..daee263c 100644 --- a/packages/cli/src/cli-project.test.ts +++ b/packages/cli/src/cli-project.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest'; -import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from './context/project/index.js'; import { loadKtxCliProject } from './cli-project.js'; function projectWithConfig(config: KtxProjectConfig): KtxLocalProject { diff --git a/packages/cli/src/cli-project.ts b/packages/cli/src/cli-project.ts index 1dfd5aef..178936cb 100644 --- a/packages/cli/src/cli-project.ts +++ b/packages/cli/src/cli-project.ts @@ -1,4 +1,4 @@ -import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project'; +import { loadKtxProject, type KtxLocalProject } from './context/project/index.js'; export interface LoadKtxCliProjectOptions { projectDir: string; diff --git a/packages/cli/src/cli-runtime.ts b/packages/cli/src/cli-runtime.ts index 523945f5..c3469c2e 100644 --- a/packages/cli/src/cli-runtime.ts +++ b/packages/cli/src/cli-runtime.ts @@ -20,7 +20,6 @@ const requirePackageJson = createRequire(import.meta.url); export interface KtxCliPackageInfo { name: string; version: string; - contextPackageName: '@ktx/context'; } export interface KtxCliIo { @@ -67,12 +66,11 @@ export function packageInfoFromJson(packageJson: unknown): KtxCliPackageInfo { return { name: packageJson.name, version: assertCliVersion(packageJson.version, `${packageJson.name}/package.json`), - contextPackageName: '@ktx/context', }; } async function runInit(args: { projectDir: string; force: boolean }, io: KtxCliIo): Promise { - const { initKtxProject } = await import('@ktx/context/project'); + const { initKtxProject } = await import('./context/project/index.js'); const result = await initKtxProject({ projectDir: args.projectDir, force: args.force, diff --git a/packages/cli/src/commands/mcp-commands.test.ts b/packages/cli/src/commands/mcp-commands.test.ts index 29235bce..0d31b8d4 100644 --- a/packages/cli/src/commands/mcp-commands.test.ts +++ b/packages/cli/src/commands/mcp-commands.test.ts @@ -11,7 +11,7 @@ function makeContext(overrides: Partial = {}): KtxCliComma stderr: { write: vi.fn() }, }, deps: {}, - packageInfo: { name: '@ktx/cli', version: '0.0.0-test', contextPackageName: '@ktx/context' }, + packageInfo: { name: '@ktx/cli', version: '0.0.0-test' }, setExitCode: (code) => { exitCode = code; }, diff --git a/packages/cli/src/commands/sql-commands.test.ts b/packages/cli/src/commands/sql-commands.test.ts index f690b305..a24450fc 100644 --- a/packages/cli/src/commands/sql-commands.test.ts +++ b/packages/cli/src/commands/sql-commands.test.ts @@ -11,7 +11,7 @@ function makeContext(overrides: Partial = {}): KtxCliComma stderr: { write: vi.fn() }, }, deps: {}, - packageInfo: { name: '@ktx/cli', version: '0.0.0-test', contextPackageName: '@ktx/context' }, + packageInfo: { name: '@ktx/cli', version: '0.0.0-test' }, setExitCode: (code) => { exitCode = code; }, diff --git a/packages/cli/src/connection.test.ts b/packages/cli/src/connection.test.ts index 88f4b921..0702587a 100644 --- a/packages/cli/src/connection.test.ts +++ b/packages/cli/src/connection.test.ts @@ -1,9 +1,9 @@ import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import type { LookerClient, MetabaseRuntimeClient, NotionClient } from '@ktx/context/ingest'; -import { initKtxProject, parseKtxProjectConfig, serializeKtxProjectConfig } from '@ktx/context/project'; -import type { KtxConnectionDriver, KtxScanConnector } from '@ktx/context/scan'; +import type { LookerClient, MetabaseRuntimeClient, NotionClient } from './context/ingest/index.js'; +import { initKtxProject, parseKtxProjectConfig, serializeKtxProjectConfig } from './context/project/index.js'; +import type { KtxConnectionDriver, KtxScanConnector } from './context/scan/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxConnection } from './connection.js'; diff --git a/packages/cli/src/connection.ts b/packages/cli/src/connection.ts index 06d02922..6d46d960 100644 --- a/packages/cli/src/connection.ts +++ b/packages/cli/src/connection.ts @@ -9,11 +9,11 @@ import { createLocalLookerCredentialResolver, metabaseRuntimeConfigFromLocalConnection, testRepoConnection, -} from '@ktx/context/ingest'; -import { parseNotionConnectionConfig, resolveNotionConnectionAuthToken } from '@ktx/context/connections'; -import { resolveKtxConfigReference } from '@ktx/context/core'; -import { type KtxLocalProject, loadKtxProject } from '@ktx/context/project'; -import type { KtxScanConnector } from '@ktx/context/scan'; +} from './context/ingest/index.js'; +import { parseNotionConnectionConfig, resolveNotionConnectionAuthToken } from './context/connections/index.js'; +import { resolveKtxConfigReference } from './context/core/index.js'; +import { type KtxLocalProject, loadKtxProject } from './context/project/index.js'; +import type { KtxScanConnector } from './context/scan/index.js'; import type { KtxCliIo } from './index.js'; import { bold, dim, green, red, SYMBOLS } from './io/symbols.js'; import { createKtxCliScanConnector } from './local-scan-connectors.js'; diff --git a/packages/connector-bigquery/src/connector.test.ts b/packages/cli/src/connectors/bigquery/connector.test.ts similarity index 100% rename from packages/connector-bigquery/src/connector.test.ts rename to packages/cli/src/connectors/bigquery/connector.test.ts diff --git a/packages/connector-bigquery/src/connector.ts b/packages/cli/src/connectors/bigquery/connector.ts similarity index 99% rename from packages/connector-bigquery/src/connector.ts rename to packages/cli/src/connectors/bigquery/connector.ts index c69d6030..42d3da38 100644 --- a/packages/connector-bigquery/src/connector.ts +++ b/packages/cli/src/connectors/bigquery/connector.ts @@ -1,5 +1,5 @@ import { BigQuery, type TableField } from '@google-cloud/bigquery'; -import { assertReadOnlySql, limitSqlForExecution } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -18,7 +18,7 @@ import { type KtxTableRef, type KtxTableSampleInput, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; import { resolve } from 'node:path'; diff --git a/packages/connector-bigquery/src/dialect.test.ts b/packages/cli/src/connectors/bigquery/dialect.test.ts similarity index 100% rename from packages/connector-bigquery/src/dialect.test.ts rename to packages/cli/src/connectors/bigquery/dialect.test.ts diff --git a/packages/connector-bigquery/src/dialect.ts b/packages/cli/src/connectors/bigquery/dialect.ts similarity index 98% rename from packages/connector-bigquery/src/dialect.ts rename to packages/cli/src/connectors/bigquery/dialect.ts index f4cf2cd2..21a4848d 100644 --- a/packages/connector-bigquery/src/dialect.ts +++ b/packages/cli/src/connectors/bigquery/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type BigQueryTableNameRef = Pick & Partial>; diff --git a/packages/connector-bigquery/src/index.ts b/packages/cli/src/connectors/bigquery/index.ts similarity index 100% rename from packages/connector-bigquery/src/index.ts rename to packages/cli/src/connectors/bigquery/index.ts diff --git a/packages/connector-bigquery/src/live-database-introspection.ts b/packages/cli/src/connectors/bigquery/live-database-introspection.ts similarity index 85% rename from packages/connector-bigquery/src/live-database-introspection.ts rename to packages/cli/src/connectors/bigquery/live-database-introspection.ts index 79271e0e..dc17194c 100644 --- a/packages/connector-bigquery/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/bigquery/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxBigQueryScanConnector, type KtxBigQueryClientFactory, diff --git a/packages/connector-clickhouse/src/connector.test.ts b/packages/cli/src/connectors/clickhouse/connector.test.ts similarity index 100% rename from packages/connector-clickhouse/src/connector.test.ts rename to packages/cli/src/connectors/clickhouse/connector.test.ts diff --git a/packages/connector-clickhouse/src/connector.ts b/packages/cli/src/connectors/clickhouse/connector.ts similarity index 99% rename from packages/connector-clickhouse/src/connector.ts rename to packages/cli/src/connectors/clickhouse/connector.ts index 4b39c943..f8aa7eb2 100644 --- a/packages/connector-clickhouse/src/connector.ts +++ b/packages/cli/src/connectors/clickhouse/connector.ts @@ -1,5 +1,5 @@ import { createClient } from '@clickhouse/client'; -import { assertReadOnlySql, limitSqlForExecution } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -18,7 +18,7 @@ import { type KtxTableSampleInput, type KtxTableListEntry, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { readFileSync } from 'node:fs'; import { Agent as HttpsAgent } from 'node:https'; import { homedir } from 'node:os'; diff --git a/packages/connector-clickhouse/src/dialect.test.ts b/packages/cli/src/connectors/clickhouse/dialect.test.ts similarity index 100% rename from packages/connector-clickhouse/src/dialect.test.ts rename to packages/cli/src/connectors/clickhouse/dialect.test.ts diff --git a/packages/connector-clickhouse/src/dialect.ts b/packages/cli/src/connectors/clickhouse/dialect.ts similarity index 98% rename from packages/connector-clickhouse/src/dialect.ts rename to packages/cli/src/connectors/clickhouse/dialect.ts index bff03ae0..48388ae0 100644 --- a/packages/connector-clickhouse/src/dialect.ts +++ b/packages/cli/src/connectors/clickhouse/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type ClickHouseTableNameRef = Pick & Partial>; diff --git a/packages/connector-clickhouse/src/index.ts b/packages/cli/src/connectors/clickhouse/index.ts similarity index 100% rename from packages/connector-clickhouse/src/index.ts rename to packages/cli/src/connectors/clickhouse/index.ts diff --git a/packages/connector-clickhouse/src/live-database-introspection.ts b/packages/cli/src/connectors/clickhouse/live-database-introspection.ts similarity index 87% rename from packages/connector-clickhouse/src/live-database-introspection.ts rename to packages/cli/src/connectors/clickhouse/live-database-introspection.ts index a7b333cd..36f9769c 100644 --- a/packages/connector-clickhouse/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/clickhouse/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxClickHouseScanConnector, type KtxClickHouseClientFactory, diff --git a/packages/connector-mysql/src/connector.test.ts b/packages/cli/src/connectors/mysql/connector.test.ts similarity index 100% rename from packages/connector-mysql/src/connector.test.ts rename to packages/cli/src/connectors/mysql/connector.test.ts diff --git a/packages/connector-mysql/src/connector.ts b/packages/cli/src/connectors/mysql/connector.ts similarity index 99% rename from packages/connector-mysql/src/connector.ts rename to packages/cli/src/connectors/mysql/connector.ts index 62bb1880..1cba7661 100644 --- a/packages/connector-mysql/src/connector.ts +++ b/packages/cli/src/connectors/mysql/connector.ts @@ -2,7 +2,7 @@ import mysql, { type FieldPacket, type Pool, type RowDataPacket } from 'mysql2/p import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; import { resolve } from 'node:path'; -import { assertReadOnlySql, limitSqlForExecution } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -22,7 +22,7 @@ import { type KtxTableRef, type KtxTableSampleInput, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { KtxMysqlDialect } from './dialect.js'; export interface KtxMysqlConnectionConfig { diff --git a/packages/connector-mysql/src/dialect.test.ts b/packages/cli/src/connectors/mysql/dialect.test.ts similarity index 100% rename from packages/connector-mysql/src/dialect.test.ts rename to packages/cli/src/connectors/mysql/dialect.test.ts diff --git a/packages/connector-mysql/src/dialect.ts b/packages/cli/src/connectors/mysql/dialect.ts similarity index 98% rename from packages/connector-mysql/src/dialect.ts rename to packages/cli/src/connectors/mysql/dialect.ts index d641beb6..1111f940 100644 --- a/packages/connector-mysql/src/dialect.ts +++ b/packages/cli/src/connectors/mysql/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type MysqlTableNameRef = Pick & Partial>; diff --git a/packages/connector-mysql/src/index.ts b/packages/cli/src/connectors/mysql/index.ts similarity index 100% rename from packages/connector-mysql/src/index.ts rename to packages/cli/src/connectors/mysql/index.ts diff --git a/packages/connector-mysql/src/live-database-introspection.ts b/packages/cli/src/connectors/mysql/live-database-introspection.ts similarity index 86% rename from packages/connector-mysql/src/live-database-introspection.ts rename to packages/cli/src/connectors/mysql/live-database-introspection.ts index b88d2fa6..e644a503 100644 --- a/packages/connector-mysql/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/mysql/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxMysqlScanConnector, type KtxMysqlConnectionConfig, diff --git a/packages/connector-postgres/src/connector.test.ts b/packages/cli/src/connectors/postgres/connector.test.ts similarity index 100% rename from packages/connector-postgres/src/connector.test.ts rename to packages/cli/src/connectors/postgres/connector.test.ts diff --git a/packages/connector-postgres/src/connector.ts b/packages/cli/src/connectors/postgres/connector.ts similarity index 99% rename from packages/connector-postgres/src/connector.ts rename to packages/cli/src/connectors/postgres/connector.ts index 7f5ed65c..9b085076 100644 --- a/packages/connector-postgres/src/connector.ts +++ b/packages/cli/src/connectors/postgres/connector.ts @@ -1,7 +1,7 @@ import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; import { resolve } from 'node:path'; -import { assertReadOnlySql, limitSqlForExecution } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -21,7 +21,7 @@ import { type KtxTableRef, type KtxTableSampleInput, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { Pool } from 'pg'; import { KtxPostgresDialect } from './dialect.js'; diff --git a/packages/connector-postgres/src/dialect.test.ts b/packages/cli/src/connectors/postgres/dialect.test.ts similarity index 100% rename from packages/connector-postgres/src/dialect.test.ts rename to packages/cli/src/connectors/postgres/dialect.test.ts diff --git a/packages/connector-postgres/src/dialect.ts b/packages/cli/src/connectors/postgres/dialect.ts similarity index 98% rename from packages/connector-postgres/src/dialect.ts rename to packages/cli/src/connectors/postgres/dialect.ts index 989d780c..aca75bc6 100644 --- a/packages/connector-postgres/src/dialect.ts +++ b/packages/cli/src/connectors/postgres/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type PostgresTableNameRef = Pick & Partial>; diff --git a/packages/connector-postgres/src/historic-sql-query-client.test.ts b/packages/cli/src/connectors/postgres/historic-sql-query-client.test.ts similarity index 100% rename from packages/connector-postgres/src/historic-sql-query-client.test.ts rename to packages/cli/src/connectors/postgres/historic-sql-query-client.test.ts diff --git a/packages/connector-postgres/src/historic-sql-query-client.ts b/packages/cli/src/connectors/postgres/historic-sql-query-client.ts similarity index 93% rename from packages/connector-postgres/src/historic-sql-query-client.ts rename to packages/cli/src/connectors/postgres/historic-sql-query-client.ts index b0e620ed..61e61a2c 100644 --- a/packages/connector-postgres/src/historic-sql-query-client.ts +++ b/packages/cli/src/connectors/postgres/historic-sql-query-client.ts @@ -1,4 +1,4 @@ -import type { KtxPostgresQueryClient } from '@ktx/context/ingest'; +import type { KtxPostgresQueryClient } from '../../context/ingest/index.js'; import { KtxPostgresScanConnector, type KtxPostgresScanConnectorOptions } from './connector.js'; export type KtxPostgresHistoricSqlQueryClientOptions = KtxPostgresScanConnectorOptions; diff --git a/packages/connector-postgres/src/index.ts b/packages/cli/src/connectors/postgres/index.ts similarity index 100% rename from packages/connector-postgres/src/index.ts rename to packages/cli/src/connectors/postgres/index.ts diff --git a/packages/connector-postgres/src/live-database-introspection.ts b/packages/cli/src/connectors/postgres/live-database-introspection.ts similarity index 87% rename from packages/connector-postgres/src/live-database-introspection.ts rename to packages/cli/src/connectors/postgres/live-database-introspection.ts index ad025676..894b2104 100644 --- a/packages/connector-postgres/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/postgres/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxPostgresScanConnector, type KtxPostgresConnectionConfig, diff --git a/packages/connector-snowflake/src/connector.test.ts b/packages/cli/src/connectors/snowflake/connector.test.ts similarity index 100% rename from packages/connector-snowflake/src/connector.test.ts rename to packages/cli/src/connectors/snowflake/connector.test.ts diff --git a/packages/connector-snowflake/src/connector.ts b/packages/cli/src/connectors/snowflake/connector.ts similarity index 99% rename from packages/connector-snowflake/src/connector.ts rename to packages/cli/src/connectors/snowflake/connector.ts index 39179369..08c029ce 100644 --- a/packages/connector-snowflake/src/connector.ts +++ b/packages/cli/src/connectors/snowflake/connector.ts @@ -2,7 +2,7 @@ import { createPrivateKey } from 'node:crypto'; import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; import { resolve } from 'node:path'; -import { assertReadOnlySql, limitSqlForExecution } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -21,7 +21,7 @@ import { type KtxTableSampleInput, type KtxTableListEntry, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import * as snowflake from 'snowflake-sdk'; import { KtxSnowflakeDialect } from './dialect.js'; diff --git a/packages/connector-snowflake/src/dialect.test.ts b/packages/cli/src/connectors/snowflake/dialect.test.ts similarity index 100% rename from packages/connector-snowflake/src/dialect.test.ts rename to packages/cli/src/connectors/snowflake/dialect.test.ts diff --git a/packages/connector-snowflake/src/dialect.ts b/packages/cli/src/connectors/snowflake/dialect.ts similarity index 98% rename from packages/connector-snowflake/src/dialect.ts rename to packages/cli/src/connectors/snowflake/dialect.ts index b105a49d..c8c6cfbb 100644 --- a/packages/connector-snowflake/src/dialect.ts +++ b/packages/cli/src/connectors/snowflake/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type SnowflakeTableNameRef = Pick & Partial>; diff --git a/packages/connector-snowflake/src/index.ts b/packages/cli/src/connectors/snowflake/index.ts similarity index 100% rename from packages/connector-snowflake/src/index.ts rename to packages/cli/src/connectors/snowflake/index.ts diff --git a/packages/connector-snowflake/src/live-database-introspection.ts b/packages/cli/src/connectors/snowflake/live-database-introspection.ts similarity index 87% rename from packages/connector-snowflake/src/live-database-introspection.ts rename to packages/cli/src/connectors/snowflake/live-database-introspection.ts index 419fa5e4..36ead436 100644 --- a/packages/connector-snowflake/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/snowflake/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxSnowflakeScanConnector, type KtxSnowflakeConnectionConfig, diff --git a/packages/connector-sqlite/src/connector.test.ts b/packages/cli/src/connectors/sqlite/connector.test.ts similarity index 100% rename from packages/connector-sqlite/src/connector.test.ts rename to packages/cli/src/connectors/sqlite/connector.test.ts diff --git a/packages/connector-sqlite/src/connector.ts b/packages/cli/src/connectors/sqlite/connector.ts similarity index 99% rename from packages/connector-sqlite/src/connector.ts rename to packages/cli/src/connectors/sqlite/connector.ts index 6979d7ee..86e33f0f 100644 --- a/packages/connector-sqlite/src/connector.ts +++ b/packages/cli/src/connectors/sqlite/connector.ts @@ -3,7 +3,7 @@ import { existsSync, readFileSync, statSync } from 'node:fs'; import { homedir } from 'node:os'; import { isAbsolute, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { assertReadOnlySql, limitSqlForExecution, normalizeQueryRows } from '@ktx/context/connections'; +import { assertReadOnlySql, limitSqlForExecution, normalizeQueryRows } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -21,7 +21,7 @@ import { type KtxTableRef, type KtxTableSampleInput, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { KtxSqliteDialect } from './dialect.js'; export interface KtxSqliteConnectionConfig { diff --git a/packages/connector-sqlite/src/dialect.test.ts b/packages/cli/src/connectors/sqlite/dialect.test.ts similarity index 100% rename from packages/connector-sqlite/src/dialect.test.ts rename to packages/cli/src/connectors/sqlite/dialect.test.ts diff --git a/packages/connector-sqlite/src/dialect.ts b/packages/cli/src/connectors/sqlite/dialect.ts similarity index 98% rename from packages/connector-sqlite/src/dialect.ts rename to packages/cli/src/connectors/sqlite/dialect.ts index a61a1ca1..ba4f6116 100644 --- a/packages/connector-sqlite/src/dialect.ts +++ b/packages/cli/src/connectors/sqlite/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type SqliteTableNameRef = Pick & Partial>; diff --git a/packages/connector-sqlite/src/index.ts b/packages/cli/src/connectors/sqlite/index.ts similarity index 100% rename from packages/connector-sqlite/src/index.ts rename to packages/cli/src/connectors/sqlite/index.ts diff --git a/packages/connector-sqlite/src/live-database-introspection.ts b/packages/cli/src/connectors/sqlite/live-database-introspection.ts similarity index 84% rename from packages/connector-sqlite/src/live-database-introspection.ts rename to packages/cli/src/connectors/sqlite/live-database-introspection.ts index 6e45ac7d..d6e52d60 100644 --- a/packages/connector-sqlite/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/sqlite/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxSqliteScanConnector, type KtxSqliteConnectionConfig } from './connector.js'; export interface CreateSqliteLiveDatabaseIntrospectionOptions { diff --git a/packages/connector-sqlserver/src/connector.test.ts b/packages/cli/src/connectors/sqlserver/connector.test.ts similarity index 100% rename from packages/connector-sqlserver/src/connector.test.ts rename to packages/cli/src/connectors/sqlserver/connector.test.ts diff --git a/packages/connector-sqlserver/src/connector.ts b/packages/cli/src/connectors/sqlserver/connector.ts similarity index 99% rename from packages/connector-sqlserver/src/connector.ts rename to packages/cli/src/connectors/sqlserver/connector.ts index 73a46aab..5f754b21 100644 --- a/packages/connector-sqlserver/src/connector.ts +++ b/packages/cli/src/connectors/sqlserver/connector.ts @@ -1,4 +1,4 @@ -import { assertReadOnlySql } from '@ktx/context/connections'; +import { assertReadOnlySql } from '../../context/connections/index.js'; import { createKtxConnectorCapabilities, type KtxColumnSampleInput, @@ -18,7 +18,7 @@ import { type KtxTableRef, type KtxTableSampleInput, type KtxTableSampleResult, -} from '@ktx/context/scan'; +} from '../../context/scan/index.js'; import { readFileSync } from 'node:fs'; import { homedir } from 'node:os'; import { resolve } from 'node:path'; diff --git a/packages/connector-sqlserver/src/dialect.test.ts b/packages/cli/src/connectors/sqlserver/dialect.test.ts similarity index 100% rename from packages/connector-sqlserver/src/dialect.test.ts rename to packages/cli/src/connectors/sqlserver/dialect.test.ts diff --git a/packages/connector-sqlserver/src/dialect.ts b/packages/cli/src/connectors/sqlserver/dialect.ts similarity index 98% rename from packages/connector-sqlserver/src/dialect.ts rename to packages/cli/src/connectors/sqlserver/dialect.ts index 67897876..a1db5adc 100644 --- a/packages/connector-sqlserver/src/dialect.ts +++ b/packages/cli/src/connectors/sqlserver/dialect.ts @@ -1,4 +1,4 @@ -import type { KtxSchemaDimensionType, KtxTableRef } from '@ktx/context/scan'; +import type { KtxSchemaDimensionType, KtxTableRef } from '../../context/scan/index.js'; type SqlServerTableNameRef = Pick & Partial>; diff --git a/packages/connector-sqlserver/src/index.ts b/packages/cli/src/connectors/sqlserver/index.ts similarity index 100% rename from packages/connector-sqlserver/src/index.ts rename to packages/cli/src/connectors/sqlserver/index.ts diff --git a/packages/connector-sqlserver/src/live-database-introspection.ts b/packages/cli/src/connectors/sqlserver/live-database-introspection.ts similarity index 87% rename from packages/connector-sqlserver/src/live-database-introspection.ts rename to packages/cli/src/connectors/sqlserver/live-database-introspection.ts index 7c7a2b53..bc4f229b 100644 --- a/packages/connector-sqlserver/src/live-database-introspection.ts +++ b/packages/cli/src/connectors/sqlserver/live-database-introspection.ts @@ -1,5 +1,5 @@ -import type { LiveDatabaseIntrospectionPort } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { LiveDatabaseIntrospectionPort } from '../../context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from '../../context/project/index.js'; import { KtxSqlServerScanConnector, type KtxSqlServerConnectionConfig, diff --git a/packages/cli/src/context-build-view.test.ts b/packages/cli/src/context-build-view.test.ts index efe2f445..d0c665fb 100644 --- a/packages/cli/src/context-build-view.test.ts +++ b/packages/cli/src/context-build-view.test.ts @@ -1,4 +1,4 @@ -import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from './context/project/index.js'; import { describe, expect, it, vi } from 'vitest'; import type { KtxPublicIngestProject, KtxPublicIngestTargetResult } from './public-ingest.js'; import { diff --git a/packages/cli/src/context-build-view.ts b/packages/cli/src/context-build-view.ts index 7f47e33f..c53fc8cb 100644 --- a/packages/cli/src/context-build-view.ts +++ b/packages/cli/src/context-build-view.ts @@ -1,4 +1,4 @@ -import type { KtxProgressPort, KtxProgressUpdateOptions } from '@ktx/context/scan'; +import type { KtxProgressPort, KtxProgressUpdateOptions } from './context/scan/index.js'; import type { KtxCliIo } from './index.js'; import type { KtxIngestProgressUpdate } from './ingest.js'; import type { KtxManagedPythonInstallPolicy } from './managed-python-command.js'; diff --git a/packages/context/src/agent/index.ts b/packages/cli/src/context/agent/index.ts similarity index 100% rename from packages/context/src/agent/index.ts rename to packages/cli/src/context/agent/index.ts diff --git a/packages/context/src/connections/connection-type.ts b/packages/cli/src/context/connections/connection-type.ts similarity index 100% rename from packages/context/src/connections/connection-type.ts rename to packages/cli/src/context/connections/connection-type.ts diff --git a/packages/context/src/connections/dialects.test.ts b/packages/cli/src/context/connections/dialects.test.ts similarity index 100% rename from packages/context/src/connections/dialects.test.ts rename to packages/cli/src/context/connections/dialects.test.ts diff --git a/packages/context/src/connections/dialects.ts b/packages/cli/src/context/connections/dialects.ts similarity index 100% rename from packages/context/src/connections/dialects.ts rename to packages/cli/src/context/connections/dialects.ts diff --git a/packages/context/src/connections/index.ts b/packages/cli/src/context/connections/index.ts similarity index 100% rename from packages/context/src/connections/index.ts rename to packages/cli/src/context/connections/index.ts diff --git a/packages/context/src/connections/local-query-executor.test.ts b/packages/cli/src/context/connections/local-query-executor.test.ts similarity index 100% rename from packages/context/src/connections/local-query-executor.test.ts rename to packages/cli/src/context/connections/local-query-executor.test.ts diff --git a/packages/context/src/connections/local-query-executor.ts b/packages/cli/src/context/connections/local-query-executor.ts similarity index 100% rename from packages/context/src/connections/local-query-executor.ts rename to packages/cli/src/context/connections/local-query-executor.ts diff --git a/packages/context/src/connections/local-warehouse-descriptor.test.ts b/packages/cli/src/context/connections/local-warehouse-descriptor.test.ts similarity index 100% rename from packages/context/src/connections/local-warehouse-descriptor.test.ts rename to packages/cli/src/context/connections/local-warehouse-descriptor.test.ts diff --git a/packages/context/src/connections/local-warehouse-descriptor.ts b/packages/cli/src/context/connections/local-warehouse-descriptor.ts similarity index 100% rename from packages/context/src/connections/local-warehouse-descriptor.ts rename to packages/cli/src/context/connections/local-warehouse-descriptor.ts diff --git a/packages/context/src/connections/notion-config.test.ts b/packages/cli/src/context/connections/notion-config.test.ts similarity index 100% rename from packages/context/src/connections/notion-config.test.ts rename to packages/cli/src/context/connections/notion-config.test.ts diff --git a/packages/context/src/connections/notion-config.ts b/packages/cli/src/context/connections/notion-config.ts similarity index 100% rename from packages/context/src/connections/notion-config.ts rename to packages/cli/src/context/connections/notion-config.ts diff --git a/packages/context/src/connections/postgres-query-executor.test.ts b/packages/cli/src/context/connections/postgres-query-executor.test.ts similarity index 100% rename from packages/context/src/connections/postgres-query-executor.test.ts rename to packages/cli/src/context/connections/postgres-query-executor.test.ts diff --git a/packages/context/src/connections/postgres-query-executor.ts b/packages/cli/src/context/connections/postgres-query-executor.ts similarity index 100% rename from packages/context/src/connections/postgres-query-executor.ts rename to packages/cli/src/context/connections/postgres-query-executor.ts diff --git a/packages/context/src/connections/query-executor.ts b/packages/cli/src/context/connections/query-executor.ts similarity index 100% rename from packages/context/src/connections/query-executor.ts rename to packages/cli/src/context/connections/query-executor.ts diff --git a/packages/context/src/connections/read-only-sql.test.ts b/packages/cli/src/context/connections/read-only-sql.test.ts similarity index 100% rename from packages/context/src/connections/read-only-sql.test.ts rename to packages/cli/src/context/connections/read-only-sql.test.ts diff --git a/packages/context/src/connections/read-only-sql.ts b/packages/cli/src/context/connections/read-only-sql.ts similarity index 100% rename from packages/context/src/connections/read-only-sql.ts rename to packages/cli/src/context/connections/read-only-sql.ts diff --git a/packages/context/src/connections/sqlite-query-executor.test.ts b/packages/cli/src/context/connections/sqlite-query-executor.test.ts similarity index 100% rename from packages/context/src/connections/sqlite-query-executor.test.ts rename to packages/cli/src/context/connections/sqlite-query-executor.test.ts diff --git a/packages/context/src/connections/sqlite-query-executor.ts b/packages/cli/src/context/connections/sqlite-query-executor.ts similarity index 100% rename from packages/context/src/connections/sqlite-query-executor.ts rename to packages/cli/src/context/connections/sqlite-query-executor.ts diff --git a/packages/context/src/core/config-reference.test.ts b/packages/cli/src/context/core/config-reference.test.ts similarity index 100% rename from packages/context/src/core/config-reference.test.ts rename to packages/cli/src/context/core/config-reference.test.ts diff --git a/packages/context/src/core/config-reference.ts b/packages/cli/src/context/core/config-reference.ts similarity index 100% rename from packages/context/src/core/config-reference.ts rename to packages/cli/src/context/core/config-reference.ts diff --git a/packages/context/src/core/config.ts b/packages/cli/src/context/core/config.ts similarity index 100% rename from packages/context/src/core/config.ts rename to packages/cli/src/context/core/config.ts diff --git a/packages/context/src/core/embedding.ts b/packages/cli/src/context/core/embedding.ts similarity index 100% rename from packages/context/src/core/embedding.ts rename to packages/cli/src/context/core/embedding.ts diff --git a/packages/context/src/core/file-store.ts b/packages/cli/src/context/core/file-store.ts similarity index 100% rename from packages/context/src/core/file-store.ts rename to packages/cli/src/context/core/file-store.ts diff --git a/packages/context/src/core/git-env.ts b/packages/cli/src/context/core/git-env.ts similarity index 100% rename from packages/context/src/core/git-env.ts rename to packages/cli/src/context/core/git-env.ts diff --git a/packages/context/src/core/git.service.assert-worktree-clean.test.ts b/packages/cli/src/context/core/git.service.assert-worktree-clean.test.ts similarity index 100% rename from packages/context/src/core/git.service.assert-worktree-clean.test.ts rename to packages/cli/src/context/core/git.service.assert-worktree-clean.test.ts diff --git a/packages/context/src/core/git.service.delete-directories.test.ts b/packages/cli/src/context/core/git.service.delete-directories.test.ts similarity index 100% rename from packages/context/src/core/git.service.delete-directories.test.ts rename to packages/cli/src/context/core/git.service.delete-directories.test.ts diff --git a/packages/context/src/core/git.service.patch.test.ts b/packages/cli/src/context/core/git.service.patch.test.ts similarity index 100% rename from packages/context/src/core/git.service.patch.test.ts rename to packages/cli/src/context/core/git.service.patch.test.ts diff --git a/packages/context/src/core/git.service.reset-hard.test.ts b/packages/cli/src/context/core/git.service.reset-hard.test.ts similarity index 100% rename from packages/context/src/core/git.service.reset-hard.test.ts rename to packages/cli/src/context/core/git.service.reset-hard.test.ts diff --git a/packages/context/src/core/git.service.test.ts b/packages/cli/src/context/core/git.service.test.ts similarity index 100% rename from packages/context/src/core/git.service.test.ts rename to packages/cli/src/context/core/git.service.test.ts diff --git a/packages/context/src/core/git.service.ts b/packages/cli/src/context/core/git.service.ts similarity index 100% rename from packages/context/src/core/git.service.ts rename to packages/cli/src/context/core/git.service.ts diff --git a/packages/context/src/core/index.ts b/packages/cli/src/context/core/index.ts similarity index 100% rename from packages/context/src/core/index.ts rename to packages/cli/src/context/core/index.ts diff --git a/packages/context/src/core/redaction.ts b/packages/cli/src/context/core/redaction.ts similarity index 100% rename from packages/context/src/core/redaction.ts rename to packages/cli/src/context/core/redaction.ts diff --git a/packages/context/src/core/session-worktree.service.test.ts b/packages/cli/src/context/core/session-worktree.service.test.ts similarity index 100% rename from packages/context/src/core/session-worktree.service.test.ts rename to packages/cli/src/context/core/session-worktree.service.test.ts diff --git a/packages/context/src/core/session-worktree.service.ts b/packages/cli/src/context/core/session-worktree.service.ts similarity index 100% rename from packages/context/src/core/session-worktree.service.ts rename to packages/cli/src/context/core/session-worktree.service.ts diff --git a/packages/context/src/daemon/index.ts b/packages/cli/src/context/daemon/index.ts similarity index 100% rename from packages/context/src/daemon/index.ts rename to packages/cli/src/context/daemon/index.ts diff --git a/packages/context/src/daemon/semantic-layer-compute.test.ts b/packages/cli/src/context/daemon/semantic-layer-compute.test.ts similarity index 100% rename from packages/context/src/daemon/semantic-layer-compute.test.ts rename to packages/cli/src/context/daemon/semantic-layer-compute.test.ts diff --git a/packages/context/src/daemon/semantic-layer-compute.ts b/packages/cli/src/context/daemon/semantic-layer-compute.ts similarity index 100% rename from packages/context/src/daemon/semantic-layer-compute.ts rename to packages/cli/src/context/daemon/semantic-layer-compute.ts diff --git a/packages/context/src/index-sync/index.ts b/packages/cli/src/context/index-sync/index.ts similarity index 100% rename from packages/context/src/index-sync/index.ts rename to packages/cli/src/context/index-sync/index.ts diff --git a/packages/context/src/index-sync/reindex.test.ts b/packages/cli/src/context/index-sync/reindex.test.ts similarity index 100% rename from packages/context/src/index-sync/reindex.test.ts rename to packages/cli/src/context/index-sync/reindex.test.ts diff --git a/packages/context/src/index-sync/reindex.ts b/packages/cli/src/context/index-sync/reindex.ts similarity index 100% rename from packages/context/src/index-sync/reindex.ts rename to packages/cli/src/context/index-sync/reindex.ts diff --git a/packages/context/src/index-sync/types.ts b/packages/cli/src/context/index-sync/types.ts similarity index 100% rename from packages/context/src/index-sync/types.ts rename to packages/cli/src/context/index-sync/types.ts diff --git a/packages/context/src/index.ts b/packages/cli/src/context/index.ts similarity index 94% rename from packages/context/src/index.ts rename to packages/cli/src/context/index.ts index b8623c7c..053711a9 100644 --- a/packages/context/src/index.ts +++ b/packages/cli/src/context/index.ts @@ -1,13 +1,3 @@ -export interface KtxContextPackageInfo { - name: '@ktx/context'; - version: '0.0.0-private'; -} - -export const ktxContextPackageInfo: KtxContextPackageInfo = { - name: '@ktx/context', - version: '0.0.0-private', -}; - export * from './agent/index.js'; export * from './core/index.js'; export * from './daemon/index.js'; diff --git a/packages/context/src/ingest/action-identity.test.ts b/packages/cli/src/context/ingest/action-identity.test.ts similarity index 100% rename from packages/context/src/ingest/action-identity.test.ts rename to packages/cli/src/context/ingest/action-identity.test.ts diff --git a/packages/context/src/ingest/action-identity.ts b/packages/cli/src/context/ingest/action-identity.ts similarity index 100% rename from packages/context/src/ingest/action-identity.ts rename to packages/cli/src/context/ingest/action-identity.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/match-tables.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/match-tables.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/match-tables.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/match-tables.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/match-tables.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/match-tables.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/match-tables.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/match-tables.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/merge-semantic-model-tables.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/parse-schema.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/parse-schema.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/parse-schema.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/parse-schema.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/parse-schema.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/parse-schema.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/parse-schema.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/parse-schema.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-description-updates.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-description-updates.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-description-updates.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-description-updates.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-description-updates.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-description-updates.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-description-updates.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-description-updates.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-metadata-updates.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-metadata-updates.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-metadata-updates.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-metadata-updates.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-metadata-updates.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-metadata-updates.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-metadata-updates.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-metadata-updates.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-relationship-updates.test.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-relationship-updates.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-relationship-updates.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-relationship-updates.test.ts diff --git a/packages/context/src/ingest/adapters/dbt-descriptions/to-relationship-updates.ts b/packages/cli/src/context/ingest/adapters/dbt-descriptions/to-relationship-updates.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-descriptions/to-relationship-updates.ts rename to packages/cli/src/context/ingest/adapters/dbt-descriptions/to-relationship-updates.ts diff --git a/packages/context/src/ingest/adapters/dbt-extraction-golden-parity.test.ts b/packages/cli/src/context/ingest/adapters/dbt-extraction-golden-parity.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt-extraction-golden-parity.test.ts rename to packages/cli/src/context/ingest/adapters/dbt-extraction-golden-parity.test.ts diff --git a/packages/context/src/ingest/adapters/dbt/chunk.test.ts b/packages/cli/src/context/ingest/adapters/dbt/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/dbt/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/dbt/chunk.ts b/packages/cli/src/context/ingest/adapters/dbt/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/chunk.ts rename to packages/cli/src/context/ingest/adapters/dbt/chunk.ts diff --git a/packages/context/src/ingest/adapters/dbt/dbt.adapter.test.ts b/packages/cli/src/context/ingest/adapters/dbt/dbt.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/dbt.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/dbt/dbt.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/dbt/dbt.adapter.ts b/packages/cli/src/context/ingest/adapters/dbt/dbt.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/dbt.adapter.ts rename to packages/cli/src/context/ingest/adapters/dbt/dbt.adapter.ts diff --git a/packages/context/src/ingest/adapters/dbt/detect.ts b/packages/cli/src/context/ingest/adapters/dbt/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/detect.ts rename to packages/cli/src/context/ingest/adapters/dbt/detect.ts diff --git a/packages/context/src/ingest/adapters/dbt/fetch.test.ts b/packages/cli/src/context/ingest/adapters/dbt/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/dbt/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/dbt/fetch.ts b/packages/cli/src/context/ingest/adapters/dbt/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/fetch.ts rename to packages/cli/src/context/ingest/adapters/dbt/fetch.ts diff --git a/packages/context/src/ingest/adapters/dbt/parse.test.ts b/packages/cli/src/context/ingest/adapters/dbt/parse.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/parse.test.ts rename to packages/cli/src/context/ingest/adapters/dbt/parse.test.ts diff --git a/packages/context/src/ingest/adapters/dbt/parse.ts b/packages/cli/src/context/ingest/adapters/dbt/parse.ts similarity index 100% rename from packages/context/src/ingest/adapters/dbt/parse.ts rename to packages/cli/src/context/ingest/adapters/dbt/parse.ts diff --git a/packages/context/src/ingest/adapters/fake/fake.adapter.ts b/packages/cli/src/context/ingest/adapters/fake/fake.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/fake/fake.adapter.ts rename to packages/cli/src/context/ingest/adapters/fake/fake.adapter.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/bigquery-query-history-reader.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/bigquery-query-history-reader.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/bigquery-query-history-reader.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/bigquery-query-history-reader.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/bigquery-query-history-reader.ts b/packages/cli/src/context/ingest/adapters/historic-sql/bigquery-query-history-reader.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/bigquery-query-history-reader.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/bigquery-query-history-reader.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/buckets.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/buckets.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/buckets.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/buckets.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/buckets.ts b/packages/cli/src/context/ingest/adapters/historic-sql/buckets.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/buckets.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/buckets.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/chunk-unified.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/chunk-unified.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/chunk-unified.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/chunk-unified.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/chunk-unified.ts b/packages/cli/src/context/ingest/adapters/historic-sql/chunk-unified.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/chunk-unified.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/chunk-unified.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/detect.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/detect.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/detect.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/detect.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/detect.ts b/packages/cli/src/context/ingest/adapters/historic-sql/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/detect.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/detect.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/errors.ts b/packages/cli/src/context/ingest/adapters/historic-sql/errors.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/errors.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/errors.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/evidence-tool.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/evidence-tool.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/evidence-tool.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/evidence-tool.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/evidence-tool.ts b/packages/cli/src/context/ingest/adapters/historic-sql/evidence-tool.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/evidence-tool.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/evidence-tool.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/evidence.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/evidence.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/evidence.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/evidence.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/evidence.ts b/packages/cli/src/context/ingest/adapters/historic-sql/evidence.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/evidence.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/evidence.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/historic-sql.adapter.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/historic-sql.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/historic-sql.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/historic-sql.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/historic-sql.adapter.ts b/packages/cli/src/context/ingest/adapters/historic-sql/historic-sql.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/historic-sql.adapter.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/historic-sql.adapter.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/local-ingest-acceptance.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/local-ingest-acceptance.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/local-ingest-acceptance.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/local-ingest-acceptance.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/pattern-inputs.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/pattern-inputs.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/pattern-inputs.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/pattern-inputs.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/pattern-inputs.ts b/packages/cli/src/context/ingest/adapters/historic-sql/pattern-inputs.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/pattern-inputs.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/pattern-inputs.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/postgres-pgss-reader.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/postgres-pgss-reader.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/postgres-pgss-reader.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/postgres-pgss-reader.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/postgres-pgss-reader.ts b/packages/cli/src/context/ingest/adapters/historic-sql/postgres-pgss-reader.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/postgres-pgss-reader.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/postgres-pgss-reader.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/projection.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/projection.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/projection.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/projection.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/projection.ts b/packages/cli/src/context/ingest/adapters/historic-sql/projection.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/projection.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/projection.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/redaction.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/redaction.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/redaction.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/redaction.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/redaction.ts b/packages/cli/src/context/ingest/adapters/historic-sql/redaction.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/redaction.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/redaction.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/skill-schemas.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/skill-schemas.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/skill-schemas.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/skill-schemas.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/skill-schemas.ts b/packages/cli/src/context/ingest/adapters/historic-sql/skill-schemas.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/skill-schemas.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/skill-schemas.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/snowflake-query-history-reader.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/snowflake-query-history-reader.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/snowflake-query-history-reader.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/snowflake-query-history-reader.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/snowflake-query-history-reader.ts b/packages/cli/src/context/ingest/adapters/historic-sql/snowflake-query-history-reader.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/snowflake-query-history-reader.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/snowflake-query-history-reader.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/stage-unified.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/stage-unified.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/stage-unified.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/stage-unified.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/stage-unified.ts b/packages/cli/src/context/ingest/adapters/historic-sql/stage-unified.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/stage-unified.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/stage-unified.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/types.test.ts b/packages/cli/src/context/ingest/adapters/historic-sql/types.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/types.test.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/types.test.ts diff --git a/packages/context/src/ingest/adapters/historic-sql/types.ts b/packages/cli/src/context/ingest/adapters/historic-sql/types.ts similarity index 100% rename from packages/context/src/ingest/adapters/historic-sql/types.ts rename to packages/cli/src/context/ingest/adapters/historic-sql/types.ts diff --git a/packages/context/src/ingest/adapters/live-database/chunk.test.ts b/packages/cli/src/context/ingest/adapters/live-database/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/chunk.ts b/packages/cli/src/context/ingest/adapters/live-database/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/chunk.ts rename to packages/cli/src/context/ingest/adapters/live-database/chunk.ts diff --git a/packages/context/src/ingest/adapters/live-database/daemon-introspection.test.ts b/packages/cli/src/context/ingest/adapters/live-database/daemon-introspection.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/daemon-introspection.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/daemon-introspection.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/daemon-introspection.ts b/packages/cli/src/context/ingest/adapters/live-database/daemon-introspection.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/daemon-introspection.ts rename to packages/cli/src/context/ingest/adapters/live-database/daemon-introspection.ts diff --git a/packages/context/src/ingest/adapters/live-database/extracted-schema.test.ts b/packages/cli/src/context/ingest/adapters/live-database/extracted-schema.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/extracted-schema.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/extracted-schema.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/extracted-schema.ts b/packages/cli/src/context/ingest/adapters/live-database/extracted-schema.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/extracted-schema.ts rename to packages/cli/src/context/ingest/adapters/live-database/extracted-schema.ts diff --git a/packages/context/src/ingest/adapters/live-database/live-database.adapter.test.ts b/packages/cli/src/context/ingest/adapters/live-database/live-database.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/live-database.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/live-database.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/live-database.adapter.ts b/packages/cli/src/context/ingest/adapters/live-database/live-database.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/live-database.adapter.ts rename to packages/cli/src/context/ingest/adapters/live-database/live-database.adapter.ts diff --git a/packages/context/src/ingest/adapters/live-database/manifest.test.ts b/packages/cli/src/context/ingest/adapters/live-database/manifest.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/manifest.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/manifest.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/manifest.ts b/packages/cli/src/context/ingest/adapters/live-database/manifest.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/manifest.ts rename to packages/cli/src/context/ingest/adapters/live-database/manifest.ts diff --git a/packages/context/src/ingest/adapters/live-database/stage.test.ts b/packages/cli/src/context/ingest/adapters/live-database/stage.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/stage.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/stage.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/stage.ts b/packages/cli/src/context/ingest/adapters/live-database/stage.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/stage.ts rename to packages/cli/src/context/ingest/adapters/live-database/stage.ts diff --git a/packages/context/src/ingest/adapters/live-database/structural-sync.test.ts b/packages/cli/src/context/ingest/adapters/live-database/structural-sync.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/structural-sync.test.ts rename to packages/cli/src/context/ingest/adapters/live-database/structural-sync.test.ts diff --git a/packages/context/src/ingest/adapters/live-database/structural-sync.ts b/packages/cli/src/context/ingest/adapters/live-database/structural-sync.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/structural-sync.ts rename to packages/cli/src/context/ingest/adapters/live-database/structural-sync.ts diff --git a/packages/context/src/ingest/adapters/live-database/types.ts b/packages/cli/src/context/ingest/adapters/live-database/types.ts similarity index 100% rename from packages/context/src/ingest/adapters/live-database/types.ts rename to packages/cli/src/context/ingest/adapters/live-database/types.ts diff --git a/packages/context/src/ingest/adapters/looker/chunk.test.ts b/packages/cli/src/context/ingest/adapters/looker/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/looker/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/looker/chunk.ts b/packages/cli/src/context/ingest/adapters/looker/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/chunk.ts rename to packages/cli/src/context/ingest/adapters/looker/chunk.ts diff --git a/packages/context/src/ingest/adapters/looker/client-boundary.test.ts b/packages/cli/src/context/ingest/adapters/looker/client-boundary.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/client-boundary.test.ts rename to packages/cli/src/context/ingest/adapters/looker/client-boundary.test.ts diff --git a/packages/context/src/ingest/adapters/looker/client.test.ts b/packages/cli/src/context/ingest/adapters/looker/client.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/client.test.ts rename to packages/cli/src/context/ingest/adapters/looker/client.test.ts diff --git a/packages/context/src/ingest/adapters/looker/client.ts b/packages/cli/src/context/ingest/adapters/looker/client.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/client.ts rename to packages/cli/src/context/ingest/adapters/looker/client.ts diff --git a/packages/context/src/ingest/adapters/looker/daemon-table-identifier-parser.test.ts b/packages/cli/src/context/ingest/adapters/looker/daemon-table-identifier-parser.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/daemon-table-identifier-parser.test.ts rename to packages/cli/src/context/ingest/adapters/looker/daemon-table-identifier-parser.test.ts diff --git a/packages/context/src/ingest/adapters/looker/daemon-table-identifier-parser.ts b/packages/cli/src/context/ingest/adapters/looker/daemon-table-identifier-parser.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/daemon-table-identifier-parser.ts rename to packages/cli/src/context/ingest/adapters/looker/daemon-table-identifier-parser.ts diff --git a/packages/context/src/ingest/adapters/looker/detect.test.ts b/packages/cli/src/context/ingest/adapters/looker/detect.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/detect.test.ts rename to packages/cli/src/context/ingest/adapters/looker/detect.test.ts diff --git a/packages/context/src/ingest/adapters/looker/detect.ts b/packages/cli/src/context/ingest/adapters/looker/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/detect.ts rename to packages/cli/src/context/ingest/adapters/looker/detect.ts diff --git a/packages/context/src/ingest/adapters/looker/evidence-documents.test.ts b/packages/cli/src/context/ingest/adapters/looker/evidence-documents.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/evidence-documents.test.ts rename to packages/cli/src/context/ingest/adapters/looker/evidence-documents.test.ts diff --git a/packages/context/src/ingest/adapters/looker/evidence-documents.ts b/packages/cli/src/context/ingest/adapters/looker/evidence-documents.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/evidence-documents.ts rename to packages/cli/src/context/ingest/adapters/looker/evidence-documents.ts diff --git a/packages/context/src/ingest/adapters/looker/factory.test.ts b/packages/cli/src/context/ingest/adapters/looker/factory.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/factory.test.ts rename to packages/cli/src/context/ingest/adapters/looker/factory.test.ts diff --git a/packages/context/src/ingest/adapters/looker/factory.ts b/packages/cli/src/context/ingest/adapters/looker/factory.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/factory.ts rename to packages/cli/src/context/ingest/adapters/looker/factory.ts diff --git a/packages/context/src/ingest/adapters/looker/fetch-report.test.ts b/packages/cli/src/context/ingest/adapters/looker/fetch-report.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/fetch-report.test.ts rename to packages/cli/src/context/ingest/adapters/looker/fetch-report.test.ts diff --git a/packages/context/src/ingest/adapters/looker/fetch-report.ts b/packages/cli/src/context/ingest/adapters/looker/fetch-report.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/fetch-report.ts rename to packages/cli/src/context/ingest/adapters/looker/fetch-report.ts diff --git a/packages/context/src/ingest/adapters/looker/fetch.test.ts b/packages/cli/src/context/ingest/adapters/looker/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/looker/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/looker/fetch.ts b/packages/cli/src/context/ingest/adapters/looker/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/fetch.ts rename to packages/cli/src/context/ingest/adapters/looker/fetch.ts diff --git a/packages/context/src/ingest/adapters/looker/local-looker.adapter.ts b/packages/cli/src/context/ingest/adapters/looker/local-looker.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/local-looker.adapter.ts rename to packages/cli/src/context/ingest/adapters/looker/local-looker.adapter.ts diff --git a/packages/context/src/ingest/adapters/looker/local-runtime-store.test.ts b/packages/cli/src/context/ingest/adapters/looker/local-runtime-store.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/local-runtime-store.test.ts rename to packages/cli/src/context/ingest/adapters/looker/local-runtime-store.test.ts diff --git a/packages/context/src/ingest/adapters/looker/local-runtime-store.ts b/packages/cli/src/context/ingest/adapters/looker/local-runtime-store.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/local-runtime-store.ts rename to packages/cli/src/context/ingest/adapters/looker/local-runtime-store.ts diff --git a/packages/context/src/ingest/adapters/looker/looker.adapter.test.ts b/packages/cli/src/context/ingest/adapters/looker/looker.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/looker.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/looker/looker.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/looker/looker.adapter.ts b/packages/cli/src/context/ingest/adapters/looker/looker.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/looker.adapter.ts rename to packages/cli/src/context/ingest/adapters/looker/looker.adapter.ts diff --git a/packages/context/src/ingest/adapters/looker/mapping.test.ts b/packages/cli/src/context/ingest/adapters/looker/mapping.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/mapping.test.ts rename to packages/cli/src/context/ingest/adapters/looker/mapping.test.ts diff --git a/packages/context/src/ingest/adapters/looker/mapping.ts b/packages/cli/src/context/ingest/adapters/looker/mapping.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/mapping.ts rename to packages/cli/src/context/ingest/adapters/looker/mapping.ts diff --git a/packages/context/src/ingest/adapters/looker/reconcile.test.ts b/packages/cli/src/context/ingest/adapters/looker/reconcile.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/reconcile.test.ts rename to packages/cli/src/context/ingest/adapters/looker/reconcile.test.ts diff --git a/packages/context/src/ingest/adapters/looker/reconcile.ts b/packages/cli/src/context/ingest/adapters/looker/reconcile.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/reconcile.ts rename to packages/cli/src/context/ingest/adapters/looker/reconcile.ts diff --git a/packages/context/src/ingest/adapters/looker/scope.test.ts b/packages/cli/src/context/ingest/adapters/looker/scope.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/scope.test.ts rename to packages/cli/src/context/ingest/adapters/looker/scope.test.ts diff --git a/packages/context/src/ingest/adapters/looker/scope.ts b/packages/cli/src/context/ingest/adapters/looker/scope.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/scope.ts rename to packages/cli/src/context/ingest/adapters/looker/scope.ts diff --git a/packages/context/src/ingest/adapters/looker/target-connections.test.ts b/packages/cli/src/context/ingest/adapters/looker/target-connections.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/target-connections.test.ts rename to packages/cli/src/context/ingest/adapters/looker/target-connections.test.ts diff --git a/packages/context/src/ingest/adapters/looker/target-connections.ts b/packages/cli/src/context/ingest/adapters/looker/target-connections.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/target-connections.ts rename to packages/cli/src/context/ingest/adapters/looker/target-connections.ts diff --git a/packages/context/src/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.ts b/packages/cli/src/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.ts rename to packages/cli/src/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.test.ts diff --git a/packages/context/src/ingest/adapters/looker/tools/looker-query-to-sl.tool.ts b/packages/cli/src/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/tools/looker-query-to-sl.tool.ts rename to packages/cli/src/context/ingest/adapters/looker/tools/looker-query-to-sl.tool.ts diff --git a/packages/context/src/ingest/adapters/looker/types.test.ts b/packages/cli/src/context/ingest/adapters/looker/types.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/types.test.ts rename to packages/cli/src/context/ingest/adapters/looker/types.test.ts diff --git a/packages/context/src/ingest/adapters/looker/types.ts b/packages/cli/src/context/ingest/adapters/looker/types.ts similarity index 100% rename from packages/context/src/ingest/adapters/looker/types.ts rename to packages/cli/src/context/ingest/adapters/looker/types.ts diff --git a/packages/context/src/ingest/adapters/lookml/chunk.test.ts b/packages/cli/src/context/ingest/adapters/lookml/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/chunk.ts b/packages/cli/src/context/ingest/adapters/lookml/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/chunk.ts rename to packages/cli/src/context/ingest/adapters/lookml/chunk.ts diff --git a/packages/context/src/ingest/adapters/lookml/detect.test.ts b/packages/cli/src/context/ingest/adapters/lookml/detect.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/detect.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/detect.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/detect.ts b/packages/cli/src/context/ingest/adapters/lookml/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/detect.ts rename to packages/cli/src/context/ingest/adapters/lookml/detect.ts diff --git a/packages/context/src/ingest/adapters/lookml/fetch-report.test.ts b/packages/cli/src/context/ingest/adapters/lookml/fetch-report.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/fetch-report.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/fetch-report.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/fetch-report.ts b/packages/cli/src/context/ingest/adapters/lookml/fetch-report.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/fetch-report.ts rename to packages/cli/src/context/ingest/adapters/lookml/fetch-report.ts diff --git a/packages/context/src/ingest/adapters/lookml/fetch.test.ts b/packages/cli/src/context/ingest/adapters/lookml/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/fetch.ts b/packages/cli/src/context/ingest/adapters/lookml/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/fetch.ts rename to packages/cli/src/context/ingest/adapters/lookml/fetch.ts diff --git a/packages/context/src/ingest/adapters/lookml/graph.test.ts b/packages/cli/src/context/ingest/adapters/lookml/graph.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/graph.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/graph.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/graph.ts b/packages/cli/src/context/ingest/adapters/lookml/graph.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/graph.ts rename to packages/cli/src/context/ingest/adapters/lookml/graph.ts diff --git a/packages/context/src/ingest/adapters/lookml/lookml-parser.d.ts b/packages/cli/src/context/ingest/adapters/lookml/lookml-parser.d.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/lookml-parser.d.ts rename to packages/cli/src/context/ingest/adapters/lookml/lookml-parser.d.ts diff --git a/packages/context/src/ingest/adapters/lookml/lookml.adapter.test.ts b/packages/cli/src/context/ingest/adapters/lookml/lookml.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/lookml.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/lookml.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/lookml.adapter.ts b/packages/cli/src/context/ingest/adapters/lookml/lookml.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/lookml.adapter.ts rename to packages/cli/src/context/ingest/adapters/lookml/lookml.adapter.ts diff --git a/packages/context/src/ingest/adapters/lookml/parse.test.ts b/packages/cli/src/context/ingest/adapters/lookml/parse.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/parse.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/parse.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/parse.ts b/packages/cli/src/context/ingest/adapters/lookml/parse.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/parse.ts rename to packages/cli/src/context/ingest/adapters/lookml/parse.ts diff --git a/packages/context/src/ingest/adapters/lookml/pull-config.test.ts b/packages/cli/src/context/ingest/adapters/lookml/pull-config.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/pull-config.test.ts rename to packages/cli/src/context/ingest/adapters/lookml/pull-config.test.ts diff --git a/packages/context/src/ingest/adapters/lookml/pull-config.ts b/packages/cli/src/context/ingest/adapters/lookml/pull-config.ts similarity index 100% rename from packages/context/src/ingest/adapters/lookml/pull-config.ts rename to packages/cli/src/context/ingest/adapters/lookml/pull-config.ts diff --git a/packages/context/src/ingest/adapters/metabase/card-references.test.ts b/packages/cli/src/context/ingest/adapters/metabase/card-references.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/card-references.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/card-references.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/card-references.ts b/packages/cli/src/context/ingest/adapters/metabase/card-references.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/card-references.ts rename to packages/cli/src/context/ingest/adapters/metabase/card-references.ts diff --git a/packages/context/src/ingest/adapters/metabase/chunk.test.ts b/packages/cli/src/context/ingest/adapters/metabase/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/chunk.ts b/packages/cli/src/context/ingest/adapters/metabase/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/chunk.ts rename to packages/cli/src/context/ingest/adapters/metabase/chunk.ts diff --git a/packages/context/src/ingest/adapters/metabase/client-boundary.test.ts b/packages/cli/src/context/ingest/adapters/metabase/client-boundary.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/client-boundary.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/client-boundary.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/client-port.test.ts b/packages/cli/src/context/ingest/adapters/metabase/client-port.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/client-port.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/client-port.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/client-port.ts b/packages/cli/src/context/ingest/adapters/metabase/client-port.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/client-port.ts rename to packages/cli/src/context/ingest/adapters/metabase/client-port.ts diff --git a/packages/context/src/ingest/adapters/metabase/client.test.ts b/packages/cli/src/context/ingest/adapters/metabase/client.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/client.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/client.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/client.ts b/packages/cli/src/context/ingest/adapters/metabase/client.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/client.ts rename to packages/cli/src/context/ingest/adapters/metabase/client.ts diff --git a/packages/context/src/ingest/adapters/metabase/detect.test.ts b/packages/cli/src/context/ingest/adapters/metabase/detect.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/detect.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/detect.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/detect.ts b/packages/cli/src/context/ingest/adapters/metabase/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/detect.ts rename to packages/cli/src/context/ingest/adapters/metabase/detect.ts diff --git a/packages/context/src/ingest/adapters/metabase/fanout-planner.test.ts b/packages/cli/src/context/ingest/adapters/metabase/fanout-planner.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fanout-planner.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/fanout-planner.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/fanout-planner.ts b/packages/cli/src/context/ingest/adapters/metabase/fanout-planner.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fanout-planner.ts rename to packages/cli/src/context/ingest/adapters/metabase/fanout-planner.ts diff --git a/packages/context/src/ingest/adapters/metabase/fetch-scope.test.ts b/packages/cli/src/context/ingest/adapters/metabase/fetch-scope.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fetch-scope.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/fetch-scope.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/fetch-scope.ts b/packages/cli/src/context/ingest/adapters/metabase/fetch-scope.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fetch-scope.ts rename to packages/cli/src/context/ingest/adapters/metabase/fetch-scope.ts diff --git a/packages/context/src/ingest/adapters/metabase/fetch.test.ts b/packages/cli/src/context/ingest/adapters/metabase/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/fetch.ts b/packages/cli/src/context/ingest/adapters/metabase/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/fetch.ts rename to packages/cli/src/context/ingest/adapters/metabase/fetch.ts diff --git a/packages/context/src/ingest/adapters/metabase/local-metabase.adapter.test.ts b/packages/cli/src/context/ingest/adapters/metabase/local-metabase.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/local-metabase.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/local-metabase.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/local-metabase.adapter.ts b/packages/cli/src/context/ingest/adapters/metabase/local-metabase.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/local-metabase.adapter.ts rename to packages/cli/src/context/ingest/adapters/metabase/local-metabase.adapter.ts diff --git a/packages/context/src/ingest/adapters/metabase/local-source-state-store.test.ts b/packages/cli/src/context/ingest/adapters/metabase/local-source-state-store.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/local-source-state-store.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/local-source-state-store.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/local-source-state-store.ts b/packages/cli/src/context/ingest/adapters/metabase/local-source-state-store.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/local-source-state-store.ts rename to packages/cli/src/context/ingest/adapters/metabase/local-source-state-store.ts diff --git a/packages/context/src/ingest/adapters/metabase/mapping.test.ts b/packages/cli/src/context/ingest/adapters/metabase/mapping.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/mapping.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/mapping.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/mapping.ts b/packages/cli/src/context/ingest/adapters/metabase/mapping.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/mapping.ts rename to packages/cli/src/context/ingest/adapters/metabase/mapping.ts diff --git a/packages/context/src/ingest/adapters/metabase/metabase.adapter.test.ts b/packages/cli/src/context/ingest/adapters/metabase/metabase.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/metabase.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/metabase.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/metabase.adapter.ts b/packages/cli/src/context/ingest/adapters/metabase/metabase.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/metabase.adapter.ts rename to packages/cli/src/context/ingest/adapters/metabase/metabase.adapter.ts diff --git a/packages/context/src/ingest/adapters/metabase/serialize-card.test.ts b/packages/cli/src/context/ingest/adapters/metabase/serialize-card.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/serialize-card.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/serialize-card.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/serialize-card.ts b/packages/cli/src/context/ingest/adapters/metabase/serialize-card.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/serialize-card.ts rename to packages/cli/src/context/ingest/adapters/metabase/serialize-card.ts diff --git a/packages/context/src/ingest/adapters/metabase/source-state-port.ts b/packages/cli/src/context/ingest/adapters/metabase/source-state-port.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/source-state-port.ts rename to packages/cli/src/context/ingest/adapters/metabase/source-state-port.ts diff --git a/packages/context/src/ingest/adapters/metabase/types.test.ts b/packages/cli/src/context/ingest/adapters/metabase/types.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/types.test.ts rename to packages/cli/src/context/ingest/adapters/metabase/types.test.ts diff --git a/packages/context/src/ingest/adapters/metabase/types.ts b/packages/cli/src/context/ingest/adapters/metabase/types.ts similarity index 100% rename from packages/context/src/ingest/adapters/metabase/types.ts rename to packages/cli/src/context/ingest/adapters/metabase/types.ts diff --git a/packages/context/src/ingest/adapters/metricflow/chunk.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/chunk.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/chunk.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/chunk.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/chunk.ts b/packages/cli/src/context/ingest/adapters/metricflow/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/chunk.ts rename to packages/cli/src/context/ingest/adapters/metricflow/chunk.ts diff --git a/packages/context/src/ingest/adapters/metricflow/deep-parse.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/deep-parse.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/deep-parse.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/deep-parse.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/deep-parse.ts b/packages/cli/src/context/ingest/adapters/metricflow/deep-parse.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/deep-parse.ts rename to packages/cli/src/context/ingest/adapters/metricflow/deep-parse.ts diff --git a/packages/context/src/ingest/adapters/metricflow/detect.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/detect.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/detect.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/detect.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/detect.ts b/packages/cli/src/context/ingest/adapters/metricflow/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/detect.ts rename to packages/cli/src/context/ingest/adapters/metricflow/detect.ts diff --git a/packages/context/src/ingest/adapters/metricflow/fetch.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/fetch.ts b/packages/cli/src/context/ingest/adapters/metricflow/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/fetch.ts rename to packages/cli/src/context/ingest/adapters/metricflow/fetch.ts diff --git a/packages/context/src/ingest/adapters/metricflow/graph.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/graph.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/graph.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/graph.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/graph.ts b/packages/cli/src/context/ingest/adapters/metricflow/graph.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/graph.ts rename to packages/cli/src/context/ingest/adapters/metricflow/graph.ts diff --git a/packages/context/src/ingest/adapters/metricflow/import-semantic-models.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/import-semantic-models.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/import-semantic-models.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/import-semantic-models.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/import-semantic-models.ts b/packages/cli/src/context/ingest/adapters/metricflow/import-semantic-models.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/import-semantic-models.ts rename to packages/cli/src/context/ingest/adapters/metricflow/import-semantic-models.ts diff --git a/packages/context/src/ingest/adapters/metricflow/metricflow.adapter.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/metricflow.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/metricflow.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/metricflow.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/metricflow.adapter.ts b/packages/cli/src/context/ingest/adapters/metricflow/metricflow.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/metricflow.adapter.ts rename to packages/cli/src/context/ingest/adapters/metricflow/metricflow.adapter.ts diff --git a/packages/context/src/ingest/adapters/metricflow/parse.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/parse.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/parse.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/parse.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/parse.ts b/packages/cli/src/context/ingest/adapters/metricflow/parse.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/parse.ts rename to packages/cli/src/context/ingest/adapters/metricflow/parse.ts diff --git a/packages/context/src/ingest/adapters/metricflow/projection-config.ts b/packages/cli/src/context/ingest/adapters/metricflow/projection-config.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/projection-config.ts rename to packages/cli/src/context/ingest/adapters/metricflow/projection-config.ts diff --git a/packages/context/src/ingest/adapters/metricflow/pull-config.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/pull-config.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/pull-config.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/pull-config.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/pull-config.ts b/packages/cli/src/context/ingest/adapters/metricflow/pull-config.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/pull-config.ts rename to packages/cli/src/context/ingest/adapters/metricflow/pull-config.ts diff --git a/packages/context/src/ingest/adapters/metricflow/semantic-models.test.ts b/packages/cli/src/context/ingest/adapters/metricflow/semantic-models.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/semantic-models.test.ts rename to packages/cli/src/context/ingest/adapters/metricflow/semantic-models.test.ts diff --git a/packages/context/src/ingest/adapters/metricflow/semantic-models.ts b/packages/cli/src/context/ingest/adapters/metricflow/semantic-models.ts similarity index 100% rename from packages/context/src/ingest/adapters/metricflow/semantic-models.ts rename to packages/cli/src/context/ingest/adapters/metricflow/semantic-models.ts diff --git a/packages/context/src/ingest/adapters/notion/chunk.ts b/packages/cli/src/context/ingest/adapters/notion/chunk.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/chunk.ts rename to packages/cli/src/context/ingest/adapters/notion/chunk.ts diff --git a/packages/context/src/ingest/adapters/notion/cluster.test.ts b/packages/cli/src/context/ingest/adapters/notion/cluster.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/cluster.test.ts rename to packages/cli/src/context/ingest/adapters/notion/cluster.test.ts diff --git a/packages/context/src/ingest/adapters/notion/cluster.ts b/packages/cli/src/context/ingest/adapters/notion/cluster.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/cluster.ts rename to packages/cli/src/context/ingest/adapters/notion/cluster.ts diff --git a/packages/context/src/ingest/adapters/notion/detect.ts b/packages/cli/src/context/ingest/adapters/notion/detect.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/detect.ts rename to packages/cli/src/context/ingest/adapters/notion/detect.ts diff --git a/packages/context/src/ingest/adapters/notion/fetch.test.ts b/packages/cli/src/context/ingest/adapters/notion/fetch.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/fetch.test.ts rename to packages/cli/src/context/ingest/adapters/notion/fetch.test.ts diff --git a/packages/context/src/ingest/adapters/notion/fetch.ts b/packages/cli/src/context/ingest/adapters/notion/fetch.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/fetch.ts rename to packages/cli/src/context/ingest/adapters/notion/fetch.ts diff --git a/packages/context/src/ingest/adapters/notion/local-state-store.test.ts b/packages/cli/src/context/ingest/adapters/notion/local-state-store.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/local-state-store.test.ts rename to packages/cli/src/context/ingest/adapters/notion/local-state-store.test.ts diff --git a/packages/context/src/ingest/adapters/notion/local-state-store.ts b/packages/cli/src/context/ingest/adapters/notion/local-state-store.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/local-state-store.ts rename to packages/cli/src/context/ingest/adapters/notion/local-state-store.ts diff --git a/packages/context/src/ingest/adapters/notion/normalize.test.ts b/packages/cli/src/context/ingest/adapters/notion/normalize.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/normalize.test.ts rename to packages/cli/src/context/ingest/adapters/notion/normalize.test.ts diff --git a/packages/context/src/ingest/adapters/notion/normalize.ts b/packages/cli/src/context/ingest/adapters/notion/normalize.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/normalize.ts rename to packages/cli/src/context/ingest/adapters/notion/normalize.ts diff --git a/packages/context/src/ingest/adapters/notion/notion-client.test.ts b/packages/cli/src/context/ingest/adapters/notion/notion-client.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/notion-client.test.ts rename to packages/cli/src/context/ingest/adapters/notion/notion-client.test.ts diff --git a/packages/context/src/ingest/adapters/notion/notion-client.ts b/packages/cli/src/context/ingest/adapters/notion/notion-client.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/notion-client.ts rename to packages/cli/src/context/ingest/adapters/notion/notion-client.ts diff --git a/packages/context/src/ingest/adapters/notion/notion.adapter.test.ts b/packages/cli/src/context/ingest/adapters/notion/notion.adapter.test.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/notion.adapter.test.ts rename to packages/cli/src/context/ingest/adapters/notion/notion.adapter.test.ts diff --git a/packages/context/src/ingest/adapters/notion/notion.adapter.ts b/packages/cli/src/context/ingest/adapters/notion/notion.adapter.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/notion.adapter.ts rename to packages/cli/src/context/ingest/adapters/notion/notion.adapter.ts diff --git a/packages/context/src/ingest/adapters/notion/pull-config.ts b/packages/cli/src/context/ingest/adapters/notion/pull-config.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/pull-config.ts rename to packages/cli/src/context/ingest/adapters/notion/pull-config.ts diff --git a/packages/context/src/ingest/adapters/notion/types.ts b/packages/cli/src/context/ingest/adapters/notion/types.ts similarity index 100% rename from packages/context/src/ingest/adapters/notion/types.ts rename to packages/cli/src/context/ingest/adapters/notion/types.ts diff --git a/packages/context/src/ingest/artifact-gates.test.ts b/packages/cli/src/context/ingest/artifact-gates.test.ts similarity index 100% rename from packages/context/src/ingest/artifact-gates.test.ts rename to packages/cli/src/context/ingest/artifact-gates.test.ts diff --git a/packages/context/src/ingest/artifact-gates.ts b/packages/cli/src/context/ingest/artifact-gates.ts similarity index 100% rename from packages/context/src/ingest/artifact-gates.ts rename to packages/cli/src/context/ingest/artifact-gates.ts diff --git a/packages/context/src/ingest/canonical-pins.test.ts b/packages/cli/src/context/ingest/canonical-pins.test.ts similarity index 100% rename from packages/context/src/ingest/canonical-pins.test.ts rename to packages/cli/src/context/ingest/canonical-pins.test.ts diff --git a/packages/context/src/ingest/canonical-pins.ts b/packages/cli/src/context/ingest/canonical-pins.ts similarity index 100% rename from packages/context/src/ingest/canonical-pins.ts rename to packages/cli/src/context/ingest/canonical-pins.ts diff --git a/packages/context/src/ingest/clustering/kmeans.test.ts b/packages/cli/src/context/ingest/clustering/kmeans.test.ts similarity index 100% rename from packages/context/src/ingest/clustering/kmeans.test.ts rename to packages/cli/src/context/ingest/clustering/kmeans.test.ts diff --git a/packages/context/src/ingest/clustering/kmeans.ts b/packages/cli/src/context/ingest/clustering/kmeans.ts similarity index 100% rename from packages/context/src/ingest/clustering/kmeans.ts rename to packages/cli/src/context/ingest/clustering/kmeans.ts diff --git a/packages/context/src/ingest/context-candidates/candidate-dedup.service.test.ts b/packages/cli/src/context/ingest/context-candidates/candidate-dedup.service.test.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/candidate-dedup.service.test.ts rename to packages/cli/src/context/ingest/context-candidates/candidate-dedup.service.test.ts diff --git a/packages/context/src/ingest/context-candidates/candidate-dedup.service.ts b/packages/cli/src/context/ingest/context-candidates/candidate-dedup.service.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/candidate-dedup.service.ts rename to packages/cli/src/context/ingest/context-candidates/candidate-dedup.service.ts diff --git a/packages/context/src/ingest/context-candidates/context-candidate-carryforward.service.test.ts b/packages/cli/src/context/ingest/context-candidates/context-candidate-carryforward.service.test.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/context-candidate-carryforward.service.test.ts rename to packages/cli/src/context/ingest/context-candidates/context-candidate-carryforward.service.test.ts diff --git a/packages/context/src/ingest/context-candidates/context-candidate-carryforward.service.ts b/packages/cli/src/context/ingest/context-candidates/context-candidate-carryforward.service.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/context-candidate-carryforward.service.ts rename to packages/cli/src/context/ingest/context-candidates/context-candidate-carryforward.service.ts diff --git a/packages/context/src/ingest/context-candidates/curator-pagination.service.test.ts b/packages/cli/src/context/ingest/context-candidates/curator-pagination.service.test.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/curator-pagination.service.test.ts rename to packages/cli/src/context/ingest/context-candidates/curator-pagination.service.test.ts diff --git a/packages/context/src/ingest/context-candidates/curator-pagination.service.ts b/packages/cli/src/context/ingest/context-candidates/curator-pagination.service.ts similarity index 99% rename from packages/context/src/ingest/context-candidates/curator-pagination.service.ts rename to packages/cli/src/context/ingest/context-candidates/curator-pagination.service.ts index 603de89f..bd883553 100644 --- a/packages/context/src/ingest/context-candidates/curator-pagination.service.ts +++ b/packages/cli/src/context/ingest/context-candidates/curator-pagination.service.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; +import type { KtxModelRole } from '../../../llm/index.js'; import { type KtxLogger, noopLogger } from '../../core/index.js'; import type { AgentRunnerPort, KtxRuntimeToolSet } from '../../llm/index.js'; import type { MemoryAction } from '../../memory/index.js'; diff --git a/packages/context/src/ingest/context-candidates/embedding-text.test.ts b/packages/cli/src/context/ingest/context-candidates/embedding-text.test.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/embedding-text.test.ts rename to packages/cli/src/context/ingest/context-candidates/embedding-text.test.ts diff --git a/packages/context/src/ingest/context-candidates/embedding-text.ts b/packages/cli/src/context/ingest/context-candidates/embedding-text.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/embedding-text.ts rename to packages/cli/src/context/ingest/context-candidates/embedding-text.ts diff --git a/packages/context/src/ingest/context-candidates/index.ts b/packages/cli/src/context/ingest/context-candidates/index.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/index.ts rename to packages/cli/src/context/ingest/context-candidates/index.ts diff --git a/packages/context/src/ingest/context-candidates/store.test.ts b/packages/cli/src/context/ingest/context-candidates/store.test.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/store.test.ts rename to packages/cli/src/context/ingest/context-candidates/store.test.ts diff --git a/packages/context/src/ingest/context-candidates/store.ts b/packages/cli/src/context/ingest/context-candidates/store.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/store.ts rename to packages/cli/src/context/ingest/context-candidates/store.ts diff --git a/packages/context/src/ingest/context-candidates/types.ts b/packages/cli/src/context/ingest/context-candidates/types.ts similarity index 100% rename from packages/context/src/ingest/context-candidates/types.ts rename to packages/cli/src/context/ingest/context-candidates/types.ts diff --git a/packages/context/src/ingest/context-evidence/context-evidence-index.service.test.ts b/packages/cli/src/context/ingest/context-evidence/context-evidence-index.service.test.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/context-evidence-index.service.test.ts rename to packages/cli/src/context/ingest/context-evidence/context-evidence-index.service.test.ts diff --git a/packages/context/src/ingest/context-evidence/context-evidence-index.service.ts b/packages/cli/src/context/ingest/context-evidence/context-evidence-index.service.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/context-evidence-index.service.ts rename to packages/cli/src/context/ingest/context-evidence/context-evidence-index.service.ts diff --git a/packages/context/src/ingest/context-evidence/index.ts b/packages/cli/src/context/ingest/context-evidence/index.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/index.ts rename to packages/cli/src/context/ingest/context-evidence/index.ts diff --git a/packages/context/src/ingest/context-evidence/sqlite-context-evidence-store.test.ts b/packages/cli/src/context/ingest/context-evidence/sqlite-context-evidence-store.test.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/sqlite-context-evidence-store.test.ts rename to packages/cli/src/context/ingest/context-evidence/sqlite-context-evidence-store.test.ts diff --git a/packages/context/src/ingest/context-evidence/sqlite-context-evidence-store.ts b/packages/cli/src/context/ingest/context-evidence/sqlite-context-evidence-store.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/sqlite-context-evidence-store.ts rename to packages/cli/src/context/ingest/context-evidence/sqlite-context-evidence-store.ts diff --git a/packages/context/src/ingest/context-evidence/store.test.ts b/packages/cli/src/context/ingest/context-evidence/store.test.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/store.test.ts rename to packages/cli/src/context/ingest/context-evidence/store.test.ts diff --git a/packages/context/src/ingest/context-evidence/store.ts b/packages/cli/src/context/ingest/context-evidence/store.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/store.ts rename to packages/cli/src/context/ingest/context-evidence/store.ts diff --git a/packages/context/src/ingest/context-evidence/types.ts b/packages/cli/src/context/ingest/context-evidence/types.ts similarity index 100% rename from packages/context/src/ingest/context-evidence/types.ts rename to packages/cli/src/context/ingest/context-evidence/types.ts diff --git a/packages/context/src/ingest/dbt-shared/project-vars.test.ts b/packages/cli/src/context/ingest/dbt-shared/project-vars.test.ts similarity index 100% rename from packages/context/src/ingest/dbt-shared/project-vars.test.ts rename to packages/cli/src/context/ingest/dbt-shared/project-vars.test.ts diff --git a/packages/context/src/ingest/dbt-shared/project-vars.ts b/packages/cli/src/context/ingest/dbt-shared/project-vars.ts similarity index 100% rename from packages/context/src/ingest/dbt-shared/project-vars.ts rename to packages/cli/src/context/ingest/dbt-shared/project-vars.ts diff --git a/packages/context/src/ingest/dbt-shared/schema-files.test.ts b/packages/cli/src/context/ingest/dbt-shared/schema-files.test.ts similarity index 100% rename from packages/context/src/ingest/dbt-shared/schema-files.test.ts rename to packages/cli/src/context/ingest/dbt-shared/schema-files.test.ts diff --git a/packages/context/src/ingest/dbt-shared/schema-files.ts b/packages/cli/src/context/ingest/dbt-shared/schema-files.ts similarity index 100% rename from packages/context/src/ingest/dbt-shared/schema-files.ts rename to packages/cli/src/context/ingest/dbt-shared/schema-files.ts diff --git a/packages/context/src/ingest/diff-set.service.test.ts b/packages/cli/src/context/ingest/diff-set.service.test.ts similarity index 100% rename from packages/context/src/ingest/diff-set.service.test.ts rename to packages/cli/src/context/ingest/diff-set.service.test.ts diff --git a/packages/context/src/ingest/diff-set.service.ts b/packages/cli/src/context/ingest/diff-set.service.ts similarity index 100% rename from packages/context/src/ingest/diff-set.service.ts rename to packages/cli/src/context/ingest/diff-set.service.ts diff --git a/packages/context/src/ingest/final-gate-repair.test.ts b/packages/cli/src/context/ingest/final-gate-repair.test.ts similarity index 100% rename from packages/context/src/ingest/final-gate-repair.test.ts rename to packages/cli/src/context/ingest/final-gate-repair.test.ts diff --git a/packages/context/src/ingest/final-gate-repair.ts b/packages/cli/src/context/ingest/final-gate-repair.ts similarity index 100% rename from packages/context/src/ingest/final-gate-repair.ts rename to packages/cli/src/context/ingest/final-gate-repair.ts diff --git a/packages/context/src/ingest/finalization-scope.test.ts b/packages/cli/src/context/ingest/finalization-scope.test.ts similarity index 100% rename from packages/context/src/ingest/finalization-scope.test.ts rename to packages/cli/src/context/ingest/finalization-scope.test.ts diff --git a/packages/context/src/ingest/finalization-scope.ts b/packages/cli/src/context/ingest/finalization-scope.ts similarity index 100% rename from packages/context/src/ingest/finalization-scope.ts rename to packages/cli/src/context/ingest/finalization-scope.ts diff --git a/packages/context/src/ingest/git-env.ts b/packages/cli/src/context/ingest/git-env.ts similarity index 100% rename from packages/context/src/ingest/git-env.ts rename to packages/cli/src/context/ingest/git-env.ts diff --git a/packages/context/src/ingest/index.ts b/packages/cli/src/context/ingest/index.ts similarity index 100% rename from packages/context/src/ingest/index.ts rename to packages/cli/src/context/ingest/index.ts diff --git a/packages/context/src/ingest/ingest-bundle.runner.isolated-diff.test.ts b/packages/cli/src/context/ingest/ingest-bundle.runner.isolated-diff.test.ts similarity index 100% rename from packages/context/src/ingest/ingest-bundle.runner.isolated-diff.test.ts rename to packages/cli/src/context/ingest/ingest-bundle.runner.isolated-diff.test.ts diff --git a/packages/context/src/ingest/ingest-bundle.runner.test.ts b/packages/cli/src/context/ingest/ingest-bundle.runner.test.ts similarity index 100% rename from packages/context/src/ingest/ingest-bundle.runner.test.ts rename to packages/cli/src/context/ingest/ingest-bundle.runner.test.ts diff --git a/packages/context/src/ingest/ingest-bundle.runner.ts b/packages/cli/src/context/ingest/ingest-bundle.runner.ts similarity index 100% rename from packages/context/src/ingest/ingest-bundle.runner.ts rename to packages/cli/src/context/ingest/ingest-bundle.runner.ts diff --git a/packages/context/src/ingest/ingest-prompts.test.ts b/packages/cli/src/context/ingest/ingest-prompts.test.ts similarity index 100% rename from packages/context/src/ingest/ingest-prompts.test.ts rename to packages/cli/src/context/ingest/ingest-prompts.test.ts diff --git a/packages/context/src/ingest/ingest-runtime-assets.test.ts b/packages/cli/src/context/ingest/ingest-runtime-assets.test.ts similarity index 100% rename from packages/context/src/ingest/ingest-runtime-assets.test.ts rename to packages/cli/src/context/ingest/ingest-runtime-assets.test.ts diff --git a/packages/context/src/ingest/ingest-trace.test.ts b/packages/cli/src/context/ingest/ingest-trace.test.ts similarity index 100% rename from packages/context/src/ingest/ingest-trace.test.ts rename to packages/cli/src/context/ingest/ingest-trace.test.ts diff --git a/packages/context/src/ingest/ingest-trace.ts b/packages/cli/src/context/ingest/ingest-trace.ts similarity index 100% rename from packages/context/src/ingest/ingest-trace.ts rename to packages/cli/src/context/ingest/ingest-trace.ts diff --git a/packages/context/src/ingest/isolated-diff/git-patch.test.ts b/packages/cli/src/context/ingest/isolated-diff/git-patch.test.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/git-patch.test.ts rename to packages/cli/src/context/ingest/isolated-diff/git-patch.test.ts diff --git a/packages/context/src/ingest/isolated-diff/git-patch.ts b/packages/cli/src/context/ingest/isolated-diff/git-patch.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/git-patch.ts rename to packages/cli/src/context/ingest/isolated-diff/git-patch.ts diff --git a/packages/context/src/ingest/isolated-diff/patch-integrator.test.ts b/packages/cli/src/context/ingest/isolated-diff/patch-integrator.test.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/patch-integrator.test.ts rename to packages/cli/src/context/ingest/isolated-diff/patch-integrator.test.ts diff --git a/packages/context/src/ingest/isolated-diff/patch-integrator.ts b/packages/cli/src/context/ingest/isolated-diff/patch-integrator.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/patch-integrator.ts rename to packages/cli/src/context/ingest/isolated-diff/patch-integrator.ts diff --git a/packages/context/src/ingest/isolated-diff/textual-conflict-resolver.test.ts b/packages/cli/src/context/ingest/isolated-diff/textual-conflict-resolver.test.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/textual-conflict-resolver.test.ts rename to packages/cli/src/context/ingest/isolated-diff/textual-conflict-resolver.test.ts diff --git a/packages/context/src/ingest/isolated-diff/textual-conflict-resolver.ts b/packages/cli/src/context/ingest/isolated-diff/textual-conflict-resolver.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/textual-conflict-resolver.ts rename to packages/cli/src/context/ingest/isolated-diff/textual-conflict-resolver.ts diff --git a/packages/context/src/ingest/isolated-diff/work-unit-executor.test.ts b/packages/cli/src/context/ingest/isolated-diff/work-unit-executor.test.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/work-unit-executor.test.ts rename to packages/cli/src/context/ingest/isolated-diff/work-unit-executor.test.ts diff --git a/packages/context/src/ingest/isolated-diff/work-unit-executor.ts b/packages/cli/src/context/ingest/isolated-diff/work-unit-executor.ts similarity index 100% rename from packages/context/src/ingest/isolated-diff/work-unit-executor.ts rename to packages/cli/src/context/ingest/isolated-diff/work-unit-executor.ts diff --git a/packages/context/src/ingest/local-adapters.test.ts b/packages/cli/src/context/ingest/local-adapters.test.ts similarity index 100% rename from packages/context/src/ingest/local-adapters.test.ts rename to packages/cli/src/context/ingest/local-adapters.test.ts diff --git a/packages/context/src/ingest/local-adapters.ts b/packages/cli/src/context/ingest/local-adapters.ts similarity index 100% rename from packages/context/src/ingest/local-adapters.ts rename to packages/cli/src/context/ingest/local-adapters.ts diff --git a/packages/context/src/ingest/local-bundle-ingest.test.ts b/packages/cli/src/context/ingest/local-bundle-ingest.test.ts similarity index 100% rename from packages/context/src/ingest/local-bundle-ingest.test.ts rename to packages/cli/src/context/ingest/local-bundle-ingest.test.ts diff --git a/packages/context/src/ingest/local-bundle-runtime.test.ts b/packages/cli/src/context/ingest/local-bundle-runtime.test.ts similarity index 100% rename from packages/context/src/ingest/local-bundle-runtime.test.ts rename to packages/cli/src/context/ingest/local-bundle-runtime.test.ts diff --git a/packages/context/src/ingest/local-bundle-runtime.ts b/packages/cli/src/context/ingest/local-bundle-runtime.ts similarity index 99% rename from packages/context/src/ingest/local-bundle-runtime.ts rename to packages/cli/src/context/ingest/local-bundle-runtime.ts index 58a691a9..41c2fa55 100644 --- a/packages/context/src/ingest/local-bundle-runtime.ts +++ b/packages/cli/src/context/ingest/local-bundle-runtime.ts @@ -15,7 +15,7 @@ import { type KtxLlmRuntimePort, type KtxRuntimeToolSet, } from '../llm/index.js'; -import type { KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; +import type { KtxEmbeddingProvider } from '../../llm/index.js'; import type { KtxLocalProject } from '../project/index.js'; import { ktxLocalStateDbPath } from '../project/index.js'; import { PromptService } from '../prompts/index.js'; diff --git a/packages/context/src/ingest/local-embedding-provider.integration.test.ts b/packages/cli/src/context/ingest/local-embedding-provider.integration.test.ts similarity index 100% rename from packages/context/src/ingest/local-embedding-provider.integration.test.ts rename to packages/cli/src/context/ingest/local-embedding-provider.integration.test.ts diff --git a/packages/context/src/ingest/local-ingest.ts b/packages/cli/src/context/ingest/local-ingest.ts similarity index 98% rename from packages/context/src/ingest/local-ingest.ts rename to packages/cli/src/context/ingest/local-ingest.ts index f99120c6..044d41de 100644 --- a/packages/context/src/ingest/local-ingest.ts +++ b/packages/cli/src/context/ingest/local-ingest.ts @@ -34,7 +34,7 @@ export interface RunLocalIngestOptions { semanticLayerCompute?: KtxSemanticLayerComputePort; queryExecutor?: KtxSqlQueryExecutorPort; logger?: KtxLogger; - embeddingProvider?: import('../../../cli/src/llm/index.js').KtxEmbeddingProvider | null; + embeddingProvider?: import('../../llm/index.js').KtxEmbeddingProvider | null; } export interface LocalIngestMcpOptions @@ -173,7 +173,7 @@ async function runScheduledPullJob(options: { semanticLayerCompute?: KtxSemanticLayerComputePort; queryExecutor?: KtxSqlQueryExecutorPort; logger?: KtxLogger; - embeddingProvider?: import('../../../cli/src/llm/index.js').KtxEmbeddingProvider | null; + embeddingProvider?: import('../../llm/index.js').KtxEmbeddingProvider | null; }): Promise { const runtime = createLocalBundleIngestRuntime(options); const jobId = options.jobId ?? runtime.nextJobId(); diff --git a/packages/context/src/ingest/local-mapping-reconcile.test.ts b/packages/cli/src/context/ingest/local-mapping-reconcile.test.ts similarity index 100% rename from packages/context/src/ingest/local-mapping-reconcile.test.ts rename to packages/cli/src/context/ingest/local-mapping-reconcile.test.ts diff --git a/packages/context/src/ingest/local-mapping-reconcile.ts b/packages/cli/src/context/ingest/local-mapping-reconcile.ts similarity index 100% rename from packages/context/src/ingest/local-mapping-reconcile.ts rename to packages/cli/src/context/ingest/local-mapping-reconcile.ts diff --git a/packages/context/src/ingest/local-metabase-ingest.test.ts b/packages/cli/src/context/ingest/local-metabase-ingest.test.ts similarity index 100% rename from packages/context/src/ingest/local-metabase-ingest.test.ts rename to packages/cli/src/context/ingest/local-metabase-ingest.test.ts diff --git a/packages/context/src/ingest/local-stage-ingest.test.ts b/packages/cli/src/context/ingest/local-stage-ingest.test.ts similarity index 100% rename from packages/context/src/ingest/local-stage-ingest.test.ts rename to packages/cli/src/context/ingest/local-stage-ingest.test.ts diff --git a/packages/context/src/ingest/local-stage-ingest.ts b/packages/cli/src/context/ingest/local-stage-ingest.ts similarity index 100% rename from packages/context/src/ingest/local-stage-ingest.ts rename to packages/cli/src/context/ingest/local-stage-ingest.ts diff --git a/packages/context/src/ingest/memory-flow/acceptance-fixtures.ts b/packages/cli/src/context/ingest/memory-flow/acceptance-fixtures.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/acceptance-fixtures.ts rename to packages/cli/src/context/ingest/memory-flow/acceptance-fixtures.ts diff --git a/packages/context/src/ingest/memory-flow/acceptance.test.ts b/packages/cli/src/context/ingest/memory-flow/acceptance.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/acceptance.test.ts rename to packages/cli/src/context/ingest/memory-flow/acceptance.test.ts diff --git a/packages/context/src/ingest/memory-flow/events.test.ts b/packages/cli/src/context/ingest/memory-flow/events.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/events.test.ts rename to packages/cli/src/context/ingest/memory-flow/events.test.ts diff --git a/packages/context/src/ingest/memory-flow/events.ts b/packages/cli/src/context/ingest/memory-flow/events.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/events.ts rename to packages/cli/src/context/ingest/memory-flow/events.ts diff --git a/packages/context/src/ingest/memory-flow/index.ts b/packages/cli/src/context/ingest/memory-flow/index.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/index.ts rename to packages/cli/src/context/ingest/memory-flow/index.ts diff --git a/packages/context/src/ingest/memory-flow/interaction.test.ts b/packages/cli/src/context/ingest/memory-flow/interaction.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/interaction.test.ts rename to packages/cli/src/context/ingest/memory-flow/interaction.test.ts diff --git a/packages/context/src/ingest/memory-flow/interaction.ts b/packages/cli/src/context/ingest/memory-flow/interaction.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/interaction.ts rename to packages/cli/src/context/ingest/memory-flow/interaction.ts diff --git a/packages/context/src/ingest/memory-flow/interactive-render.test.ts b/packages/cli/src/context/ingest/memory-flow/interactive-render.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/interactive-render.test.ts rename to packages/cli/src/context/ingest/memory-flow/interactive-render.test.ts diff --git a/packages/context/src/ingest/memory-flow/interactive-render.ts b/packages/cli/src/context/ingest/memory-flow/interactive-render.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/interactive-render.ts rename to packages/cli/src/context/ingest/memory-flow/interactive-render.ts diff --git a/packages/context/src/ingest/memory-flow/known-errors.ts b/packages/cli/src/context/ingest/memory-flow/known-errors.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/known-errors.ts rename to packages/cli/src/context/ingest/memory-flow/known-errors.ts diff --git a/packages/context/src/ingest/memory-flow/live-buffer.test.ts b/packages/cli/src/context/ingest/memory-flow/live-buffer.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/live-buffer.test.ts rename to packages/cli/src/context/ingest/memory-flow/live-buffer.test.ts diff --git a/packages/context/src/ingest/memory-flow/live-buffer.ts b/packages/cli/src/context/ingest/memory-flow/live-buffer.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/live-buffer.ts rename to packages/cli/src/context/ingest/memory-flow/live-buffer.ts diff --git a/packages/context/src/ingest/memory-flow/render.test.ts b/packages/cli/src/context/ingest/memory-flow/render.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/render.test.ts rename to packages/cli/src/context/ingest/memory-flow/render.test.ts diff --git a/packages/context/src/ingest/memory-flow/render.ts b/packages/cli/src/context/ingest/memory-flow/render.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/render.ts rename to packages/cli/src/context/ingest/memory-flow/render.ts diff --git a/packages/context/src/ingest/memory-flow/schema.test.ts b/packages/cli/src/context/ingest/memory-flow/schema.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/schema.test.ts rename to packages/cli/src/context/ingest/memory-flow/schema.test.ts diff --git a/packages/context/src/ingest/memory-flow/schema.ts b/packages/cli/src/context/ingest/memory-flow/schema.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/schema.ts rename to packages/cli/src/context/ingest/memory-flow/schema.ts diff --git a/packages/context/src/ingest/memory-flow/summary.test.ts b/packages/cli/src/context/ingest/memory-flow/summary.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/summary.test.ts rename to packages/cli/src/context/ingest/memory-flow/summary.test.ts diff --git a/packages/context/src/ingest/memory-flow/summary.ts b/packages/cli/src/context/ingest/memory-flow/summary.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/summary.ts rename to packages/cli/src/context/ingest/memory-flow/summary.ts diff --git a/packages/context/src/ingest/memory-flow/types.ts b/packages/cli/src/context/ingest/memory-flow/types.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/types.ts rename to packages/cli/src/context/ingest/memory-flow/types.ts diff --git a/packages/context/src/ingest/memory-flow/view-model.test.ts b/packages/cli/src/context/ingest/memory-flow/view-model.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/view-model.test.ts rename to packages/cli/src/context/ingest/memory-flow/view-model.test.ts diff --git a/packages/context/src/ingest/memory-flow/view-model.ts b/packages/cli/src/context/ingest/memory-flow/view-model.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/view-model.ts rename to packages/cli/src/context/ingest/memory-flow/view-model.ts diff --git a/packages/context/src/ingest/memory-flow/visuals.test.ts b/packages/cli/src/context/ingest/memory-flow/visuals.test.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/visuals.test.ts rename to packages/cli/src/context/ingest/memory-flow/visuals.test.ts diff --git a/packages/context/src/ingest/memory-flow/visuals.ts b/packages/cli/src/context/ingest/memory-flow/visuals.ts similarity index 100% rename from packages/context/src/ingest/memory-flow/visuals.ts rename to packages/cli/src/context/ingest/memory-flow/visuals.ts diff --git a/packages/context/src/ingest/page-triage/index.ts b/packages/cli/src/context/ingest/page-triage/index.ts similarity index 100% rename from packages/context/src/ingest/page-triage/index.ts rename to packages/cli/src/context/ingest/page-triage/index.ts diff --git a/packages/context/src/ingest/page-triage/page-triage.service.test.ts b/packages/cli/src/context/ingest/page-triage/page-triage.service.test.ts similarity index 100% rename from packages/context/src/ingest/page-triage/page-triage.service.test.ts rename to packages/cli/src/context/ingest/page-triage/page-triage.service.test.ts diff --git a/packages/context/src/ingest/page-triage/page-triage.service.ts b/packages/cli/src/context/ingest/page-triage/page-triage.service.ts similarity index 100% rename from packages/context/src/ingest/page-triage/page-triage.service.ts rename to packages/cli/src/context/ingest/page-triage/page-triage.service.ts diff --git a/packages/context/src/ingest/parsed-target-table.ts b/packages/cli/src/context/ingest/parsed-target-table.ts similarity index 100% rename from packages/context/src/ingest/parsed-target-table.ts rename to packages/cli/src/context/ingest/parsed-target-table.ts diff --git a/packages/context/src/ingest/ports.ts b/packages/cli/src/context/ingest/ports.ts similarity index 99% rename from packages/context/src/ingest/ports.ts rename to packages/cli/src/context/ingest/ports.ts index 603b45e1..5c856e54 100644 --- a/packages/context/src/ingest/ports.ts +++ b/packages/cli/src/context/ingest/ports.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '../../../cli/src/llm/index.js'; +import type { KtxModelRole } from '../../llm/index.js'; import type { KtxEmbeddingPort } from '../core/embedding.js'; import type { GitService, KtxFileStorePort, KtxLogger, SessionOutcome } from '../core/index.js'; import type { AgentRunnerPort, KtxLlmRuntimePort, KtxRuntimeToolSet } from '../llm/index.js'; diff --git a/packages/context/src/ingest/raw-sources-paths.test.ts b/packages/cli/src/context/ingest/raw-sources-paths.test.ts similarity index 100% rename from packages/context/src/ingest/raw-sources-paths.test.ts rename to packages/cli/src/context/ingest/raw-sources-paths.test.ts diff --git a/packages/context/src/ingest/raw-sources-paths.ts b/packages/cli/src/context/ingest/raw-sources-paths.ts similarity index 100% rename from packages/context/src/ingest/raw-sources-paths.ts rename to packages/cli/src/context/ingest/raw-sources-paths.ts diff --git a/packages/context/src/ingest/repo-fetch.test.ts b/packages/cli/src/context/ingest/repo-fetch.test.ts similarity index 100% rename from packages/context/src/ingest/repo-fetch.test.ts rename to packages/cli/src/context/ingest/repo-fetch.test.ts diff --git a/packages/context/src/ingest/repo-fetch.ts b/packages/cli/src/context/ingest/repo-fetch.ts similarity index 100% rename from packages/context/src/ingest/repo-fetch.ts rename to packages/cli/src/context/ingest/repo-fetch.ts diff --git a/packages/context/src/ingest/report-snapshot.test.ts b/packages/cli/src/context/ingest/report-snapshot.test.ts similarity index 100% rename from packages/context/src/ingest/report-snapshot.test.ts rename to packages/cli/src/context/ingest/report-snapshot.test.ts diff --git a/packages/context/src/ingest/report-snapshot.ts b/packages/cli/src/context/ingest/report-snapshot.ts similarity index 100% rename from packages/context/src/ingest/report-snapshot.ts rename to packages/cli/src/context/ingest/report-snapshot.ts diff --git a/packages/context/src/ingest/reports.ts b/packages/cli/src/context/ingest/reports.ts similarity index 100% rename from packages/context/src/ingest/reports.ts rename to packages/cli/src/context/ingest/reports.ts diff --git a/packages/context/src/ingest/semantic-layer-target-policy.test.ts b/packages/cli/src/context/ingest/semantic-layer-target-policy.test.ts similarity index 100% rename from packages/context/src/ingest/semantic-layer-target-policy.test.ts rename to packages/cli/src/context/ingest/semantic-layer-target-policy.test.ts diff --git a/packages/context/src/ingest/semantic-layer-target-policy.ts b/packages/cli/src/context/ingest/semantic-layer-target-policy.ts similarity index 100% rename from packages/context/src/ingest/semantic-layer-target-policy.ts rename to packages/cli/src/context/ingest/semantic-layer-target-policy.ts diff --git a/packages/context/src/ingest/source-adapter-registry.test.ts b/packages/cli/src/context/ingest/source-adapter-registry.test.ts similarity index 100% rename from packages/context/src/ingest/source-adapter-registry.test.ts rename to packages/cli/src/context/ingest/source-adapter-registry.test.ts diff --git a/packages/context/src/ingest/source-adapter-registry.ts b/packages/cli/src/context/ingest/source-adapter-registry.ts similarity index 100% rename from packages/context/src/ingest/source-adapter-registry.ts rename to packages/cli/src/context/ingest/source-adapter-registry.ts diff --git a/packages/context/src/ingest/sqlite-bundle-ingest-store.test.ts b/packages/cli/src/context/ingest/sqlite-bundle-ingest-store.test.ts similarity index 100% rename from packages/context/src/ingest/sqlite-bundle-ingest-store.test.ts rename to packages/cli/src/context/ingest/sqlite-bundle-ingest-store.test.ts diff --git a/packages/context/src/ingest/sqlite-bundle-ingest-store.ts b/packages/cli/src/context/ingest/sqlite-bundle-ingest-store.ts similarity index 100% rename from packages/context/src/ingest/sqlite-bundle-ingest-store.ts rename to packages/cli/src/context/ingest/sqlite-bundle-ingest-store.ts diff --git a/packages/context/src/ingest/sqlite-local-ingest-store.test.ts b/packages/cli/src/context/ingest/sqlite-local-ingest-store.test.ts similarity index 100% rename from packages/context/src/ingest/sqlite-local-ingest-store.test.ts rename to packages/cli/src/context/ingest/sqlite-local-ingest-store.test.ts diff --git a/packages/context/src/ingest/sqlite-local-ingest-store.ts b/packages/cli/src/context/ingest/sqlite-local-ingest-store.ts similarity index 100% rename from packages/context/src/ingest/sqlite-local-ingest-store.ts rename to packages/cli/src/context/ingest/sqlite-local-ingest-store.ts diff --git a/packages/context/src/ingest/stages/build-reconcile-context.context-candidates.test.ts b/packages/cli/src/context/ingest/stages/build-reconcile-context.context-candidates.test.ts similarity index 100% rename from packages/context/src/ingest/stages/build-reconcile-context.context-candidates.test.ts rename to packages/cli/src/context/ingest/stages/build-reconcile-context.context-candidates.test.ts diff --git a/packages/context/src/ingest/stages/build-reconcile-context.test.ts b/packages/cli/src/context/ingest/stages/build-reconcile-context.test.ts similarity index 100% rename from packages/context/src/ingest/stages/build-reconcile-context.test.ts rename to packages/cli/src/context/ingest/stages/build-reconcile-context.test.ts diff --git a/packages/context/src/ingest/stages/build-reconcile-context.ts b/packages/cli/src/context/ingest/stages/build-reconcile-context.ts similarity index 100% rename from packages/context/src/ingest/stages/build-reconcile-context.ts rename to packages/cli/src/context/ingest/stages/build-reconcile-context.ts diff --git a/packages/context/src/ingest/stages/build-wu-context.test.ts b/packages/cli/src/context/ingest/stages/build-wu-context.test.ts similarity index 100% rename from packages/context/src/ingest/stages/build-wu-context.test.ts rename to packages/cli/src/context/ingest/stages/build-wu-context.test.ts diff --git a/packages/context/src/ingest/stages/build-wu-context.ts b/packages/cli/src/context/ingest/stages/build-wu-context.ts similarity index 100% rename from packages/context/src/ingest/stages/build-wu-context.ts rename to packages/cli/src/context/ingest/stages/build-wu-context.ts diff --git a/packages/context/src/ingest/stages/stage-1-stage-raw-files.test.ts b/packages/cli/src/context/ingest/stages/stage-1-stage-raw-files.test.ts similarity index 100% rename from packages/context/src/ingest/stages/stage-1-stage-raw-files.test.ts rename to packages/cli/src/context/ingest/stages/stage-1-stage-raw-files.test.ts diff --git a/packages/context/src/ingest/stages/stage-1-stage-raw-files.ts b/packages/cli/src/context/ingest/stages/stage-1-stage-raw-files.ts similarity index 100% rename from packages/context/src/ingest/stages/stage-1-stage-raw-files.ts rename to packages/cli/src/context/ingest/stages/stage-1-stage-raw-files.ts diff --git a/packages/context/src/ingest/stages/stage-3-work-units.test.ts b/packages/cli/src/context/ingest/stages/stage-3-work-units.test.ts similarity index 100% rename from packages/context/src/ingest/stages/stage-3-work-units.test.ts rename to packages/cli/src/context/ingest/stages/stage-3-work-units.test.ts diff --git a/packages/context/src/ingest/stages/stage-3-work-units.ts b/packages/cli/src/context/ingest/stages/stage-3-work-units.ts similarity index 97% rename from packages/context/src/ingest/stages/stage-3-work-units.ts rename to packages/cli/src/context/ingest/stages/stage-3-work-units.ts index c3b0e7f5..73677279 100644 --- a/packages/context/src/ingest/stages/stage-3-work-units.ts +++ b/packages/cli/src/context/ingest/stages/stage-3-work-units.ts @@ -1,5 +1,5 @@ -import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; -import type { AgentRunnerPort, KtxRuntimeToolSet } from '@ktx/context'; +import type { KtxModelRole } from '../../../llm/index.js'; +import type { AgentRunnerPort, KtxRuntimeToolSet } from '../../index.js'; import type { CaptureSession, MemoryAction } from '../../memory/index.js'; import { listTouchedSlSources, type TouchedSlSource } from '../../tools/index.js'; import type { WorkUnit } from '../types.js'; diff --git a/packages/context/src/ingest/stages/stage-4-reconciliation.test.ts b/packages/cli/src/context/ingest/stages/stage-4-reconciliation.test.ts similarity index 100% rename from packages/context/src/ingest/stages/stage-4-reconciliation.test.ts rename to packages/cli/src/context/ingest/stages/stage-4-reconciliation.test.ts diff --git a/packages/context/src/ingest/stages/stage-4-reconciliation.ts b/packages/cli/src/context/ingest/stages/stage-4-reconciliation.ts similarity index 92% rename from packages/context/src/ingest/stages/stage-4-reconciliation.ts rename to packages/cli/src/context/ingest/stages/stage-4-reconciliation.ts index 3c611a91..90dae74d 100644 --- a/packages/context/src/ingest/stages/stage-4-reconciliation.ts +++ b/packages/cli/src/context/ingest/stages/stage-4-reconciliation.ts @@ -1,5 +1,5 @@ -import type { AgentRunnerPort, KtxRuntimeToolSet } from '@ktx/context'; -import type { KtxModelRole } from '../../../../cli/src/llm/index.js'; +import type { AgentRunnerPort, KtxRuntimeToolSet } from '../../index.js'; +import type { KtxModelRole } from '../../../llm/index.js'; import type { EvictionUnit } from '../types.js'; import type { StageIndex } from './stage-index.types.js'; diff --git a/packages/context/src/ingest/stages/stage-index.types.ts b/packages/cli/src/context/ingest/stages/stage-index.types.ts similarity index 100% rename from packages/context/src/ingest/stages/stage-index.types.ts rename to packages/cli/src/context/ingest/stages/stage-index.types.ts diff --git a/packages/context/src/ingest/stages/validate-wu-sources.test.ts b/packages/cli/src/context/ingest/stages/validate-wu-sources.test.ts similarity index 100% rename from packages/context/src/ingest/stages/validate-wu-sources.test.ts rename to packages/cli/src/context/ingest/stages/validate-wu-sources.test.ts diff --git a/packages/context/src/ingest/stages/validate-wu-sources.ts b/packages/cli/src/context/ingest/stages/validate-wu-sources.ts similarity index 91% rename from packages/context/src/ingest/stages/validate-wu-sources.ts rename to packages/cli/src/context/ingest/stages/validate-wu-sources.ts index dd72c8d0..bf5476b0 100644 --- a/packages/context/src/ingest/stages/validate-wu-sources.ts +++ b/packages/cli/src/context/ingest/stages/validate-wu-sources.ts @@ -1,4 +1,4 @@ -import type { SlValidationDeps, SlValidatorPort } from '@ktx/context/sl'; +import type { SlValidationDeps, SlValidatorPort } from '../../sl/index.js'; import type { TouchedSlSource } from '../../tools/index.js'; export interface WuValidationResult { diff --git a/packages/context/src/ingest/tools/emit-artifact-resolution.tool.ts b/packages/cli/src/context/ingest/tools/emit-artifact-resolution.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/emit-artifact-resolution.tool.ts rename to packages/cli/src/context/ingest/tools/emit-artifact-resolution.tool.ts diff --git a/packages/context/src/ingest/tools/emit-conflict-resolution.tool.ts b/packages/cli/src/context/ingest/tools/emit-conflict-resolution.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/emit-conflict-resolution.tool.ts rename to packages/cli/src/context/ingest/tools/emit-conflict-resolution.tool.ts diff --git a/packages/context/src/ingest/tools/emit-eviction-decision.tool.ts b/packages/cli/src/context/ingest/tools/emit-eviction-decision.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/emit-eviction-decision.tool.ts rename to packages/cli/src/context/ingest/tools/emit-eviction-decision.tool.ts diff --git a/packages/context/src/ingest/tools/emit-reconciliation-records.tool.test.ts b/packages/cli/src/context/ingest/tools/emit-reconciliation-records.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/emit-reconciliation-records.tool.test.ts rename to packages/cli/src/context/ingest/tools/emit-reconciliation-records.tool.test.ts diff --git a/packages/context/src/ingest/tools/emit-unmapped-fallback.tool.ts b/packages/cli/src/context/ingest/tools/emit-unmapped-fallback.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/emit-unmapped-fallback.tool.ts rename to packages/cli/src/context/ingest/tools/emit-unmapped-fallback.tool.ts diff --git a/packages/context/src/ingest/tools/eviction-list.tool.test.ts b/packages/cli/src/context/ingest/tools/eviction-list.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/eviction-list.tool.test.ts rename to packages/cli/src/context/ingest/tools/eviction-list.tool.test.ts diff --git a/packages/context/src/ingest/tools/eviction-list.tool.ts b/packages/cli/src/context/ingest/tools/eviction-list.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/eviction-list.tool.ts rename to packages/cli/src/context/ingest/tools/eviction-list.tool.ts diff --git a/packages/context/src/ingest/tools/read-raw-file.tool.test.ts b/packages/cli/src/context/ingest/tools/read-raw-file.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/read-raw-file.tool.test.ts rename to packages/cli/src/context/ingest/tools/read-raw-file.tool.test.ts diff --git a/packages/context/src/ingest/tools/read-raw-file.tool.ts b/packages/cli/src/context/ingest/tools/read-raw-file.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/read-raw-file.tool.ts rename to packages/cli/src/context/ingest/tools/read-raw-file.tool.ts diff --git a/packages/context/src/ingest/tools/read-raw-span.tool.test.ts b/packages/cli/src/context/ingest/tools/read-raw-span.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/read-raw-span.tool.test.ts rename to packages/cli/src/context/ingest/tools/read-raw-span.tool.test.ts diff --git a/packages/context/src/ingest/tools/read-raw-span.tool.ts b/packages/cli/src/context/ingest/tools/read-raw-span.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/read-raw-span.tool.ts rename to packages/cli/src/context/ingest/tools/read-raw-span.tool.ts diff --git a/packages/context/src/ingest/tools/stage-diff.tool.test.ts b/packages/cli/src/context/ingest/tools/stage-diff.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/stage-diff.tool.test.ts rename to packages/cli/src/context/ingest/tools/stage-diff.tool.test.ts diff --git a/packages/context/src/ingest/tools/stage-diff.tool.ts b/packages/cli/src/context/ingest/tools/stage-diff.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/stage-diff.tool.ts rename to packages/cli/src/context/ingest/tools/stage-diff.tool.ts diff --git a/packages/context/src/ingest/tools/stage-list.tool.test.ts b/packages/cli/src/context/ingest/tools/stage-list.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/stage-list.tool.test.ts rename to packages/cli/src/context/ingest/tools/stage-list.tool.test.ts diff --git a/packages/context/src/ingest/tools/stage-list.tool.ts b/packages/cli/src/context/ingest/tools/stage-list.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/stage-list.tool.ts rename to packages/cli/src/context/ingest/tools/stage-list.tool.ts diff --git a/packages/context/src/ingest/tools/tool-call-logger.ts b/packages/cli/src/context/ingest/tools/tool-call-logger.ts similarity index 100% rename from packages/context/src/ingest/tools/tool-call-logger.ts rename to packages/cli/src/context/ingest/tools/tool-call-logger.ts diff --git a/packages/context/src/ingest/tools/tool-transcript-summary.test.ts b/packages/cli/src/context/ingest/tools/tool-transcript-summary.test.ts similarity index 100% rename from packages/context/src/ingest/tools/tool-transcript-summary.test.ts rename to packages/cli/src/context/ingest/tools/tool-transcript-summary.test.ts diff --git a/packages/context/src/ingest/tools/tool-transcript-summary.ts b/packages/cli/src/context/ingest/tools/tool-transcript-summary.ts similarity index 100% rename from packages/context/src/ingest/tools/tool-transcript-summary.ts rename to packages/cli/src/context/ingest/tools/tool-transcript-summary.ts diff --git a/packages/context/src/ingest/tools/verification-ledger.tool.ts b/packages/cli/src/context/ingest/tools/verification-ledger.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/verification-ledger.tool.ts rename to packages/cli/src/context/ingest/tools/verification-ledger.tool.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/discover-data.tool.test.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/discover-data.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/discover-data.tool.test.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/discover-data.tool.test.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/discover-data.tool.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/discover-data.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/discover-data.tool.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/discover-data.tool.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/entity-details.tool.test.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/entity-details.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/entity-details.tool.test.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/entity-details.tool.test.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/entity-details.tool.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/entity-details.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/entity-details.tool.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/entity-details.tool.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/index.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/index.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/index.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/index.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/sql-execution.tool.test.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/sql-execution.tool.test.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/sql-execution.tool.test.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/sql-execution.tool.test.ts diff --git a/packages/context/src/ingest/tools/warehouse-verification/sql-execution.tool.ts b/packages/cli/src/context/ingest/tools/warehouse-verification/sql-execution.tool.ts similarity index 100% rename from packages/context/src/ingest/tools/warehouse-verification/sql-execution.tool.ts rename to packages/cli/src/context/ingest/tools/warehouse-verification/sql-execution.tool.ts diff --git a/packages/context/src/ingest/types.ts b/packages/cli/src/context/ingest/types.ts similarity index 100% rename from packages/context/src/ingest/types.ts rename to packages/cli/src/context/ingest/types.ts diff --git a/packages/context/src/ingest/wiki-body-refs.test.ts b/packages/cli/src/context/ingest/wiki-body-refs.test.ts similarity index 100% rename from packages/context/src/ingest/wiki-body-refs.test.ts rename to packages/cli/src/context/ingest/wiki-body-refs.test.ts diff --git a/packages/context/src/ingest/wiki-body-refs.ts b/packages/cli/src/context/ingest/wiki-body-refs.ts similarity index 100% rename from packages/context/src/ingest/wiki-body-refs.ts rename to packages/cli/src/context/ingest/wiki-body-refs.ts diff --git a/packages/context/src/ingest/wiki-sl-ref-repair.test.ts b/packages/cli/src/context/ingest/wiki-sl-ref-repair.test.ts similarity index 100% rename from packages/context/src/ingest/wiki-sl-ref-repair.test.ts rename to packages/cli/src/context/ingest/wiki-sl-ref-repair.test.ts diff --git a/packages/context/src/ingest/wiki-sl-ref-repair.ts b/packages/cli/src/context/ingest/wiki-sl-ref-repair.ts similarity index 100% rename from packages/context/src/ingest/wiki-sl-ref-repair.ts rename to packages/cli/src/context/ingest/wiki-sl-ref-repair.ts diff --git a/packages/context/src/llm/ai-sdk-runtime.test.ts b/packages/cli/src/context/llm/ai-sdk-runtime.test.ts similarity index 100% rename from packages/context/src/llm/ai-sdk-runtime.test.ts rename to packages/cli/src/context/llm/ai-sdk-runtime.test.ts diff --git a/packages/context/src/llm/ai-sdk-runtime.ts b/packages/cli/src/context/llm/ai-sdk-runtime.ts similarity index 99% rename from packages/context/src/llm/ai-sdk-runtime.ts rename to packages/cli/src/context/llm/ai-sdk-runtime.ts index 2c670b8c..db38eae6 100644 --- a/packages/context/src/llm/ai-sdk-runtime.ts +++ b/packages/cli/src/context/llm/ai-sdk-runtime.ts @@ -1,4 +1,4 @@ -import { KtxMessageBuilder, splitKtxSystemMessages, type KtxLlmProvider } from '../../../cli/src/llm/index.js'; +import { KtxMessageBuilder, splitKtxSystemMessages, type KtxLlmProvider } from '../../llm/index.js'; import { generateText, Output, stepCountIs, type FlexibleSchema, type TelemetrySettings, type ToolSet } from 'ai'; import type { z } from 'zod'; import { noopLogger, type KtxLogger } from '../core/index.js'; diff --git a/packages/context/src/llm/claude-code-env.test.ts b/packages/cli/src/context/llm/claude-code-env.test.ts similarity index 100% rename from packages/context/src/llm/claude-code-env.test.ts rename to packages/cli/src/context/llm/claude-code-env.test.ts diff --git a/packages/context/src/llm/claude-code-env.ts b/packages/cli/src/context/llm/claude-code-env.ts similarity index 100% rename from packages/context/src/llm/claude-code-env.ts rename to packages/cli/src/context/llm/claude-code-env.ts diff --git a/packages/context/src/llm/claude-code-models.test.ts b/packages/cli/src/context/llm/claude-code-models.test.ts similarity index 100% rename from packages/context/src/llm/claude-code-models.test.ts rename to packages/cli/src/context/llm/claude-code-models.test.ts diff --git a/packages/context/src/llm/claude-code-models.ts b/packages/cli/src/context/llm/claude-code-models.ts similarity index 100% rename from packages/context/src/llm/claude-code-models.ts rename to packages/cli/src/context/llm/claude-code-models.ts diff --git a/packages/context/src/llm/claude-code-runtime.test.ts b/packages/cli/src/context/llm/claude-code-runtime.test.ts similarity index 100% rename from packages/context/src/llm/claude-code-runtime.test.ts rename to packages/cli/src/context/llm/claude-code-runtime.test.ts diff --git a/packages/context/src/llm/claude-code-runtime.ts b/packages/cli/src/context/llm/claude-code-runtime.ts similarity index 100% rename from packages/context/src/llm/claude-code-runtime.ts rename to packages/cli/src/context/llm/claude-code-runtime.ts diff --git a/packages/context/src/llm/debug-request-recorder.test.ts b/packages/cli/src/context/llm/debug-request-recorder.test.ts similarity index 100% rename from packages/context/src/llm/debug-request-recorder.test.ts rename to packages/cli/src/context/llm/debug-request-recorder.test.ts diff --git a/packages/context/src/llm/debug-request-recorder.ts b/packages/cli/src/context/llm/debug-request-recorder.ts similarity index 98% rename from packages/context/src/llm/debug-request-recorder.ts rename to packages/cli/src/context/llm/debug-request-recorder.ts index e20f2abe..17937d90 100644 --- a/packages/context/src/llm/debug-request-recorder.ts +++ b/packages/cli/src/context/llm/debug-request-recorder.ts @@ -1,7 +1,7 @@ import { appendFile, mkdir } from 'node:fs/promises'; import { dirname } from 'node:path'; import type { ModelMessage } from 'ai'; -import type { KtxModelRole } from '../../../cli/src/llm/index.js'; +import type { KtxModelRole } from '../../llm/index.js'; type ProviderOptionsCarrier = { providerOptions?: unknown; [key: string]: unknown }; type ToolMap = Record; diff --git a/packages/context/src/llm/embedding-port.test.ts b/packages/cli/src/context/llm/embedding-port.test.ts similarity index 87% rename from packages/context/src/llm/embedding-port.test.ts rename to packages/cli/src/context/llm/embedding-port.test.ts index 129ef4d9..323e7c5b 100644 --- a/packages/context/src/llm/embedding-port.test.ts +++ b/packages/cli/src/context/llm/embedding-port.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it, vi } from 'vitest'; import { KtxIngestEmbeddingPortAdapter, KtxScanEmbeddingPortAdapter } from './embedding-port.js'; describe('KTX embedding port adapters', () => { - it('adapts @ktx/llm embeddings to ingest embedding port shape', async () => { + it('adapts LLM modules embeddings to ingest embedding port shape', async () => { const provider = { dimensions: 3, maxBatchSize: 2, @@ -22,7 +22,7 @@ describe('KTX embedding port adapters', () => { expect(adapter.maxBatchSize).toBe(2); }); - it('adapts @ktx/llm embeddings to scan embedding port shape', async () => { + it('adapts LLM modules embeddings to scan embedding port shape', async () => { const provider = { dimensions: 3, maxBatchSize: 2, diff --git a/packages/context/src/llm/embedding-port.ts b/packages/cli/src/context/llm/embedding-port.ts similarity index 94% rename from packages/context/src/llm/embedding-port.ts rename to packages/cli/src/context/llm/embedding-port.ts index 68e238ac..8d250146 100644 --- a/packages/context/src/llm/embedding-port.ts +++ b/packages/cli/src/context/llm/embedding-port.ts @@ -1,4 +1,4 @@ -import type { KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; +import type { KtxEmbeddingProvider } from '../../llm/index.js'; import type { KtxEmbeddingPort as KtxIngestEmbeddingPort } from '../core/embedding.js'; import type { KtxEmbeddingPort as KtxScanEmbeddingPort } from '../scan/types.js'; diff --git a/packages/context/src/llm/index.ts b/packages/cli/src/context/llm/index.ts similarity index 100% rename from packages/context/src/llm/index.ts rename to packages/cli/src/context/llm/index.ts diff --git a/packages/context/src/llm/local-config.test.ts b/packages/cli/src/context/llm/local-config.test.ts similarity index 97% rename from packages/context/src/llm/local-config.test.ts rename to packages/cli/src/context/llm/local-config.test.ts index cfa2e826..930ee8a5 100644 --- a/packages/context/src/llm/local-config.test.ts +++ b/packages/cli/src/context/llm/local-config.test.ts @@ -90,7 +90,7 @@ describe('local KTX LLM config', () => { ).toBeNull(); }); - it('constructs providers through @ktx/llm', () => { + it('constructs providers through LLM modules', () => { const createKtxLlmProvider = vi.fn(() => ({ getModel: vi.fn() }) as never); const result = createLocalKtxLlmProviderFromConfig( { @@ -112,7 +112,7 @@ describe('local KTX LLM config', () => { }); }); - it('inherits enabled prompt caching from @ktx/llm when local config omits promptCaching', () => { + it('inherits enabled prompt caching from LLM modules when local config omits promptCaching', () => { const provider = createLocalKtxLlmProviderFromConfig({ provider: { backend: 'gateway', diff --git a/packages/context/src/llm/local-config.ts b/packages/cli/src/context/llm/local-config.ts similarity index 99% rename from packages/context/src/llm/local-config.ts rename to packages/cli/src/context/llm/local-config.ts index 7f369f63..64228489 100644 --- a/packages/context/src/llm/local-config.ts +++ b/packages/cli/src/context/llm/local-config.ts @@ -6,7 +6,7 @@ import { type KtxLlmConfig, type KtxLlmProvider, type KtxModelRole, -} from '../../../cli/src/llm/index.js'; +} from '../../llm/index.js'; import { resolveKtxConfigReference } from '../core/config-reference.js'; import type { KtxProjectEmbeddingConfig, KtxProjectLlmConfig } from '../project/config.js'; import { AiSdkKtxLlmRuntime } from './ai-sdk-runtime.js'; diff --git a/packages/context/src/llm/runtime-local-config.test.ts b/packages/cli/src/context/llm/runtime-local-config.test.ts similarity index 100% rename from packages/context/src/llm/runtime-local-config.test.ts rename to packages/cli/src/context/llm/runtime-local-config.test.ts diff --git a/packages/context/src/llm/runtime-port.ts b/packages/cli/src/context/llm/runtime-port.ts similarity index 96% rename from packages/context/src/llm/runtime-port.ts rename to packages/cli/src/context/llm/runtime-port.ts index 54fd7081..5a9cbabb 100644 --- a/packages/context/src/llm/runtime-port.ts +++ b/packages/cli/src/context/llm/runtime-port.ts @@ -1,4 +1,4 @@ -import type { KtxModelRole } from '../../../cli/src/llm/index.js'; +import type { KtxModelRole } from '../../llm/index.js'; import type { z } from 'zod'; export interface KtxRuntimeToolOutput { diff --git a/packages/context/src/llm/runtime-tools.test.ts b/packages/cli/src/context/llm/runtime-tools.test.ts similarity index 100% rename from packages/context/src/llm/runtime-tools.test.ts rename to packages/cli/src/context/llm/runtime-tools.test.ts diff --git a/packages/context/src/llm/runtime-tools.ts b/packages/cli/src/context/llm/runtime-tools.ts similarity index 100% rename from packages/context/src/llm/runtime-tools.ts rename to packages/cli/src/context/llm/runtime-tools.ts diff --git a/packages/context/src/mcp/__snapshots__/mcp-tools-list.json b/packages/cli/src/context/mcp/__snapshots__/mcp-tools-list.json similarity index 100% rename from packages/context/src/mcp/__snapshots__/mcp-tools-list.json rename to packages/cli/src/context/mcp/__snapshots__/mcp-tools-list.json diff --git a/packages/context/src/mcp/context-tools.ts b/packages/cli/src/context/mcp/context-tools.ts similarity index 100% rename from packages/context/src/mcp/context-tools.ts rename to packages/cli/src/context/mcp/context-tools.ts diff --git a/packages/context/src/mcp/index.ts b/packages/cli/src/context/mcp/index.ts similarity index 100% rename from packages/context/src/mcp/index.ts rename to packages/cli/src/context/mcp/index.ts diff --git a/packages/context/src/mcp/local-project-ports.test.ts b/packages/cli/src/context/mcp/local-project-ports.test.ts similarity index 100% rename from packages/context/src/mcp/local-project-ports.test.ts rename to packages/cli/src/context/mcp/local-project-ports.test.ts diff --git a/packages/context/src/mcp/local-project-ports.ts b/packages/cli/src/context/mcp/local-project-ports.ts similarity index 100% rename from packages/context/src/mcp/local-project-ports.ts rename to packages/cli/src/context/mcp/local-project-ports.ts diff --git a/packages/context/src/mcp/server.test.ts b/packages/cli/src/context/mcp/server.test.ts similarity index 100% rename from packages/context/src/mcp/server.test.ts rename to packages/cli/src/context/mcp/server.test.ts diff --git a/packages/context/src/mcp/server.ts b/packages/cli/src/context/mcp/server.ts similarity index 100% rename from packages/context/src/mcp/server.ts rename to packages/cli/src/context/mcp/server.ts diff --git a/packages/context/src/mcp/types.ts b/packages/cli/src/context/mcp/types.ts similarity index 100% rename from packages/context/src/mcp/types.ts rename to packages/cli/src/context/mcp/types.ts diff --git a/packages/context/src/memory/capture-signals.ts b/packages/cli/src/context/memory/capture-signals.ts similarity index 100% rename from packages/context/src/memory/capture-signals.ts rename to packages/cli/src/context/memory/capture-signals.ts diff --git a/packages/context/src/memory/index.ts b/packages/cli/src/context/memory/index.ts similarity index 100% rename from packages/context/src/memory/index.ts rename to packages/cli/src/context/memory/index.ts diff --git a/packages/context/src/memory/local-memory-runs.ts b/packages/cli/src/context/memory/local-memory-runs.ts similarity index 100% rename from packages/context/src/memory/local-memory-runs.ts rename to packages/cli/src/context/memory/local-memory-runs.ts diff --git a/packages/context/src/memory/local-memory.test.ts b/packages/cli/src/context/memory/local-memory.test.ts similarity index 100% rename from packages/context/src/memory/local-memory.test.ts rename to packages/cli/src/context/memory/local-memory.test.ts diff --git a/packages/context/src/memory/local-memory.ts b/packages/cli/src/context/memory/local-memory.ts similarity index 100% rename from packages/context/src/memory/local-memory.ts rename to packages/cli/src/context/memory/local-memory.ts diff --git a/packages/context/src/memory/memory-agent.service.ingest.test.ts b/packages/cli/src/context/memory/memory-agent.service.ingest.test.ts similarity index 100% rename from packages/context/src/memory/memory-agent.service.ingest.test.ts rename to packages/cli/src/context/memory/memory-agent.service.ingest.test.ts diff --git a/packages/context/src/memory/memory-agent.service.test.ts b/packages/cli/src/context/memory/memory-agent.service.test.ts similarity index 100% rename from packages/context/src/memory/memory-agent.service.test.ts rename to packages/cli/src/context/memory/memory-agent.service.test.ts diff --git a/packages/context/src/memory/memory-agent.service.ts b/packages/cli/src/context/memory/memory-agent.service.ts similarity index 100% rename from packages/context/src/memory/memory-agent.service.ts rename to packages/cli/src/context/memory/memory-agent.service.ts diff --git a/packages/context/src/memory/memory-runs.test.ts b/packages/cli/src/context/memory/memory-runs.test.ts similarity index 100% rename from packages/context/src/memory/memory-runs.test.ts rename to packages/cli/src/context/memory/memory-runs.test.ts diff --git a/packages/context/src/memory/memory-runs.ts b/packages/cli/src/context/memory/memory-runs.ts similarity index 100% rename from packages/context/src/memory/memory-runs.ts rename to packages/cli/src/context/memory/memory-runs.ts diff --git a/packages/context/src/memory/memory-runtime-assets.test.ts b/packages/cli/src/context/memory/memory-runtime-assets.test.ts similarity index 100% rename from packages/context/src/memory/memory-runtime-assets.test.ts rename to packages/cli/src/context/memory/memory-runtime-assets.test.ts diff --git a/packages/context/src/memory/types.ts b/packages/cli/src/context/memory/types.ts similarity index 100% rename from packages/context/src/memory/types.ts rename to packages/cli/src/context/memory/types.ts diff --git a/packages/context/src/project/config.test.ts b/packages/cli/src/context/project/config.test.ts similarity index 100% rename from packages/context/src/project/config.test.ts rename to packages/cli/src/context/project/config.test.ts diff --git a/packages/context/src/project/config.ts b/packages/cli/src/context/project/config.ts similarity index 99% rename from packages/context/src/project/config.ts rename to packages/cli/src/context/project/config.ts index f017c2eb..930914e2 100644 --- a/packages/context/src/project/config.ts +++ b/packages/cli/src/context/project/config.ts @@ -1,4 +1,4 @@ -import { KTX_MODEL_ROLES } from '../../../cli/src/llm/index.js'; +import { KTX_MODEL_ROLES } from '../../llm/index.js'; import YAML from 'yaml'; import * as z from 'zod'; import { connectionConfigSchema } from './driver-schemas.js'; diff --git a/packages/context/src/project/driver-schemas.test.ts b/packages/cli/src/context/project/driver-schemas.test.ts similarity index 100% rename from packages/context/src/project/driver-schemas.test.ts rename to packages/cli/src/context/project/driver-schemas.test.ts diff --git a/packages/context/src/project/driver-schemas.ts b/packages/cli/src/context/project/driver-schemas.ts similarity index 100% rename from packages/context/src/project/driver-schemas.ts rename to packages/cli/src/context/project/driver-schemas.ts diff --git a/packages/context/src/project/index.ts b/packages/cli/src/context/project/index.ts similarity index 100% rename from packages/context/src/project/index.ts rename to packages/cli/src/context/project/index.ts diff --git a/packages/context/src/project/local-git-file-store.test.ts b/packages/cli/src/context/project/local-git-file-store.test.ts similarity index 100% rename from packages/context/src/project/local-git-file-store.test.ts rename to packages/cli/src/context/project/local-git-file-store.test.ts diff --git a/packages/context/src/project/local-git-file-store.ts b/packages/cli/src/context/project/local-git-file-store.ts similarity index 100% rename from packages/context/src/project/local-git-file-store.ts rename to packages/cli/src/context/project/local-git-file-store.ts diff --git a/packages/context/src/project/local-state-db.ts b/packages/cli/src/context/project/local-state-db.ts similarity index 100% rename from packages/context/src/project/local-state-db.ts rename to packages/cli/src/context/project/local-state-db.ts diff --git a/packages/context/src/project/mappings-yaml-schema.test.ts b/packages/cli/src/context/project/mappings-yaml-schema.test.ts similarity index 100% rename from packages/context/src/project/mappings-yaml-schema.test.ts rename to packages/cli/src/context/project/mappings-yaml-schema.test.ts diff --git a/packages/context/src/project/mappings-yaml-schema.ts b/packages/cli/src/context/project/mappings-yaml-schema.ts similarity index 100% rename from packages/context/src/project/mappings-yaml-schema.ts rename to packages/cli/src/context/project/mappings-yaml-schema.ts diff --git a/packages/context/src/project/project.test.ts b/packages/cli/src/context/project/project.test.ts similarity index 100% rename from packages/context/src/project/project.test.ts rename to packages/cli/src/context/project/project.test.ts diff --git a/packages/context/src/project/project.ts b/packages/cli/src/context/project/project.ts similarity index 100% rename from packages/context/src/project/project.ts rename to packages/cli/src/context/project/project.ts diff --git a/packages/context/src/project/setup-config.test.ts b/packages/cli/src/context/project/setup-config.test.ts similarity index 100% rename from packages/context/src/project/setup-config.test.ts rename to packages/cli/src/context/project/setup-config.test.ts diff --git a/packages/context/src/project/setup-config.ts b/packages/cli/src/context/project/setup-config.ts similarity index 100% rename from packages/context/src/project/setup-config.ts rename to packages/cli/src/context/project/setup-config.ts diff --git a/packages/context/src/prompts/index.ts b/packages/cli/src/context/prompts/index.ts similarity index 100% rename from packages/context/src/prompts/index.ts rename to packages/cli/src/context/prompts/index.ts diff --git a/packages/context/src/prompts/prompt.service.test.ts b/packages/cli/src/context/prompts/prompt.service.test.ts similarity index 100% rename from packages/context/src/prompts/prompt.service.test.ts rename to packages/cli/src/context/prompts/prompt.service.test.ts diff --git a/packages/context/src/prompts/prompt.service.ts b/packages/cli/src/context/prompts/prompt.service.ts similarity index 100% rename from packages/context/src/prompts/prompt.service.ts rename to packages/cli/src/context/prompts/prompt.service.ts diff --git a/packages/context/src/scan/credentials.test.ts b/packages/cli/src/context/scan/credentials.test.ts similarity index 100% rename from packages/context/src/scan/credentials.test.ts rename to packages/cli/src/context/scan/credentials.test.ts diff --git a/packages/context/src/scan/credentials.ts b/packages/cli/src/context/scan/credentials.ts similarity index 100% rename from packages/context/src/scan/credentials.ts rename to packages/cli/src/context/scan/credentials.ts diff --git a/packages/context/src/scan/data-dictionary.test.ts b/packages/cli/src/context/scan/data-dictionary.test.ts similarity index 100% rename from packages/context/src/scan/data-dictionary.test.ts rename to packages/cli/src/context/scan/data-dictionary.test.ts diff --git a/packages/context/src/scan/data-dictionary.ts b/packages/cli/src/context/scan/data-dictionary.ts similarity index 100% rename from packages/context/src/scan/data-dictionary.ts rename to packages/cli/src/context/scan/data-dictionary.ts diff --git a/packages/context/src/scan/description-generation.test.ts b/packages/cli/src/context/scan/description-generation.test.ts similarity index 100% rename from packages/context/src/scan/description-generation.test.ts rename to packages/cli/src/context/scan/description-generation.test.ts diff --git a/packages/context/src/scan/description-generation.ts b/packages/cli/src/context/scan/description-generation.ts similarity index 100% rename from packages/context/src/scan/description-generation.ts rename to packages/cli/src/context/scan/description-generation.ts diff --git a/packages/context/src/scan/embedding-text.test.ts b/packages/cli/src/context/scan/embedding-text.test.ts similarity index 100% rename from packages/context/src/scan/embedding-text.test.ts rename to packages/cli/src/context/scan/embedding-text.test.ts diff --git a/packages/context/src/scan/embedding-text.ts b/packages/cli/src/context/scan/embedding-text.ts similarity index 100% rename from packages/context/src/scan/embedding-text.ts rename to packages/cli/src/context/scan/embedding-text.ts diff --git a/packages/context/src/scan/enabled-tables.ts b/packages/cli/src/context/scan/enabled-tables.ts similarity index 100% rename from packages/context/src/scan/enabled-tables.ts rename to packages/cli/src/context/scan/enabled-tables.ts diff --git a/packages/context/src/scan/enrichment-state.test.ts b/packages/cli/src/context/scan/enrichment-state.test.ts similarity index 100% rename from packages/context/src/scan/enrichment-state.test.ts rename to packages/cli/src/context/scan/enrichment-state.test.ts diff --git a/packages/context/src/scan/enrichment-state.ts b/packages/cli/src/context/scan/enrichment-state.ts similarity index 100% rename from packages/context/src/scan/enrichment-state.ts rename to packages/cli/src/context/scan/enrichment-state.ts diff --git a/packages/context/src/scan/enrichment-summary.test.ts b/packages/cli/src/context/scan/enrichment-summary.test.ts similarity index 100% rename from packages/context/src/scan/enrichment-summary.test.ts rename to packages/cli/src/context/scan/enrichment-summary.test.ts diff --git a/packages/context/src/scan/enrichment-summary.ts b/packages/cli/src/context/scan/enrichment-summary.ts similarity index 100% rename from packages/context/src/scan/enrichment-summary.ts rename to packages/cli/src/context/scan/enrichment-summary.ts diff --git a/packages/context/src/scan/enrichment-types.test.ts b/packages/cli/src/context/scan/enrichment-types.test.ts similarity index 100% rename from packages/context/src/scan/enrichment-types.test.ts rename to packages/cli/src/context/scan/enrichment-types.test.ts diff --git a/packages/context/src/scan/enrichment-types.ts b/packages/cli/src/context/scan/enrichment-types.ts similarity index 100% rename from packages/context/src/scan/enrichment-types.ts rename to packages/cli/src/context/scan/enrichment-types.ts diff --git a/packages/context/src/scan/entity-details.test.ts b/packages/cli/src/context/scan/entity-details.test.ts similarity index 100% rename from packages/context/src/scan/entity-details.test.ts rename to packages/cli/src/context/scan/entity-details.test.ts diff --git a/packages/context/src/scan/entity-details.ts b/packages/cli/src/context/scan/entity-details.ts similarity index 100% rename from packages/context/src/scan/entity-details.ts rename to packages/cli/src/context/scan/entity-details.ts diff --git a/packages/context/src/scan/index.ts b/packages/cli/src/context/scan/index.ts similarity index 100% rename from packages/context/src/scan/index.ts rename to packages/cli/src/context/scan/index.ts diff --git a/packages/context/src/scan/local-enrichment-artifacts.test.ts b/packages/cli/src/context/scan/local-enrichment-artifacts.test.ts similarity index 100% rename from packages/context/src/scan/local-enrichment-artifacts.test.ts rename to packages/cli/src/context/scan/local-enrichment-artifacts.test.ts diff --git a/packages/context/src/scan/local-enrichment-artifacts.ts b/packages/cli/src/context/scan/local-enrichment-artifacts.ts similarity index 100% rename from packages/context/src/scan/local-enrichment-artifacts.ts rename to packages/cli/src/context/scan/local-enrichment-artifacts.ts diff --git a/packages/context/src/scan/local-enrichment.test.ts b/packages/cli/src/context/scan/local-enrichment.test.ts similarity index 100% rename from packages/context/src/scan/local-enrichment.test.ts rename to packages/cli/src/context/scan/local-enrichment.test.ts diff --git a/packages/context/src/scan/local-enrichment.ts b/packages/cli/src/context/scan/local-enrichment.ts similarity index 100% rename from packages/context/src/scan/local-enrichment.ts rename to packages/cli/src/context/scan/local-enrichment.ts diff --git a/packages/context/src/scan/local-scan.test.ts b/packages/cli/src/context/scan/local-scan.test.ts similarity index 100% rename from packages/context/src/scan/local-scan.test.ts rename to packages/cli/src/context/scan/local-scan.test.ts diff --git a/packages/context/src/scan/local-scan.ts b/packages/cli/src/context/scan/local-scan.ts similarity index 99% rename from packages/context/src/scan/local-scan.ts rename to packages/cli/src/context/scan/local-scan.ts index c133550c..c83a9847 100644 --- a/packages/context/src/scan/local-scan.ts +++ b/packages/cli/src/context/scan/local-scan.ts @@ -1,4 +1,4 @@ -import type { createKtxEmbeddingProvider, createKtxLlmProvider, KtxEmbeddingProvider } from '../../../cli/src/llm/index.js'; +import type { createKtxEmbeddingProvider, createKtxLlmProvider, KtxEmbeddingProvider } from '../../llm/index.js'; import { createDefaultLocalIngestAdapters, getLocalStageOnlyIngestStatus, diff --git a/packages/context/src/scan/local-structural-artifacts.test.ts b/packages/cli/src/context/scan/local-structural-artifacts.test.ts similarity index 100% rename from packages/context/src/scan/local-structural-artifacts.test.ts rename to packages/cli/src/context/scan/local-structural-artifacts.test.ts diff --git a/packages/context/src/scan/local-structural-artifacts.ts b/packages/cli/src/context/scan/local-structural-artifacts.ts similarity index 100% rename from packages/context/src/scan/local-structural-artifacts.ts rename to packages/cli/src/context/scan/local-structural-artifacts.ts diff --git a/packages/context/src/scan/relationship-artifacts.test.ts b/packages/cli/src/context/scan/relationship-artifacts.test.ts similarity index 100% rename from packages/context/src/scan/relationship-artifacts.test.ts rename to packages/cli/src/context/scan/relationship-artifacts.test.ts diff --git a/packages/context/src/scan/relationship-artifacts.ts b/packages/cli/src/context/scan/relationship-artifacts.ts similarity index 100% rename from packages/context/src/scan/relationship-artifacts.ts rename to packages/cli/src/context/scan/relationship-artifacts.ts diff --git a/packages/context/src/scan/relationship-benchmark-report.test.ts b/packages/cli/src/context/scan/relationship-benchmark-report.test.ts similarity index 100% rename from packages/context/src/scan/relationship-benchmark-report.test.ts rename to packages/cli/src/context/scan/relationship-benchmark-report.test.ts diff --git a/packages/context/src/scan/relationship-benchmark-report.ts b/packages/cli/src/context/scan/relationship-benchmark-report.ts similarity index 100% rename from packages/context/src/scan/relationship-benchmark-report.ts rename to packages/cli/src/context/scan/relationship-benchmark-report.ts diff --git a/packages/context/src/scan/relationship-benchmarks.test.ts b/packages/cli/src/context/scan/relationship-benchmarks.test.ts similarity index 100% rename from packages/context/src/scan/relationship-benchmarks.test.ts rename to packages/cli/src/context/scan/relationship-benchmarks.test.ts diff --git a/packages/context/src/scan/relationship-benchmarks.ts b/packages/cli/src/context/scan/relationship-benchmarks.ts similarity index 100% rename from packages/context/src/scan/relationship-benchmarks.ts rename to packages/cli/src/context/scan/relationship-benchmarks.ts diff --git a/packages/context/src/scan/relationship-budget.test.ts b/packages/cli/src/context/scan/relationship-budget.test.ts similarity index 100% rename from packages/context/src/scan/relationship-budget.test.ts rename to packages/cli/src/context/scan/relationship-budget.test.ts diff --git a/packages/context/src/scan/relationship-budget.ts b/packages/cli/src/context/scan/relationship-budget.ts similarity index 100% rename from packages/context/src/scan/relationship-budget.ts rename to packages/cli/src/context/scan/relationship-budget.ts diff --git a/packages/context/src/scan/relationship-candidates.test.ts b/packages/cli/src/context/scan/relationship-candidates.test.ts similarity index 100% rename from packages/context/src/scan/relationship-candidates.test.ts rename to packages/cli/src/context/scan/relationship-candidates.test.ts diff --git a/packages/context/src/scan/relationship-candidates.ts b/packages/cli/src/context/scan/relationship-candidates.ts similarity index 100% rename from packages/context/src/scan/relationship-candidates.ts rename to packages/cli/src/context/scan/relationship-candidates.ts diff --git a/packages/context/src/scan/relationship-composite-candidates.test.ts b/packages/cli/src/context/scan/relationship-composite-candidates.test.ts similarity index 100% rename from packages/context/src/scan/relationship-composite-candidates.test.ts rename to packages/cli/src/context/scan/relationship-composite-candidates.test.ts diff --git a/packages/context/src/scan/relationship-composite-candidates.ts b/packages/cli/src/context/scan/relationship-composite-candidates.ts similarity index 100% rename from packages/context/src/scan/relationship-composite-candidates.ts rename to packages/cli/src/context/scan/relationship-composite-candidates.ts diff --git a/packages/context/src/scan/relationship-diagnostics.test.ts b/packages/cli/src/context/scan/relationship-diagnostics.test.ts similarity index 100% rename from packages/context/src/scan/relationship-diagnostics.test.ts rename to packages/cli/src/context/scan/relationship-diagnostics.test.ts diff --git a/packages/context/src/scan/relationship-diagnostics.ts b/packages/cli/src/context/scan/relationship-diagnostics.ts similarity index 100% rename from packages/context/src/scan/relationship-diagnostics.ts rename to packages/cli/src/context/scan/relationship-diagnostics.ts diff --git a/packages/context/src/scan/relationship-discovery.test.ts b/packages/cli/src/context/scan/relationship-discovery.test.ts similarity index 100% rename from packages/context/src/scan/relationship-discovery.test.ts rename to packages/cli/src/context/scan/relationship-discovery.test.ts diff --git a/packages/context/src/scan/relationship-discovery.ts b/packages/cli/src/context/scan/relationship-discovery.ts similarity index 100% rename from packages/context/src/scan/relationship-discovery.ts rename to packages/cli/src/context/scan/relationship-discovery.ts diff --git a/packages/context/src/scan/relationship-feedback-calibration.test.ts b/packages/cli/src/context/scan/relationship-feedback-calibration.test.ts similarity index 100% rename from packages/context/src/scan/relationship-feedback-calibration.test.ts rename to packages/cli/src/context/scan/relationship-feedback-calibration.test.ts diff --git a/packages/context/src/scan/relationship-feedback-calibration.ts b/packages/cli/src/context/scan/relationship-feedback-calibration.ts similarity index 100% rename from packages/context/src/scan/relationship-feedback-calibration.ts rename to packages/cli/src/context/scan/relationship-feedback-calibration.ts diff --git a/packages/context/src/scan/relationship-feedback-export.test.ts b/packages/cli/src/context/scan/relationship-feedback-export.test.ts similarity index 100% rename from packages/context/src/scan/relationship-feedback-export.test.ts rename to packages/cli/src/context/scan/relationship-feedback-export.test.ts diff --git a/packages/context/src/scan/relationship-feedback-export.ts b/packages/cli/src/context/scan/relationship-feedback-export.ts similarity index 100% rename from packages/context/src/scan/relationship-feedback-export.ts rename to packages/cli/src/context/scan/relationship-feedback-export.ts diff --git a/packages/context/src/scan/relationship-formal-metadata.test.ts b/packages/cli/src/context/scan/relationship-formal-metadata.test.ts similarity index 100% rename from packages/context/src/scan/relationship-formal-metadata.test.ts rename to packages/cli/src/context/scan/relationship-formal-metadata.test.ts diff --git a/packages/context/src/scan/relationship-formal-metadata.ts b/packages/cli/src/context/scan/relationship-formal-metadata.ts similarity index 100% rename from packages/context/src/scan/relationship-formal-metadata.ts rename to packages/cli/src/context/scan/relationship-formal-metadata.ts diff --git a/packages/context/src/scan/relationship-graph-resolver.test.ts b/packages/cli/src/context/scan/relationship-graph-resolver.test.ts similarity index 100% rename from packages/context/src/scan/relationship-graph-resolver.test.ts rename to packages/cli/src/context/scan/relationship-graph-resolver.test.ts diff --git a/packages/context/src/scan/relationship-graph-resolver.ts b/packages/cli/src/context/scan/relationship-graph-resolver.ts similarity index 100% rename from packages/context/src/scan/relationship-graph-resolver.ts rename to packages/cli/src/context/scan/relationship-graph-resolver.ts diff --git a/packages/context/src/scan/relationship-llm-proposal.test.ts b/packages/cli/src/context/scan/relationship-llm-proposal.test.ts similarity index 100% rename from packages/context/src/scan/relationship-llm-proposal.test.ts rename to packages/cli/src/context/scan/relationship-llm-proposal.test.ts diff --git a/packages/context/src/scan/relationship-llm-proposal.ts b/packages/cli/src/context/scan/relationship-llm-proposal.ts similarity index 100% rename from packages/context/src/scan/relationship-llm-proposal.ts rename to packages/cli/src/context/scan/relationship-llm-proposal.ts diff --git a/packages/context/src/scan/relationship-locality.test.ts b/packages/cli/src/context/scan/relationship-locality.test.ts similarity index 100% rename from packages/context/src/scan/relationship-locality.test.ts rename to packages/cli/src/context/scan/relationship-locality.test.ts diff --git a/packages/context/src/scan/relationship-locality.ts b/packages/cli/src/context/scan/relationship-locality.ts similarity index 100% rename from packages/context/src/scan/relationship-locality.ts rename to packages/cli/src/context/scan/relationship-locality.ts diff --git a/packages/context/src/scan/relationship-name-similarity.test.ts b/packages/cli/src/context/scan/relationship-name-similarity.test.ts similarity index 100% rename from packages/context/src/scan/relationship-name-similarity.test.ts rename to packages/cli/src/context/scan/relationship-name-similarity.test.ts diff --git a/packages/context/src/scan/relationship-name-similarity.ts b/packages/cli/src/context/scan/relationship-name-similarity.ts similarity index 100% rename from packages/context/src/scan/relationship-name-similarity.ts rename to packages/cli/src/context/scan/relationship-name-similarity.ts diff --git a/packages/context/src/scan/relationship-profiling.test.ts b/packages/cli/src/context/scan/relationship-profiling.test.ts similarity index 100% rename from packages/context/src/scan/relationship-profiling.test.ts rename to packages/cli/src/context/scan/relationship-profiling.test.ts diff --git a/packages/context/src/scan/relationship-profiling.ts b/packages/cli/src/context/scan/relationship-profiling.ts similarity index 100% rename from packages/context/src/scan/relationship-profiling.ts rename to packages/cli/src/context/scan/relationship-profiling.ts diff --git a/packages/context/src/scan/relationship-review-apply.test.ts b/packages/cli/src/context/scan/relationship-review-apply.test.ts similarity index 100% rename from packages/context/src/scan/relationship-review-apply.test.ts rename to packages/cli/src/context/scan/relationship-review-apply.test.ts diff --git a/packages/context/src/scan/relationship-review-apply.ts b/packages/cli/src/context/scan/relationship-review-apply.ts similarity index 100% rename from packages/context/src/scan/relationship-review-apply.ts rename to packages/cli/src/context/scan/relationship-review-apply.ts diff --git a/packages/context/src/scan/relationship-review-decisions.test.ts b/packages/cli/src/context/scan/relationship-review-decisions.test.ts similarity index 100% rename from packages/context/src/scan/relationship-review-decisions.test.ts rename to packages/cli/src/context/scan/relationship-review-decisions.test.ts diff --git a/packages/context/src/scan/relationship-review-decisions.ts b/packages/cli/src/context/scan/relationship-review-decisions.ts similarity index 100% rename from packages/context/src/scan/relationship-review-decisions.ts rename to packages/cli/src/context/scan/relationship-review-decisions.ts diff --git a/packages/context/src/scan/relationship-scoring.test.ts b/packages/cli/src/context/scan/relationship-scoring.test.ts similarity index 100% rename from packages/context/src/scan/relationship-scoring.test.ts rename to packages/cli/src/context/scan/relationship-scoring.test.ts diff --git a/packages/context/src/scan/relationship-scoring.ts b/packages/cli/src/context/scan/relationship-scoring.ts similarity index 100% rename from packages/context/src/scan/relationship-scoring.ts rename to packages/cli/src/context/scan/relationship-scoring.ts diff --git a/packages/context/src/scan/relationship-threshold-advice.test.ts b/packages/cli/src/context/scan/relationship-threshold-advice.test.ts similarity index 100% rename from packages/context/src/scan/relationship-threshold-advice.test.ts rename to packages/cli/src/context/scan/relationship-threshold-advice.test.ts diff --git a/packages/context/src/scan/relationship-threshold-advice.ts b/packages/cli/src/context/scan/relationship-threshold-advice.ts similarity index 100% rename from packages/context/src/scan/relationship-threshold-advice.ts rename to packages/cli/src/context/scan/relationship-threshold-advice.ts diff --git a/packages/context/src/scan/relationship-validation.test.ts b/packages/cli/src/context/scan/relationship-validation.test.ts similarity index 100% rename from packages/context/src/scan/relationship-validation.test.ts rename to packages/cli/src/context/scan/relationship-validation.test.ts diff --git a/packages/context/src/scan/relationship-validation.ts b/packages/cli/src/context/scan/relationship-validation.ts similarity index 100% rename from packages/context/src/scan/relationship-validation.ts rename to packages/cli/src/context/scan/relationship-validation.ts diff --git a/packages/context/src/scan/sqlite-local-enrichment-state-store.ts b/packages/cli/src/context/scan/sqlite-local-enrichment-state-store.ts similarity index 100% rename from packages/context/src/scan/sqlite-local-enrichment-state-store.ts rename to packages/cli/src/context/scan/sqlite-local-enrichment-state-store.ts diff --git a/packages/context/src/scan/type-normalization.test.ts b/packages/cli/src/context/scan/type-normalization.test.ts similarity index 100% rename from packages/context/src/scan/type-normalization.test.ts rename to packages/cli/src/context/scan/type-normalization.test.ts diff --git a/packages/context/src/scan/type-normalization.ts b/packages/cli/src/context/scan/type-normalization.ts similarity index 100% rename from packages/context/src/scan/type-normalization.ts rename to packages/cli/src/context/scan/type-normalization.ts diff --git a/packages/context/src/scan/types.test.ts b/packages/cli/src/context/scan/types.test.ts similarity index 100% rename from packages/context/src/scan/types.test.ts rename to packages/cli/src/context/scan/types.test.ts diff --git a/packages/context/src/scan/types.ts b/packages/cli/src/context/scan/types.ts similarity index 100% rename from packages/context/src/scan/types.ts rename to packages/cli/src/context/scan/types.ts diff --git a/packages/context/src/scan/warehouse-catalog.test.ts b/packages/cli/src/context/scan/warehouse-catalog.test.ts similarity index 100% rename from packages/context/src/scan/warehouse-catalog.test.ts rename to packages/cli/src/context/scan/warehouse-catalog.test.ts diff --git a/packages/context/src/scan/warehouse-catalog.ts b/packages/cli/src/context/scan/warehouse-catalog.ts similarity index 100% rename from packages/context/src/scan/warehouse-catalog.ts rename to packages/cli/src/context/scan/warehouse-catalog.ts diff --git a/packages/context/src/search/backend-conformance.test.ts b/packages/cli/src/context/search/backend-conformance.test.ts similarity index 100% rename from packages/context/src/search/backend-conformance.test.ts rename to packages/cli/src/context/search/backend-conformance.test.ts diff --git a/packages/context/src/search/backend-conformance.ts b/packages/cli/src/context/search/backend-conformance.ts similarity index 100% rename from packages/context/src/search/backend-conformance.ts rename to packages/cli/src/context/search/backend-conformance.ts diff --git a/packages/context/src/search/discover.test.ts b/packages/cli/src/context/search/discover.test.ts similarity index 100% rename from packages/context/src/search/discover.test.ts rename to packages/cli/src/context/search/discover.test.ts diff --git a/packages/context/src/search/discover.ts b/packages/cli/src/context/search/discover.ts similarity index 100% rename from packages/context/src/search/discover.ts rename to packages/cli/src/context/search/discover.ts diff --git a/packages/context/src/search/hybrid-search-core.test.ts b/packages/cli/src/context/search/hybrid-search-core.test.ts similarity index 100% rename from packages/context/src/search/hybrid-search-core.test.ts rename to packages/cli/src/context/search/hybrid-search-core.test.ts diff --git a/packages/context/src/search/hybrid-search-core.ts b/packages/cli/src/context/search/hybrid-search-core.ts similarity index 100% rename from packages/context/src/search/hybrid-search-core.ts rename to packages/cli/src/context/search/hybrid-search-core.ts diff --git a/packages/context/src/search/index.ts b/packages/cli/src/context/search/index.ts similarity index 100% rename from packages/context/src/search/index.ts rename to packages/cli/src/context/search/index.ts diff --git a/packages/context/src/search/pglite-owner-process.test.ts b/packages/cli/src/context/search/pglite-owner-process.test.ts similarity index 100% rename from packages/context/src/search/pglite-owner-process.test.ts rename to packages/cli/src/context/search/pglite-owner-process.test.ts diff --git a/packages/context/src/search/pglite-owner-process.ts b/packages/cli/src/context/search/pglite-owner-process.ts similarity index 100% rename from packages/context/src/search/pglite-owner-process.ts rename to packages/cli/src/context/search/pglite-owner-process.ts diff --git a/packages/context/src/search/pglite-runtime-boundary.test.ts b/packages/cli/src/context/search/pglite-runtime-boundary.test.ts similarity index 72% rename from packages/context/src/search/pglite-runtime-boundary.test.ts rename to packages/cli/src/context/search/pglite-runtime-boundary.test.ts index 2db3209b..8b0d123b 100644 --- a/packages/context/src/search/pglite-runtime-boundary.test.ts +++ b/packages/cli/src/context/search/pglite-runtime-boundary.test.ts @@ -3,42 +3,42 @@ import { join } from 'node:path'; import { fileURLToPath } from 'node:url'; import { describe, expect, it } from 'vitest'; -const ktxRoot = fileURLToPath(new URL('../../../../', import.meta.url)); +const ktxRoot = fileURLToPath(new URL('../../../../../', import.meta.url)); function readKtxFile(relativePath: string): string { return readFileSync(join(ktxRoot, relativePath), 'utf8'); } -function readContextPackageJson(): { +function readCliPackageJson(): { dependencies?: Record; devDependencies?: Record; exports?: Record; files?: string[]; } { - return JSON.parse(readKtxFile('packages/context/package.json')); + return JSON.parse(readKtxFile('packages/cli/package.json')); } describe('PGlite hybrid search runtime boundary', () => { it('keeps PGlite packages as dev-only prototype dependencies', () => { - const pkg = readContextPackageJson(); + const pkg = readCliPackageJson(); expect(pkg.dependencies?.['@electric-sql/pglite']).toBeUndefined(); expect(pkg.dependencies?.['@electric-sql/pglite-socket']).toBeUndefined(); expect(pkg.devDependencies?.['@electric-sql/pglite']).toBeDefined(); expect(pkg.devDependencies?.['@electric-sql/pglite-socket']).toBeDefined(); - expect(pkg.files).toEqual(['dist', 'prompts', 'skills']); + expect(pkg.files).toEqual(['dist', 'assets']); }); it('keeps PGlite prototypes out of public exports and production routing', () => { - const pkg = readContextPackageJson(); + const pkg = readCliPackageJson(); const packageExportKeys = Object.keys(pkg.exports ?? {}); expect(packageExportKeys.filter((key) => key.toLowerCase().includes('pglite'))).toEqual([]); const publicExportFiles = [ - 'packages/context/src/index.ts', - 'packages/context/src/search/index.ts', - 'packages/context/src/sl/index.ts', + 'packages/cli/src/context/index.ts', + 'packages/cli/src/context/search/index.ts', + 'packages/cli/src/context/sl/index.ts', ]; for (const relativePath of publicExportFiles) { @@ -48,9 +48,9 @@ describe('PGlite hybrid search runtime boundary', () => { const productionRoutingFiles = [ 'packages/cli/src/sl.ts', 'packages/cli/src/knowledge.ts', - 'packages/context/src/mcp/local-project-ports.ts', - 'packages/context/src/wiki/local-knowledge.ts', - 'packages/context/src/ingest/context-evidence/sqlite-context-evidence-store.ts', + 'packages/cli/src/context/mcp/local-project-ports.ts', + 'packages/cli/src/context/wiki/local-knowledge.ts', + 'packages/cli/src/context/ingest/context-evidence/sqlite-context-evidence-store.ts', ]; for (const relativePath of productionRoutingFiles) { @@ -59,7 +59,7 @@ describe('PGlite hybrid search runtime boundary', () => { ); } - const localSlSource = readKtxFile('packages/context/src/sl/local-sl.ts'); + const localSlSource = readKtxFile('packages/cli/src/context/sl/local-sl.ts'); expect(localSlSource).toContain("input.backend === 'pglite-owner-prototype'"); expect(localSlSource).toContain('PGlite semantic-layer search prototype requires pglite owner-process options.'); expect(localSlSource).toContain("await import('./pglite-sl-search-prototype.js')"); diff --git a/packages/context/src/search/pglite-spike.test.ts b/packages/cli/src/context/search/pglite-spike.test.ts similarity index 100% rename from packages/context/src/search/pglite-spike.test.ts rename to packages/cli/src/context/search/pglite-spike.test.ts diff --git a/packages/context/src/search/query.test.ts b/packages/cli/src/context/search/query.test.ts similarity index 100% rename from packages/context/src/search/query.test.ts rename to packages/cli/src/context/search/query.test.ts diff --git a/packages/context/src/search/query.ts b/packages/cli/src/context/search/query.ts similarity index 100% rename from packages/context/src/search/query.ts rename to packages/cli/src/context/search/query.ts diff --git a/packages/context/src/search/rrf.test.ts b/packages/cli/src/context/search/rrf.test.ts similarity index 100% rename from packages/context/src/search/rrf.test.ts rename to packages/cli/src/context/search/rrf.test.ts diff --git a/packages/context/src/search/rrf.ts b/packages/cli/src/context/search/rrf.ts similarity index 100% rename from packages/context/src/search/rrf.ts rename to packages/cli/src/context/search/rrf.ts diff --git a/packages/context/src/search/types.ts b/packages/cli/src/context/search/types.ts similarity index 100% rename from packages/context/src/search/types.ts rename to packages/cli/src/context/search/types.ts diff --git a/packages/context/src/skills/index.ts b/packages/cli/src/context/skills/index.ts similarity index 100% rename from packages/context/src/skills/index.ts rename to packages/cli/src/context/skills/index.ts diff --git a/packages/context/src/skills/skills-registry.service.test.ts b/packages/cli/src/context/skills/skills-registry.service.test.ts similarity index 100% rename from packages/context/src/skills/skills-registry.service.test.ts rename to packages/cli/src/context/skills/skills-registry.service.test.ts diff --git a/packages/context/src/skills/skills-registry.service.ts b/packages/cli/src/context/skills/skills-registry.service.ts similarity index 100% rename from packages/context/src/skills/skills-registry.service.ts rename to packages/cli/src/context/skills/skills-registry.service.ts diff --git a/packages/context/src/sl/description-normalization.ts b/packages/cli/src/context/sl/description-normalization.ts similarity index 100% rename from packages/context/src/sl/description-normalization.ts rename to packages/cli/src/context/sl/description-normalization.ts diff --git a/packages/context/src/sl/descriptions.ts b/packages/cli/src/context/sl/descriptions.ts similarity index 100% rename from packages/context/src/sl/descriptions.ts rename to packages/cli/src/context/sl/descriptions.ts diff --git a/packages/context/src/sl/dictionary-search.test.ts b/packages/cli/src/context/sl/dictionary-search.test.ts similarity index 100% rename from packages/context/src/sl/dictionary-search.test.ts rename to packages/cli/src/context/sl/dictionary-search.test.ts diff --git a/packages/context/src/sl/dictionary-search.ts b/packages/cli/src/context/sl/dictionary-search.ts similarity index 100% rename from packages/context/src/sl/dictionary-search.ts rename to packages/cli/src/context/sl/dictionary-search.ts diff --git a/packages/context/src/sl/index.ts b/packages/cli/src/context/sl/index.ts similarity index 100% rename from packages/context/src/sl/index.ts rename to packages/cli/src/context/sl/index.ts diff --git a/packages/context/src/sl/local-query.test.ts b/packages/cli/src/context/sl/local-query.test.ts similarity index 100% rename from packages/context/src/sl/local-query.test.ts rename to packages/cli/src/context/sl/local-query.test.ts diff --git a/packages/context/src/sl/local-query.ts b/packages/cli/src/context/sl/local-query.ts similarity index 100% rename from packages/context/src/sl/local-query.ts rename to packages/cli/src/context/sl/local-query.ts diff --git a/packages/context/src/sl/local-sl.test.ts b/packages/cli/src/context/sl/local-sl.test.ts similarity index 100% rename from packages/context/src/sl/local-sl.test.ts rename to packages/cli/src/context/sl/local-sl.test.ts diff --git a/packages/context/src/sl/local-sl.ts b/packages/cli/src/context/sl/local-sl.ts similarity index 100% rename from packages/context/src/sl/local-sl.ts rename to packages/cli/src/context/sl/local-sl.ts diff --git a/packages/context/src/sl/pglite-sl-search-prototype.test.ts b/packages/cli/src/context/sl/pglite-sl-search-prototype.test.ts similarity index 100% rename from packages/context/src/sl/pglite-sl-search-prototype.test.ts rename to packages/cli/src/context/sl/pglite-sl-search-prototype.test.ts diff --git a/packages/context/src/sl/pglite-sl-search-prototype.ts b/packages/cli/src/context/sl/pglite-sl-search-prototype.ts similarity index 100% rename from packages/context/src/sl/pglite-sl-search-prototype.ts rename to packages/cli/src/context/sl/pglite-sl-search-prototype.ts diff --git a/packages/context/src/sl/ports.ts b/packages/cli/src/context/sl/ports.ts similarity index 100% rename from packages/context/src/sl/ports.ts rename to packages/cli/src/context/sl/ports.ts diff --git a/packages/context/src/sl/schemas.contract.test.ts b/packages/cli/src/context/sl/schemas.contract.test.ts similarity index 100% rename from packages/context/src/sl/schemas.contract.test.ts rename to packages/cli/src/context/sl/schemas.contract.test.ts diff --git a/packages/context/src/sl/schemas.ts b/packages/cli/src/context/sl/schemas.ts similarity index 100% rename from packages/context/src/sl/schemas.ts rename to packages/cli/src/context/sl/schemas.ts diff --git a/packages/context/src/sl/semantic-layer.service.test.ts b/packages/cli/src/context/sl/semantic-layer.service.test.ts similarity index 100% rename from packages/context/src/sl/semantic-layer.service.test.ts rename to packages/cli/src/context/sl/semantic-layer.service.test.ts diff --git a/packages/context/src/sl/semantic-layer.service.ts b/packages/cli/src/context/sl/semantic-layer.service.ts similarity index 100% rename from packages/context/src/sl/semantic-layer.service.ts rename to packages/cli/src/context/sl/semantic-layer.service.ts diff --git a/packages/context/src/sl/sl-dictionary-profile.test.ts b/packages/cli/src/context/sl/sl-dictionary-profile.test.ts similarity index 100% rename from packages/context/src/sl/sl-dictionary-profile.test.ts rename to packages/cli/src/context/sl/sl-dictionary-profile.test.ts diff --git a/packages/context/src/sl/sl-dictionary-profile.ts b/packages/cli/src/context/sl/sl-dictionary-profile.ts similarity index 100% rename from packages/context/src/sl/sl-dictionary-profile.ts rename to packages/cli/src/context/sl/sl-dictionary-profile.ts diff --git a/packages/context/src/sl/sl-search.service.test.ts b/packages/cli/src/context/sl/sl-search.service.test.ts similarity index 100% rename from packages/context/src/sl/sl-search.service.test.ts rename to packages/cli/src/context/sl/sl-search.service.test.ts diff --git a/packages/context/src/sl/sl-search.service.ts b/packages/cli/src/context/sl/sl-search.service.ts similarity index 100% rename from packages/context/src/sl/sl-search.service.ts rename to packages/cli/src/context/sl/sl-search.service.ts diff --git a/packages/context/src/sl/sl-validator.port.ts b/packages/cli/src/context/sl/sl-validator.port.ts similarity index 100% rename from packages/context/src/sl/sl-validator.port.ts rename to packages/cli/src/context/sl/sl-validator.port.ts diff --git a/packages/context/src/sl/sqlite-sl-sources-index.test.ts b/packages/cli/src/context/sl/sqlite-sl-sources-index.test.ts similarity index 100% rename from packages/context/src/sl/sqlite-sl-sources-index.test.ts rename to packages/cli/src/context/sl/sqlite-sl-sources-index.test.ts diff --git a/packages/context/src/sl/sqlite-sl-sources-index.ts b/packages/cli/src/context/sl/sqlite-sl-sources-index.ts similarity index 100% rename from packages/context/src/sl/sqlite-sl-sources-index.ts rename to packages/cli/src/context/sl/sqlite-sl-sources-index.ts diff --git a/packages/context/src/sl/tools/base-semantic-layer.tool.ts b/packages/cli/src/context/sl/tools/base-semantic-layer.tool.ts similarity index 100% rename from packages/context/src/sl/tools/base-semantic-layer.tool.ts rename to packages/cli/src/context/sl/tools/base-semantic-layer.tool.ts diff --git a/packages/context/src/sl/tools/connection-id-schema.test.ts b/packages/cli/src/context/sl/tools/connection-id-schema.test.ts similarity index 100% rename from packages/context/src/sl/tools/connection-id-schema.test.ts rename to packages/cli/src/context/sl/tools/connection-id-schema.test.ts diff --git a/packages/context/src/sl/tools/connection-id-schema.ts b/packages/cli/src/context/sl/tools/connection-id-schema.ts similarity index 100% rename from packages/context/src/sl/tools/connection-id-schema.ts rename to packages/cli/src/context/sl/tools/connection-id-schema.ts diff --git a/packages/context/src/sl/tools/index.ts b/packages/cli/src/context/sl/tools/index.ts similarity index 100% rename from packages/context/src/sl/tools/index.ts rename to packages/cli/src/context/sl/tools/index.ts diff --git a/packages/context/src/sl/tools/sl-discover.tool.test.ts b/packages/cli/src/context/sl/tools/sl-discover.tool.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-discover.tool.test.ts rename to packages/cli/src/context/sl/tools/sl-discover.tool.test.ts diff --git a/packages/context/src/sl/tools/sl-discover.tool.ts b/packages/cli/src/context/sl/tools/sl-discover.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-discover.tool.ts rename to packages/cli/src/context/sl/tools/sl-discover.tool.ts diff --git a/packages/context/src/sl/tools/sl-edit-source.tool.test.ts b/packages/cli/src/context/sl/tools/sl-edit-source.tool.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-edit-source.tool.test.ts rename to packages/cli/src/context/sl/tools/sl-edit-source.tool.test.ts diff --git a/packages/context/src/sl/tools/sl-edit-source.tool.ts b/packages/cli/src/context/sl/tools/sl-edit-source.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-edit-source.tool.ts rename to packages/cli/src/context/sl/tools/sl-edit-source.tool.ts diff --git a/packages/context/src/sl/tools/sl-read-source.tool.session.test.ts b/packages/cli/src/context/sl/tools/sl-read-source.tool.session.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-read-source.tool.session.test.ts rename to packages/cli/src/context/sl/tools/sl-read-source.tool.session.test.ts diff --git a/packages/context/src/sl/tools/sl-read-source.tool.ts b/packages/cli/src/context/sl/tools/sl-read-source.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-read-source.tool.ts rename to packages/cli/src/context/sl/tools/sl-read-source.tool.ts diff --git a/packages/context/src/sl/tools/sl-rollback.tool.test.ts b/packages/cli/src/context/sl/tools/sl-rollback.tool.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-rollback.tool.test.ts rename to packages/cli/src/context/sl/tools/sl-rollback.tool.test.ts diff --git a/packages/context/src/sl/tools/sl-rollback.tool.ts b/packages/cli/src/context/sl/tools/sl-rollback.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-rollback.tool.ts rename to packages/cli/src/context/sl/tools/sl-rollback.tool.ts diff --git a/packages/context/src/sl/tools/sl-validate.tool.test.ts b/packages/cli/src/context/sl/tools/sl-validate.tool.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-validate.tool.test.ts rename to packages/cli/src/context/sl/tools/sl-validate.tool.test.ts diff --git a/packages/context/src/sl/tools/sl-validate.tool.ts b/packages/cli/src/context/sl/tools/sl-validate.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-validate.tool.ts rename to packages/cli/src/context/sl/tools/sl-validate.tool.ts diff --git a/packages/context/src/sl/tools/sl-warehouse-validation.test.ts b/packages/cli/src/context/sl/tools/sl-warehouse-validation.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-warehouse-validation.test.ts rename to packages/cli/src/context/sl/tools/sl-warehouse-validation.test.ts diff --git a/packages/context/src/sl/tools/sl-warehouse-validation.ts b/packages/cli/src/context/sl/tools/sl-warehouse-validation.ts similarity index 100% rename from packages/context/src/sl/tools/sl-warehouse-validation.ts rename to packages/cli/src/context/sl/tools/sl-warehouse-validation.ts diff --git a/packages/context/src/sl/tools/sl-write-source.tool.test.ts b/packages/cli/src/context/sl/tools/sl-write-source.tool.test.ts similarity index 100% rename from packages/context/src/sl/tools/sl-write-source.tool.test.ts rename to packages/cli/src/context/sl/tools/sl-write-source.tool.test.ts diff --git a/packages/context/src/sl/tools/sl-write-source.tool.ts b/packages/cli/src/context/sl/tools/sl-write-source.tool.ts similarity index 100% rename from packages/context/src/sl/tools/sl-write-source.tool.ts rename to packages/cli/src/context/sl/tools/sl-write-source.tool.ts diff --git a/packages/context/src/sl/types.ts b/packages/cli/src/context/sl/types.ts similarity index 100% rename from packages/context/src/sl/types.ts rename to packages/cli/src/context/sl/types.ts diff --git a/packages/context/src/sql-analysis/http-sql-analysis-port.test.ts b/packages/cli/src/context/sql-analysis/http-sql-analysis-port.test.ts similarity index 100% rename from packages/context/src/sql-analysis/http-sql-analysis-port.test.ts rename to packages/cli/src/context/sql-analysis/http-sql-analysis-port.test.ts diff --git a/packages/context/src/sql-analysis/http-sql-analysis-port.ts b/packages/cli/src/context/sql-analysis/http-sql-analysis-port.ts similarity index 100% rename from packages/context/src/sql-analysis/http-sql-analysis-port.ts rename to packages/cli/src/context/sql-analysis/http-sql-analysis-port.ts diff --git a/packages/context/src/sql-analysis/index.ts b/packages/cli/src/context/sql-analysis/index.ts similarity index 100% rename from packages/context/src/sql-analysis/index.ts rename to packages/cli/src/context/sql-analysis/index.ts diff --git a/packages/context/src/sql-analysis/ports.ts b/packages/cli/src/context/sql-analysis/ports.ts similarity index 100% rename from packages/context/src/sql-analysis/ports.ts rename to packages/cli/src/context/sql-analysis/ports.ts diff --git a/packages/context/src/test/make-local-git-repo.ts b/packages/cli/src/context/test/make-local-git-repo.ts similarity index 100% rename from packages/context/src/test/make-local-git-repo.ts rename to packages/cli/src/context/test/make-local-git-repo.ts diff --git a/packages/context/src/tools/action-raw-paths.ts b/packages/cli/src/context/tools/action-raw-paths.ts similarity index 100% rename from packages/context/src/tools/action-raw-paths.ts rename to packages/cli/src/context/tools/action-raw-paths.ts diff --git a/packages/context/src/tools/action-target-connection.ts b/packages/cli/src/context/tools/action-target-connection.ts similarity index 100% rename from packages/context/src/tools/action-target-connection.ts rename to packages/cli/src/context/tools/action-target-connection.ts diff --git a/packages/context/src/tools/authors.ts b/packages/cli/src/context/tools/authors.ts similarity index 100% rename from packages/context/src/tools/authors.ts rename to packages/cli/src/context/tools/authors.ts diff --git a/packages/context/src/tools/base-tool.ts b/packages/cli/src/context/tools/base-tool.ts similarity index 100% rename from packages/context/src/tools/base-tool.ts rename to packages/cli/src/context/tools/base-tool.ts diff --git a/packages/context/src/tools/context-candidate-mark.tool.ts b/packages/cli/src/context/tools/context-candidate-mark.tool.ts similarity index 100% rename from packages/context/src/tools/context-candidate-mark.tool.ts rename to packages/cli/src/context/tools/context-candidate-mark.tool.ts diff --git a/packages/context/src/tools/context-candidate-write.tool.ts b/packages/cli/src/context/tools/context-candidate-write.tool.ts similarity index 100% rename from packages/context/src/tools/context-candidate-write.tool.ts rename to packages/cli/src/context/tools/context-candidate-write.tool.ts diff --git a/packages/context/src/tools/context-evidence-ids.ts b/packages/cli/src/context/tools/context-evidence-ids.ts similarity index 100% rename from packages/context/src/tools/context-evidence-ids.ts rename to packages/cli/src/context/tools/context-evidence-ids.ts diff --git a/packages/context/src/tools/context-evidence-neighbors.tool.ts b/packages/cli/src/context/tools/context-evidence-neighbors.tool.ts similarity index 100% rename from packages/context/src/tools/context-evidence-neighbors.tool.ts rename to packages/cli/src/context/tools/context-evidence-neighbors.tool.ts diff --git a/packages/context/src/tools/context-evidence-read.tool.ts b/packages/cli/src/context/tools/context-evidence-read.tool.ts similarity index 100% rename from packages/context/src/tools/context-evidence-read.tool.ts rename to packages/cli/src/context/tools/context-evidence-read.tool.ts diff --git a/packages/context/src/tools/context-evidence-search.tool.ts b/packages/cli/src/context/tools/context-evidence-search.tool.ts similarity index 100% rename from packages/context/src/tools/context-evidence-search.tool.ts rename to packages/cli/src/context/tools/context-evidence-search.tool.ts diff --git a/packages/context/src/tools/context-evidence-tool-store.ts b/packages/cli/src/context/tools/context-evidence-tool-store.ts similarity index 100% rename from packages/context/src/tools/context-evidence-tool-store.ts rename to packages/cli/src/context/tools/context-evidence-tool-store.ts diff --git a/packages/context/src/tools/context-evidence-tools.test.ts b/packages/cli/src/context/tools/context-evidence-tools.test.ts similarity index 100% rename from packages/context/src/tools/context-evidence-tools.test.ts rename to packages/cli/src/context/tools/context-evidence-tools.test.ts diff --git a/packages/context/src/tools/context-ingest-metadata.ts b/packages/cli/src/context/tools/context-ingest-metadata.ts similarity index 100% rename from packages/context/src/tools/context-ingest-metadata.ts rename to packages/cli/src/context/tools/context-ingest-metadata.ts diff --git a/packages/context/src/tools/index.ts b/packages/cli/src/context/tools/index.ts similarity index 100% rename from packages/context/src/tools/index.ts rename to packages/cli/src/context/tools/index.ts diff --git a/packages/context/src/tools/sql-edit-replacer.ts b/packages/cli/src/context/tools/sql-edit-replacer.ts similarity index 100% rename from packages/context/src/tools/sql-edit-replacer.ts rename to packages/cli/src/context/tools/sql-edit-replacer.ts diff --git a/packages/context/src/tools/tool-session.ts b/packages/cli/src/context/tools/tool-session.ts similarity index 100% rename from packages/context/src/tools/tool-session.ts rename to packages/cli/src/context/tools/tool-session.ts diff --git a/packages/context/src/tools/touched-sl-sources.test.ts b/packages/cli/src/context/tools/touched-sl-sources.test.ts similarity index 100% rename from packages/context/src/tools/touched-sl-sources.test.ts rename to packages/cli/src/context/tools/touched-sl-sources.test.ts diff --git a/packages/context/src/tools/touched-sl-sources.ts b/packages/cli/src/context/tools/touched-sl-sources.ts similarity index 100% rename from packages/context/src/tools/touched-sl-sources.ts rename to packages/cli/src/context/tools/touched-sl-sources.ts diff --git a/packages/context/src/wiki/index.ts b/packages/cli/src/context/wiki/index.ts similarity index 100% rename from packages/context/src/wiki/index.ts rename to packages/cli/src/context/wiki/index.ts diff --git a/packages/context/src/wiki/keys.ts b/packages/cli/src/context/wiki/keys.ts similarity index 100% rename from packages/context/src/wiki/keys.ts rename to packages/cli/src/context/wiki/keys.ts diff --git a/packages/context/src/wiki/knowledge-search-text.ts b/packages/cli/src/context/wiki/knowledge-search-text.ts similarity index 100% rename from packages/context/src/wiki/knowledge-search-text.ts rename to packages/cli/src/context/wiki/knowledge-search-text.ts diff --git a/packages/context/src/wiki/knowledge-wiki.service.test.ts b/packages/cli/src/context/wiki/knowledge-wiki.service.test.ts similarity index 100% rename from packages/context/src/wiki/knowledge-wiki.service.test.ts rename to packages/cli/src/context/wiki/knowledge-wiki.service.test.ts diff --git a/packages/context/src/wiki/knowledge-wiki.service.ts b/packages/cli/src/context/wiki/knowledge-wiki.service.ts similarity index 100% rename from packages/context/src/wiki/knowledge-wiki.service.ts rename to packages/cli/src/context/wiki/knowledge-wiki.service.ts diff --git a/packages/context/src/wiki/local-knowledge.test.ts b/packages/cli/src/context/wiki/local-knowledge.test.ts similarity index 100% rename from packages/context/src/wiki/local-knowledge.test.ts rename to packages/cli/src/context/wiki/local-knowledge.test.ts diff --git a/packages/context/src/wiki/local-knowledge.ts b/packages/cli/src/context/wiki/local-knowledge.ts similarity index 100% rename from packages/context/src/wiki/local-knowledge.ts rename to packages/cli/src/context/wiki/local-knowledge.ts diff --git a/packages/context/src/wiki/ports.ts b/packages/cli/src/context/wiki/ports.ts similarity index 100% rename from packages/context/src/wiki/ports.ts rename to packages/cli/src/context/wiki/ports.ts diff --git a/packages/context/src/wiki/sqlite-knowledge-index.test.ts b/packages/cli/src/context/wiki/sqlite-knowledge-index.test.ts similarity index 100% rename from packages/context/src/wiki/sqlite-knowledge-index.test.ts rename to packages/cli/src/context/wiki/sqlite-knowledge-index.test.ts diff --git a/packages/context/src/wiki/sqlite-knowledge-index.ts b/packages/cli/src/context/wiki/sqlite-knowledge-index.ts similarity index 100% rename from packages/context/src/wiki/sqlite-knowledge-index.ts rename to packages/cli/src/context/wiki/sqlite-knowledge-index.ts diff --git a/packages/context/src/wiki/tools/index.ts b/packages/cli/src/context/wiki/tools/index.ts similarity index 100% rename from packages/context/src/wiki/tools/index.ts rename to packages/cli/src/context/wiki/tools/index.ts diff --git a/packages/context/src/wiki/tools/wiki-list-tags.tool.test.ts b/packages/cli/src/context/wiki/tools/wiki-list-tags.tool.test.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-list-tags.tool.test.ts rename to packages/cli/src/context/wiki/tools/wiki-list-tags.tool.test.ts diff --git a/packages/context/src/wiki/tools/wiki-list-tags.tool.ts b/packages/cli/src/context/wiki/tools/wiki-list-tags.tool.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-list-tags.tool.ts rename to packages/cli/src/context/wiki/tools/wiki-list-tags.tool.ts diff --git a/packages/context/src/wiki/tools/wiki-read.tool.test.ts b/packages/cli/src/context/wiki/tools/wiki-read.tool.test.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-read.tool.test.ts rename to packages/cli/src/context/wiki/tools/wiki-read.tool.test.ts diff --git a/packages/context/src/wiki/tools/wiki-read.tool.ts b/packages/cli/src/context/wiki/tools/wiki-read.tool.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-read.tool.ts rename to packages/cli/src/context/wiki/tools/wiki-read.tool.ts diff --git a/packages/context/src/wiki/tools/wiki-remove.tool.test.ts b/packages/cli/src/context/wiki/tools/wiki-remove.tool.test.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-remove.tool.test.ts rename to packages/cli/src/context/wiki/tools/wiki-remove.tool.test.ts diff --git a/packages/context/src/wiki/tools/wiki-remove.tool.ts b/packages/cli/src/context/wiki/tools/wiki-remove.tool.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-remove.tool.ts rename to packages/cli/src/context/wiki/tools/wiki-remove.tool.ts diff --git a/packages/context/src/wiki/tools/wiki-search.tool.test.ts b/packages/cli/src/context/wiki/tools/wiki-search.tool.test.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-search.tool.test.ts rename to packages/cli/src/context/wiki/tools/wiki-search.tool.test.ts diff --git a/packages/context/src/wiki/tools/wiki-search.tool.ts b/packages/cli/src/context/wiki/tools/wiki-search.tool.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-search.tool.ts rename to packages/cli/src/context/wiki/tools/wiki-search.tool.ts diff --git a/packages/context/src/wiki/tools/wiki-write.tool.test.ts b/packages/cli/src/context/wiki/tools/wiki-write.tool.test.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-write.tool.test.ts rename to packages/cli/src/context/wiki/tools/wiki-write.tool.test.ts diff --git a/packages/context/src/wiki/tools/wiki-write.tool.ts b/packages/cli/src/context/wiki/tools/wiki-write.tool.ts similarity index 100% rename from packages/context/src/wiki/tools/wiki-write.tool.ts rename to packages/cli/src/context/wiki/tools/wiki-write.tool.ts diff --git a/packages/context/src/wiki/types.ts b/packages/cli/src/context/wiki/types.ts similarity index 100% rename from packages/context/src/wiki/types.ts rename to packages/cli/src/context/wiki/types.ts diff --git a/packages/context/src/wiki/wiki-ref-validation.test.ts b/packages/cli/src/context/wiki/wiki-ref-validation.test.ts similarity index 100% rename from packages/context/src/wiki/wiki-ref-validation.test.ts rename to packages/cli/src/context/wiki/wiki-ref-validation.test.ts diff --git a/packages/context/src/wiki/wiki-ref-validation.ts b/packages/cli/src/context/wiki/wiki-ref-validation.ts similarity index 100% rename from packages/context/src/wiki/wiki-ref-validation.ts rename to packages/cli/src/context/wiki/wiki-ref-validation.ts diff --git a/packages/cli/src/database-tree-picker.ts b/packages/cli/src/database-tree-picker.ts index d494003d..d7ab1b20 100644 --- a/packages/cli/src/database-tree-picker.ts +++ b/packages/cli/src/database-tree-picker.ts @@ -1,4 +1,4 @@ -import type { KtxTableListEntry } from '@ktx/context/scan'; +import type { KtxTableListEntry } from './context/scan/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { profileMark } from './startup-profile.js'; import { diff --git a/packages/cli/src/demo-metrics.test.ts b/packages/cli/src/demo-metrics.test.ts index 42be0cde..ba2ff6a9 100644 --- a/packages/cli/src/demo-metrics.test.ts +++ b/packages/cli/src/demo-metrics.test.ts @@ -1,4 +1,4 @@ -import type { MemoryFlowEvent, MemoryFlowReplayInput } from '@ktx/context/ingest/memory-flow'; +import type { MemoryFlowEvent, MemoryFlowReplayInput } from './context/ingest/memory-flow/index.js'; import { describe, expect, it } from 'vitest'; import { buildDemoMetrics, diff --git a/packages/cli/src/demo-metrics.ts b/packages/cli/src/demo-metrics.ts index 4fee8de3..31a1f225 100644 --- a/packages/cli/src/demo-metrics.ts +++ b/packages/cli/src/demo-metrics.ts @@ -1,4 +1,4 @@ -import type { MemoryFlowEvent, MemoryFlowReplayInput } from '@ktx/context/ingest/memory-flow'; +import type { MemoryFlowEvent, MemoryFlowReplayInput } from './context/ingest/memory-flow/index.js'; const DEFAULT_INPUT_TOKENS_PER_STEP = 4500; const DEFAULT_OUTPUT_TOKENS_PER_STEP = 700; diff --git a/packages/cli/src/doctor.ts b/packages/cli/src/doctor.ts index efb87e2b..9a743160 100644 --- a/packages/cli/src/doctor.ts +++ b/packages/cli/src/doctor.ts @@ -4,7 +4,7 @@ import { access, readFile } from 'node:fs/promises'; import { join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { promisify } from 'node:util'; -import type { KtxConfigIssue } from '@ktx/context/project'; +import type { KtxConfigIssue } from './context/project/index.js'; import { KTX_NEXT_STEP_DIRECT_COMMANDS } from './next-steps.js'; import type { BuildProjectStatusOptions } from './status-project.js'; @@ -593,7 +593,7 @@ export async function runKtxDoctor( renderMissingProjectMessage(args.projectDir, args.outputMode, io); return 1; } - const { validateKtxProjectConfig } = await import('@ktx/context/project'); + const { validateKtxProjectConfig } = await import('./context/project/index.js'); const rawConfig = await readFile(configPath, 'utf-8'); const validation = validateKtxProjectConfig(rawConfig); if (!validation.ok) { @@ -610,7 +610,7 @@ export async function runKtxDoctor( renderMissingProjectMessage(args.projectDir, args.outputMode, io); return 1; } - const { loadKtxProject, validateKtxProjectConfig } = await import('@ktx/context/project'); + const { loadKtxProject, validateKtxProjectConfig } = await import('./context/project/index.js'); const { buildProjectStatus, renderProjectStatus } = await import('./status-project.js'); const rawConfig = await readFile(configPath, 'utf-8'); const validation = validateKtxProjectConfig(rawConfig); diff --git a/packages/cli/src/embedding-resolution.test.ts b/packages/cli/src/embedding-resolution.test.ts index 210bd755..7163d88a 100644 --- a/packages/cli/src/embedding-resolution.test.ts +++ b/packages/cli/src/embedding-resolution.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest'; -import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from './context/project/index.js'; import { resolveProjectEmbeddingProvider } from './embedding-resolution.js'; import type { ManagedLocalEmbeddingsDaemon } from './managed-local-embeddings.js'; diff --git a/packages/cli/src/embedding-resolution.ts b/packages/cli/src/embedding-resolution.ts index 4b73d439..cb9b396c 100644 --- a/packages/cli/src/embedding-resolution.ts +++ b/packages/cli/src/embedding-resolution.ts @@ -2,8 +2,8 @@ import { type KtxEmbeddingProvider, createKtxEmbeddingProvider as defaultCreateKtxEmbeddingProvider, } from './llm/index.js'; -import type { KtxLocalProject, KtxProjectEmbeddingConfig } from '@ktx/context/project'; -import { resolveLocalKtxEmbeddingConfig } from '@ktx/context'; +import type { KtxLocalProject, KtxProjectEmbeddingConfig } from './context/project/index.js'; +import { resolveLocalKtxEmbeddingConfig } from './context/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { ensureManagedLocalEmbeddingsDaemon as defaultEnsureManagedDaemon, diff --git a/packages/cli/src/index.test.ts b/packages/cli/src/index.test.ts index cd5b3239..843a3010 100644 --- a/packages/cli/src/index.test.ts +++ b/packages/cli/src/index.test.ts @@ -2,7 +2,7 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises'; import { createRequire } from 'node:module'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject } from '@ktx/context/project'; +import { initKtxProject } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { @@ -45,11 +45,10 @@ function makeIo(options: { stdoutIsTty?: boolean } = {}) { } describe('getKtxCliPackageInfo', () => { - it('identifies the CLI package and its context dependency', () => { + it('identifies the CLI package', () => { expect(getKtxCliPackageInfo()).toEqual({ name: '@ktx/cli', version: cliVersion, - contextPackageName: '@ktx/context', }); }); @@ -72,7 +71,6 @@ describe('getKtxCliPackageInfo', () => { ).toEqual({ name: '@kaelio/ktx', version: '0.1.0', - contextPackageName: '@ktx/context', }); }); }); diff --git a/packages/cli/src/ingest-depth.ts b/packages/cli/src/ingest-depth.ts index f8e5d06e..940cf6bc 100644 --- a/packages/cli/src/ingest-depth.ts +++ b/packages/cli/src/ingest-depth.ts @@ -1,4 +1,4 @@ -import type { KtxProjectConfig, KtxProjectConnectionConfig } from '@ktx/context/project'; +import type { KtxProjectConfig, KtxProjectConnectionConfig } from './context/project/index.js'; export type KtxDatabaseContextDepth = 'fast' | 'deep'; diff --git a/packages/cli/src/ingest-query-executor.test.ts b/packages/cli/src/ingest-query-executor.test.ts index 343202a1..c1bd4b09 100644 --- a/packages/cli/src/ingest-query-executor.test.ts +++ b/packages/cli/src/ingest-query-executor.test.ts @@ -1,5 +1,5 @@ -import type { KtxLocalProject } from '@ktx/context/project'; -import { createKtxConnectorCapabilities, type KtxScanConnector } from '@ktx/context/scan'; +import type { KtxLocalProject } from './context/project/index.js'; +import { createKtxConnectorCapabilities, type KtxScanConnector } from './context/scan/index.js'; import { describe, expect, it, vi } from 'vitest'; import { createKtxCliIngestQueryExecutor } from './ingest-query-executor.js'; diff --git a/packages/cli/src/ingest-query-executor.ts b/packages/cli/src/ingest-query-executor.ts index 197119be..a8871806 100644 --- a/packages/cli/src/ingest-query-executor.ts +++ b/packages/cli/src/ingest-query-executor.ts @@ -1,6 +1,6 @@ -import type { KtxSqlQueryExecutionInput, KtxSqlQueryExecutorPort } from '@ktx/context/connections'; -import type { KtxLocalProject } from '@ktx/context/project'; -import type { KtxScanConnector, KtxScanContext } from '@ktx/context/scan'; +import type { KtxSqlQueryExecutionInput, KtxSqlQueryExecutorPort } from './context/connections/index.js'; +import type { KtxLocalProject } from './context/project/index.js'; +import type { KtxScanConnector, KtxScanContext } from './context/scan/index.js'; import { createKtxCliScanConnector } from './local-scan-connectors.js'; type CreateConnector = typeof createKtxCliScanConnector; diff --git a/packages/cli/src/ingest-report-file.ts b/packages/cli/src/ingest-report-file.ts index cd29706b..38162062 100644 --- a/packages/cli/src/ingest-report-file.ts +++ b/packages/cli/src/ingest-report-file.ts @@ -1,5 +1,5 @@ import { readFile } from 'node:fs/promises'; -import { parseIngestReportSnapshot, type IngestReportSnapshot } from '@ktx/context/ingest'; +import { parseIngestReportSnapshot, type IngestReportSnapshot } from './context/ingest/index.js'; export async function readIngestReportSnapshotFile(reportFile: string): Promise { const raw = await readFile(reportFile, 'utf-8'); diff --git a/packages/cli/src/ingest-viz.test.ts b/packages/cli/src/ingest-viz.test.ts index 7d790ab7..457b02e8 100644 --- a/packages/cli/src/ingest-viz.test.ts +++ b/packages/cli/src/ingest-viz.test.ts @@ -5,7 +5,7 @@ import { type LocalIngestResult, type MemoryFlowReplayInput, type RunLocalIngestOptions, -} from '@ktx/context/ingest'; +} from './context/ingest/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxIngest } from './ingest.js'; import { diff --git a/packages/cli/src/ingest.test-utils.ts b/packages/cli/src/ingest.test-utils.ts index d64dd7e1..949fcb67 100644 --- a/packages/cli/src/ingest.test-utils.ts +++ b/packages/cli/src/ingest.test-utils.ts @@ -1,7 +1,7 @@ import { EventEmitter } from 'node:events'; import { mkdir, writeFile } from 'node:fs/promises'; import { join } from 'node:path'; -import type { AgentRunnerPort, RunLoopParams } from '@ktx/context'; +import type { AgentRunnerPort, RunLoopParams } from './context/index.js'; import { KtxYamlMetabaseSourceStateReader, LocalMetabaseDiscoveryCache, @@ -22,8 +22,8 @@ import { type RunLocalIngestOptions, type SourceAdapter, type SqliteBundleIngestStore, -} from '@ktx/context/ingest'; -import { ktxLocalStateDbPath, loadKtxProject } from '@ktx/context/project'; +} from './context/ingest/index.js'; +import { ktxLocalStateDbPath, loadKtxProject } from './context/project/index.js'; import { expect, vi } from 'vitest'; import { runKtxIngest } from './ingest.js'; @@ -685,7 +685,7 @@ export function localFakeBundleReport( } export async function localBundleStore(projectDir: string, ids: [string, string]): Promise { - const { SqliteBundleIngestStore } = await import('@ktx/context/ingest'); + const { SqliteBundleIngestStore } = await import('./context/ingest/index.js'); const project = await loadKtxProject({ projectDir }); return new SqliteBundleIngestStore({ dbPath: ktxLocalStateDbPath(project), diff --git a/packages/cli/src/ingest.test.ts b/packages/cli/src/ingest.test.ts index 03f04d8e..9cf07459 100644 --- a/packages/cli/src/ingest.test.ts +++ b/packages/cli/src/ingest.test.ts @@ -8,8 +8,8 @@ import { type LocalMetabaseFanoutProgress, type RunLocalIngestOptions, type SourceAdapter, -} from '@ktx/context/ingest'; -import { initKtxProject, ktxLocalStateDbPath, loadKtxProject } from '@ktx/context/project'; +} from './context/ingest/index.js'; +import { initKtxProject, ktxLocalStateDbPath, loadKtxProject } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { type KtxIngestArgs, type KtxIngestDeps, runKtxIngest } from './ingest.js'; import type { KtxCliLocalIngestAdaptersOptions } from './local-adapters.js'; diff --git a/packages/cli/src/ingest.ts b/packages/cli/src/ingest.ts index b2b7bd0e..07417bfc 100644 --- a/packages/cli/src/ingest.ts +++ b/packages/cli/src/ingest.ts @@ -16,9 +16,9 @@ import { runLocalMetabaseIngest, savedMemoryCountsForReport, sanitizeMemoryFlowError, -} from '@ktx/context/ingest'; -import type { KtxSqlQueryExecutorPort } from '@ktx/context/connections'; -import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project'; +} from './context/ingest/index.js'; +import type { KtxSqlQueryExecutorPort } from './context/connections/index.js'; +import { loadKtxProject, type KtxLocalProject } from './context/project/index.js'; import { resolveProjectEmbeddingProvider } from './embedding-resolution.js'; import { createKtxCliIngestQueryExecutor } from './ingest-query-executor.js'; import { readIngestReportSnapshotFile } from './ingest-report-file.js'; diff --git a/packages/cli/src/knowledge.test.ts b/packages/cli/src/knowledge.test.ts index d1872221..1b19e82b 100644 --- a/packages/cli/src/knowledge.test.ts +++ b/packages/cli/src/knowledge.test.ts @@ -2,9 +2,9 @@ import { mkdtemp, rm } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { stripVTControlCharacters } from 'node:util'; -import { initKtxProject, loadKtxProject } from '@ktx/context/project'; -import type { KtxEmbeddingPort } from '@ktx/context'; -import { writeLocalKnowledgePage } from '@ktx/context/wiki'; +import { initKtxProject, loadKtxProject } from './context/project/index.js'; +import type { KtxEmbeddingPort } from './context/index.js'; +import { writeLocalKnowledgePage } from './context/wiki/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxKnowledge } from './knowledge.js'; diff --git a/packages/cli/src/knowledge.ts b/packages/cli/src/knowledge.ts index 07d68381..b8f5c65a 100644 --- a/packages/cli/src/knowledge.ts +++ b/packages/cli/src/knowledge.ts @@ -1,11 +1,11 @@ -import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from '@ktx/context'; -import { loadKtxProject } from '@ktx/context/project'; +import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from './context/index.js'; +import { loadKtxProject } from './context/project/index.js'; import { type LocalKnowledgeSearchResult, type LocalKnowledgeSummary, listLocalKnowledgePages, searchLocalKnowledgePages as defaultSearchLocalKnowledgePages, -} from '@ktx/context/wiki'; +} from './context/wiki/index.js'; import { resolveProjectEmbeddingProvider, type EmbeddingProviderResolution, diff --git a/packages/cli/src/llm/package-exports.test.ts b/packages/cli/src/llm/package-exports.test.ts deleted file mode 100644 index cf080325..00000000 --- a/packages/cli/src/llm/package-exports.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/llm package exports', () => { - it('exports the canonical LLM and embedding surfaces', async () => { - const llm = await import('./index.js'); - - expect(llm.KTX_MODEL_ROLES).toEqual([ - 'default', - 'triage', - 'candidateExtraction', - 'curator', - 'reconcile', - 'repair', - ]); - expect(llm.createKtxLlmProvider).toBeTypeOf('function'); - expect(llm.KtxMessageBuilder).toBeTypeOf('function'); - expect(llm.createKtxEmbeddingProvider).toBeTypeOf('function'); - }); -}); diff --git a/packages/cli/src/local-adapters.test.ts b/packages/cli/src/local-adapters.test.ts index e1b4b014..91f5d212 100644 --- a/packages/cli/src/local-adapters.test.ts +++ b/packages/cli/src/local-adapters.test.ts @@ -1,7 +1,7 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { loadKtxProject } from '@ktx/context/project'; +import { loadKtxProject } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it } from 'vitest'; import { createKtxCliLocalIngestAdapters } from './local-adapters.js'; diff --git a/packages/cli/src/local-adapters.ts b/packages/cli/src/local-adapters.ts index daa8f63b..cfcf5caa 100644 --- a/packages/cli/src/local-adapters.ts +++ b/packages/cli/src/local-adapters.ts @@ -3,17 +3,17 @@ import { isKtxBigQueryConnectionConfig, KtxBigQueryScanConnector, type KtxBigQueryConnectionConfig, -} from '@ktx/connector-bigquery'; -import { createClickHouseLiveDatabaseIntrospection, isKtxClickHouseConnectionConfig } from '@ktx/connector-clickhouse'; -import { createMysqlLiveDatabaseIntrospection, isKtxMysqlConnectionConfig } from '@ktx/connector-mysql'; +} from './connectors/bigquery/index.js'; +import { createClickHouseLiveDatabaseIntrospection, isKtxClickHouseConnectionConfig } from './connectors/clickhouse/index.js'; +import { createMysqlLiveDatabaseIntrospection, isKtxMysqlConnectionConfig } from './connectors/mysql/index.js'; import { createPostgresLiveDatabaseIntrospection, isKtxPostgresConnectionConfig, type KtxPostgresConnectionConfig, KtxPostgresHistoricSqlQueryClient, -} from '@ktx/connector-postgres'; -import { createSqliteLiveDatabaseIntrospection, isKtxSqliteConnectionConfig } from '@ktx/connector-sqlite'; -import { createSqlServerLiveDatabaseIntrospection, isKtxSqlServerConnectionConfig } from '@ktx/connector-sqlserver'; +} from './connectors/postgres/index.js'; +import { createSqliteLiveDatabaseIntrospection, isKtxSqliteConnectionConfig } from './connectors/sqlite/index.js'; +import { createSqlServerLiveDatabaseIntrospection, isKtxSqlServerConnectionConfig } from './connectors/sqlserver/index.js'; import { BigQueryHistoricSqlQueryHistoryReader, createDaemonLiveDatabaseIntrospection, @@ -25,9 +25,9 @@ import { PostgresPgssReader, SnowflakeHistoricSqlQueryHistoryReader, type SourceAdapter, -} from '@ktx/context/ingest'; -import type { KtxLocalProject } from '@ktx/context/project'; -import { createHttpSqlAnalysisPort, type SqlAnalysisPort } from '@ktx/context/sql-analysis'; +} from './context/ingest/index.js'; +import type { KtxLocalProject } from './context/project/index.js'; +import { createHttpSqlAnalysisPort, type SqlAnalysisPort } from './context/sql-analysis/index.js'; import { createManagedDaemonLookerTableIdentifierParser, createManagedDaemonSqlAnalysisPort, @@ -44,7 +44,7 @@ function hasSnowflakeDriver(connection: unknown): boolean { ); } -type SnowflakeConnectorModule = typeof import('@ktx/connector-snowflake'); +type SnowflakeConnectorModule = typeof import('./connectors/snowflake/index.js'); function ktxCliDaemonDatabaseIntrospectionOptions( options: KtxCliLocalIngestAdaptersOptions, @@ -142,7 +142,7 @@ function createKtxCliLiveDatabaseIntrospection( } if (hasSnowflakeDriver(connection)) { const { createSnowflakeLiveDatabaseIntrospection, isKtxSnowflakeConnectionConfig } = await import( - '@ktx/connector-snowflake' + './connectors/snowflake/index.js' ); if (!isKtxSnowflakeConnectionConfig(connection)) { return daemon.extractSchema(connectionId); @@ -342,7 +342,7 @@ function historicSqlOptionsForLocalRun(project: KtxLocalProject, options: KtxCli reader: new SnowflakeHistoricSqlQueryHistoryReader() satisfies HistoricSqlReader, queryClient: { async executeQuery(query: string) { - const connectorModule = await import('@ktx/connector-snowflake'); + const connectorModule = await import('./connectors/snowflake/index.js'); const client = await createEphemeralSnowflakeHistoricSqlClient(project, connectionId, connectorModule); return client.executeQuery(query); }, diff --git a/packages/cli/src/local-scan-connectors.test.ts b/packages/cli/src/local-scan-connectors.test.ts index b9672bfa..9426609d 100644 --- a/packages/cli/src/local-scan-connectors.test.ts +++ b/packages/cli/src/local-scan-connectors.test.ts @@ -1,7 +1,7 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject, loadKtxProject } from '@ktx/context/project'; +import { initKtxProject, loadKtxProject } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { createKtxCliScanConnector } from './local-scan-connectors.js'; @@ -12,7 +12,7 @@ const bigQueryMock = vi.hoisted(() => ({ }>, })); -vi.mock('@ktx/connector-bigquery', () => ({ +vi.mock('./connectors/bigquery/index.js', () => ({ isKtxBigQueryConnectionConfig: (connection: { driver?: unknown } | undefined) => String(connection?.driver ?? '').toLowerCase() === 'bigquery', KtxBigQueryScanConnector: class { diff --git a/packages/cli/src/local-scan-connectors.ts b/packages/cli/src/local-scan-connectors.ts index 885ee5a7..a808d8e2 100644 --- a/packages/cli/src/local-scan-connectors.ts +++ b/packages/cli/src/local-scan-connectors.ts @@ -1,5 +1,5 @@ -import type { KtxLocalProject } from '@ktx/context/project'; -import type { KtxScanConnector } from '@ktx/context/scan'; +import type { KtxLocalProject } from './context/project/index.js'; +import type { KtxScanConnector } from './context/scan/index.js'; const SUPPORTED_DRIVERS = 'sqlite, postgres, mysql, clickhouse, sqlserver, bigquery, snowflake'; @@ -18,49 +18,49 @@ export async function createKtxCliScanConnector( ); } if (driver === 'sqlite' || driver === 'sqlite3') { - const { KtxSqliteScanConnector, isKtxSqliteConnectionConfig } = await import('@ktx/connector-sqlite'); + const { KtxSqliteScanConnector, isKtxSqliteConnectionConfig } = await import('./connectors/sqlite/index.js'); if (!isKtxSqliteConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxSqliteScanConnector({ connectionId, connection, projectDir: project.projectDir }); } if (driver === 'postgres' || driver === 'postgresql') { - const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('@ktx/connector-postgres'); + const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('./connectors/postgres/index.js'); if (!isKtxPostgresConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxPostgresScanConnector({ connectionId, connection }); } if (driver === 'mysql') { - const { KtxMysqlScanConnector, isKtxMysqlConnectionConfig } = await import('@ktx/connector-mysql'); + const { KtxMysqlScanConnector, isKtxMysqlConnectionConfig } = await import('./connectors/mysql/index.js'); if (!isKtxMysqlConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxMysqlScanConnector({ connectionId, connection }); } if (driver === 'clickhouse') { - const { KtxClickHouseScanConnector, isKtxClickHouseConnectionConfig } = await import('@ktx/connector-clickhouse'); + const { KtxClickHouseScanConnector, isKtxClickHouseConnectionConfig } = await import('./connectors/clickhouse/index.js'); if (!isKtxClickHouseConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxClickHouseScanConnector({ connectionId, connection }); } if (driver === 'sqlserver') { - const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('@ktx/connector-sqlserver'); + const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('./connectors/sqlserver/index.js'); if (!isKtxSqlServerConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxSqlServerScanConnector({ connectionId, connection }); } if (driver === 'bigquery') { - const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('@ktx/connector-bigquery'); + const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('./connectors/bigquery/index.js'); if (!isKtxBigQueryConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } return new KtxBigQueryScanConnector({ connectionId, connection }); } if (driver === 'snowflake') { - const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('@ktx/connector-snowflake'); + const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('./connectors/snowflake/index.js'); if (!isKtxSnowflakeConnectionConfig(connection)) { throw invalidConnectionConfigError(connectionId, driver); } diff --git a/packages/cli/src/managed-python-command.ts b/packages/cli/src/managed-python-command.ts index 83953602..014e65bc 100644 --- a/packages/cli/src/managed-python-command.ts +++ b/packages/cli/src/managed-python-command.ts @@ -1,4 +1,4 @@ -import { createPythonSemanticLayerComputePort, type KtxSemanticLayerComputePort } from '@ktx/context/daemon'; +import { createPythonSemanticLayerComputePort, type KtxSemanticLayerComputePort } from './context/daemon/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { createClackPromptAdapter, createStaticCliSpinner, type KtxCliSpinner } from './clack.js'; import { diff --git a/packages/cli/src/managed-python-http.ts b/packages/cli/src/managed-python-http.ts index e45caabb..73e9f73e 100644 --- a/packages/cli/src/managed-python-http.ts +++ b/packages/cli/src/managed-python-http.ts @@ -7,12 +7,12 @@ import { type KtxDaemonDatabaseHttpJsonRunner, type KtxDaemonTableIdentifierHttpJsonRunner, type LookerTableIdentifierParser, -} from '@ktx/context/ingest'; +} from './context/ingest/index.js'; import { createHttpSqlAnalysisPort, type KtxSqlAnalysisHttpJsonRunner, type SqlAnalysisPort, -} from '@ktx/context/sql-analysis'; +} from './context/sql-analysis/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { ensureManagedPythonCommandRuntime, diff --git a/packages/cli/src/mcp-http-server.ts b/packages/cli/src/mcp-http-server.ts index 0d4607f0..a81c9b0b 100644 --- a/packages/cli/src/mcp-http-server.ts +++ b/packages/cli/src/mcp-http-server.ts @@ -1,6 +1,6 @@ import { randomUUID } from 'node:crypto'; import { createServer, type IncomingHttpHeaders, type IncomingMessage, type Server, type ServerResponse } from 'node:http'; -import { loadKtxProject } from '@ktx/context/project'; +import { loadKtxProject } from './context/project/index.js'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js'; diff --git a/packages/cli/src/mcp-server-factory.ts b/packages/cli/src/mcp-server-factory.ts index 792f6bb9..ac627214 100644 --- a/packages/cli/src/mcp-server-factory.ts +++ b/packages/cli/src/mcp-server-factory.ts @@ -1,7 +1,7 @@ -import { KtxIngestEmbeddingPortAdapter } from '@ktx/context'; -import { createDefaultKtxMcpServer, createLocalProjectMcpContextPorts } from '@ktx/context/mcp'; -import { createLocalProjectMemoryIngest } from '@ktx/context/memory'; -import type { KtxLocalProject } from '@ktx/context/project'; +import { KtxIngestEmbeddingPortAdapter } from './context/index.js'; +import { createDefaultKtxMcpServer, createLocalProjectMcpContextPorts } from './context/mcp/index.js'; +import { createLocalProjectMemoryIngest } from './context/memory/index.js'; +import type { KtxLocalProject } from './context/project/index.js'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import type { KtxCliIo } from './cli-runtime.js'; import { resolveProjectEmbeddingProvider } from './embedding-resolution.js'; diff --git a/packages/cli/src/mcp-stdio-server.ts b/packages/cli/src/mcp-stdio-server.ts index 6a7cc996..a497dc70 100644 --- a/packages/cli/src/mcp-stdio-server.ts +++ b/packages/cli/src/mcp-stdio-server.ts @@ -1,6 +1,6 @@ import process from 'node:process'; import type { Readable, Writable } from 'node:stream'; -import { loadKtxProject } from '@ktx/context/project'; +import { loadKtxProject } from './context/project/index.js'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import type { KtxCliIo } from './cli-runtime.js'; diff --git a/packages/cli/src/memory-flow-hud.tsx b/packages/cli/src/memory-flow-hud.tsx index 9a9b3d96..28686439 100644 --- a/packages/cli/src/memory-flow-hud.tsx +++ b/packages/cli/src/memory-flow-hud.tsx @@ -1,5 +1,5 @@ /* @jsxImportSource react */ -import type { MemoryFlowEvent, MemoryFlowReplayInput } from '@ktx/context/ingest/memory-flow'; +import type { MemoryFlowEvent, MemoryFlowReplayInput } from './context/ingest/memory-flow/index.js'; import { Box, Text } from 'ink'; import { type ReactNode } from 'react'; import { buildDemoMetrics, formatCost, formatDuration } from './demo-metrics.js'; diff --git a/packages/cli/src/memory-flow-interactive.test.ts b/packages/cli/src/memory-flow-interactive.test.ts index d7fe8bd8..5a08ac65 100644 --- a/packages/cli/src/memory-flow-interactive.test.ts +++ b/packages/cli/src/memory-flow-interactive.test.ts @@ -1,5 +1,5 @@ import { EventEmitter } from 'node:events'; -import type { MemoryFlowReplayInput } from '@ktx/context/ingest'; +import type { MemoryFlowReplayInput } from './context/ingest/index.js'; import { describe, expect, it, vi } from 'vitest'; import { memoryFlowCommandForKey, renderMemoryFlowInteractively } from './memory-flow-interactive.js'; diff --git a/packages/cli/src/memory-flow-interactive.ts b/packages/cli/src/memory-flow-interactive.ts index 7998a978..299138fb 100644 --- a/packages/cli/src/memory-flow-interactive.ts +++ b/packages/cli/src/memory-flow-interactive.ts @@ -7,7 +7,7 @@ import { type MemoryFlowInteractionCommand, type MemoryFlowInteractionState, type MemoryFlowReplayInput, -} from '@ktx/context/ingest'; +} from './context/ingest/index.js'; interface KtxMemoryFlowKey { name?: string; diff --git a/packages/cli/src/memory-flow-tui.test.tsx b/packages/cli/src/memory-flow-tui.test.tsx index 405fa18c..dd17da1e 100644 --- a/packages/cli/src/memory-flow-tui.test.tsx +++ b/packages/cli/src/memory-flow-tui.test.tsx @@ -1,5 +1,5 @@ /* @jsxImportSource react */ -import type { MemoryFlowReplayInput } from '@ktx/context/ingest'; +import type { MemoryFlowReplayInput } from './context/ingest/index.js'; import { render as renderInkTest } from 'ink-testing-library'; import React, { type ReactNode } from 'react'; import { describe, expect, it, vi } from 'vitest'; diff --git a/packages/cli/src/memory-flow-tui.tsx b/packages/cli/src/memory-flow-tui.tsx index 37b9f2af..f117b605 100644 --- a/packages/cli/src/memory-flow-tui.tsx +++ b/packages/cli/src/memory-flow-tui.tsx @@ -11,7 +11,7 @@ import { reduceMemoryFlowInteractionState, selectedMemoryFlowColumn, selectedMemoryFlowDetails, -} from '@ktx/context/ingest'; +} from './context/ingest/index.js'; import { Box, Text, render as renderInkRuntime, useApp, useInput } from 'ink'; import { type ReactNode, useEffect, useMemo, useRef, useState } from 'react'; import { diff --git a/packages/cli/src/notion-page-picker.ts b/packages/cli/src/notion-page-picker.ts index 26e561f5..79739710 100644 --- a/packages/cli/src/notion-page-picker.ts +++ b/packages/cli/src/notion-page-picker.ts @@ -1,6 +1,6 @@ -import { resolveNotionConnectionAuthToken } from '@ktx/context/connections'; -import { type NotionApi, type NotionBotInfo, NotionClient } from '@ktx/context/ingest'; -import type { KtxProjectConnectionConfig } from '@ktx/context/project'; +import { resolveNotionConnectionAuthToken } from './context/connections/index.js'; +import { type NotionApi, type NotionBotInfo, NotionClient } from './context/ingest/index.js'; +import type { KtxProjectConnectionConfig } from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { profileMark } from './startup-profile.js'; import { diff --git a/packages/cli/src/print-command-tree.ts b/packages/cli/src/print-command-tree.ts index be643546..7a2c9d83 100644 --- a/packages/cli/src/print-command-tree.ts +++ b/packages/cli/src/print-command-tree.ts @@ -14,7 +14,6 @@ function stubPackageInfo(): KtxCliPackageInfo { return { name: '@ktx/cli', version: '0.0.0-docs', - contextPackageName: '@ktx/context', }; } diff --git a/packages/context/prompts/memory_agent_backfill.md b/packages/cli/src/prompts/memory_agent_backfill.md similarity index 100% rename from packages/context/prompts/memory_agent_backfill.md rename to packages/cli/src/prompts/memory_agent_backfill.md diff --git a/packages/context/prompts/memory_agent_bundle_ingest_reconcile.md b/packages/cli/src/prompts/memory_agent_bundle_ingest_reconcile.md similarity index 100% rename from packages/context/prompts/memory_agent_bundle_ingest_reconcile.md rename to packages/cli/src/prompts/memory_agent_bundle_ingest_reconcile.md diff --git a/packages/context/prompts/memory_agent_bundle_ingest_work_unit.md b/packages/cli/src/prompts/memory_agent_bundle_ingest_work_unit.md similarity index 100% rename from packages/context/prompts/memory_agent_bundle_ingest_work_unit.md rename to packages/cli/src/prompts/memory_agent_bundle_ingest_work_unit.md diff --git a/packages/context/prompts/memory_agent_external_ingest.md b/packages/cli/src/prompts/memory_agent_external_ingest.md similarity index 100% rename from packages/context/prompts/memory_agent_external_ingest.md rename to packages/cli/src/prompts/memory_agent_external_ingest.md diff --git a/packages/context/prompts/memory_agent_research.md b/packages/cli/src/prompts/memory_agent_research.md similarity index 100% rename from packages/context/prompts/memory_agent_research.md rename to packages/cli/src/prompts/memory_agent_research.md diff --git a/packages/context/prompts/skills/light_extraction.md b/packages/cli/src/prompts/skills/light_extraction.md similarity index 100% rename from packages/context/prompts/skills/light_extraction.md rename to packages/cli/src/prompts/skills/light_extraction.md diff --git a/packages/context/prompts/skills/page_triage_classifier.md b/packages/cli/src/prompts/skills/page_triage_classifier.md similarity index 100% rename from packages/context/prompts/skills/page_triage_classifier.md rename to packages/cli/src/prompts/skills/page_triage_classifier.md diff --git a/packages/cli/src/public-ingest.test.ts b/packages/cli/src/public-ingest.test.ts index 47b80074..a989986f 100644 --- a/packages/cli/src/public-ingest.test.ts +++ b/packages/cli/src/public-ingest.test.ts @@ -1,4 +1,4 @@ -import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from './context/project/index.js'; import { describe, expect, it, vi } from 'vitest'; import { buildPublicIngestPlan, diff --git a/packages/cli/src/public-ingest.ts b/packages/cli/src/public-ingest.ts index eb5a47fd..7a9b6ace 100644 --- a/packages/cli/src/public-ingest.ts +++ b/packages/cli/src/public-ingest.ts @@ -1,5 +1,5 @@ -import { loadKtxProject, type KtxLocalProject, type KtxProjectConnectionConfig } from '@ktx/context/project'; -import type { KtxProgressPort } from '@ktx/context/scan'; +import { loadKtxProject, type KtxLocalProject, type KtxProjectConnectionConfig } from './context/project/index.js'; +import type { KtxProgressPort } from './context/scan/index.js'; import type { KtxCliIo } from './index.js'; import type { KtxIngestArgs, KtxIngestDeps, KtxIngestProgressUpdate } from './ingest.js'; import { diff --git a/packages/cli/src/runtime-requirements.test.ts b/packages/cli/src/runtime-requirements.test.ts index 2d86ed89..8681ed64 100644 --- a/packages/cli/src/runtime-requirements.test.ts +++ b/packages/cli/src/runtime-requirements.test.ts @@ -1,4 +1,4 @@ -import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxProjectConfig } from './context/project/index.js'; import { describe, expect, it } from 'vitest'; import { resolveProjectRuntimeRequirements, diff --git a/packages/cli/src/runtime-requirements.ts b/packages/cli/src/runtime-requirements.ts index ca95e12e..b6751394 100644 --- a/packages/cli/src/runtime-requirements.ts +++ b/packages/cli/src/runtime-requirements.ts @@ -2,7 +2,7 @@ import type { KtxProjectConfig, KtxProjectConnectionConfig, KtxProjectEmbeddingConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxRuntimeFeature } from './managed-python-runtime.js'; import type { KtxPublicIngestPlan } from './public-ingest.js'; diff --git a/packages/cli/src/scan.test.ts b/packages/cli/src/scan.test.ts index 9863be12..13b07920 100644 --- a/packages/cli/src/scan.test.ts +++ b/packages/cli/src/scan.test.ts @@ -1,13 +1,13 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import type { SourceAdapter } from '@ktx/context/ingest'; -import { initKtxProject } from '@ktx/context/project'; +import type { SourceAdapter } from './context/ingest/index.js'; +import { initKtxProject } from './context/project/index.js'; import type { KtxScanReport, LocalScanRunResult, RunLocalScanOptions, -} from '@ktx/context/scan'; +} from './context/scan/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { createCliScanProgress, runKtxScan, type KtxScanDeps } from './scan.js'; @@ -138,25 +138,25 @@ const KtxPostgresScanConnector = vi.hoisted( }, ); -vi.mock('@ktx/connector-sqlserver', () => ({ +vi.mock('./connectors/sqlserver/index.js', () => ({ createSqlServerLiveDatabaseIntrospection, isKtxSqlServerConnectionConfig, KtxSqlServerScanConnector, })); -vi.mock('@ktx/connector-bigquery', () => ({ +vi.mock('./connectors/bigquery/index.js', () => ({ createBigQueryLiveDatabaseIntrospection, isKtxBigQueryConnectionConfig, KtxBigQueryScanConnector, })); -vi.mock('@ktx/connector-snowflake', () => ({ +vi.mock('./connectors/snowflake/index.js', () => ({ createSnowflakeLiveDatabaseIntrospection, isKtxSnowflakeConnectionConfig, KtxSnowflakeScanConnector, })); -vi.mock('@ktx/connector-postgres', () => ({ +vi.mock('./connectors/postgres/index.js', () => ({ createPostgresLiveDatabaseIntrospection, isKtxPostgresConnectionConfig, KtxPostgresScanConnector, diff --git a/packages/cli/src/scan.ts b/packages/cli/src/scan.ts index 9583d3bf..3eb13a25 100644 --- a/packages/cli/src/scan.ts +++ b/packages/cli/src/scan.ts @@ -4,8 +4,8 @@ import { type KtxScanReport, type KtxScanWarning, runLocalScan, -} from '@ktx/context/scan'; -import { loadKtxProject } from '@ktx/context/project'; +} from './context/scan/index.js'; +import { loadKtxProject } from './context/project/index.js'; import { resolveProjectEmbeddingProvider } from './embedding-resolution.js'; import type { KtxCliIo } from './index.js'; import { createKtxCliLocalIngestAdapters } from './local-adapters.js'; diff --git a/packages/cli/src/setup-agents.test.ts b/packages/cli/src/setup-agents.test.ts index e6ca39ed..a09ba66b 100644 --- a/packages/cli/src/setup-agents.test.ts +++ b/packages/cli/src/setup-agents.test.ts @@ -1,7 +1,7 @@ import { mkdir, mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { readKtxSetupState } from '@ktx/context/project'; +import { readKtxSetupState } from './context/project/index.js'; import { strFromU8, unzipSync } from 'fflate'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { diff --git a/packages/cli/src/setup-agents.ts b/packages/cli/src/setup-agents.ts index ecac2917..24ee115a 100644 --- a/packages/cli/src/setup-agents.ts +++ b/packages/cli/src/setup-agents.ts @@ -9,7 +9,7 @@ import { loadKtxProject, markKtxSetupStateStepComplete, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { strToU8, zipSync } from 'fflate'; import type { KtxCliIo } from './cli-runtime.js'; import { diff --git a/packages/cli/src/setup-context.test.ts b/packages/cli/src/setup-context.test.ts index cb6581a8..3ea49414 100644 --- a/packages/cli/src/setup-context.test.ts +++ b/packages/cli/src/setup-context.test.ts @@ -8,7 +8,7 @@ import { serializeKtxProjectConfig, type KtxProjectConfig, writeKtxSetupState, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { diff --git a/packages/cli/src/setup-context.ts b/packages/cli/src/setup-context.ts index 476a11e0..820676d0 100644 --- a/packages/cli/src/setup-context.ts +++ b/packages/cli/src/setup-context.ts @@ -7,7 +7,7 @@ import { markKtxSetupStateStepComplete, readKtxSetupState, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { buildPublicIngestPlan } from './public-ingest.js'; import { diff --git a/packages/cli/src/setup-database-context-depth.ts b/packages/cli/src/setup-database-context-depth.ts index 39e75f71..d62363a6 100644 --- a/packages/cli/src/setup-database-context-depth.ts +++ b/packages/cli/src/setup-database-context-depth.ts @@ -4,7 +4,7 @@ import { type KtxProjectConnectionConfig, loadKtxProject, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { type KtxDatabaseContextDepth, databaseContextDepth, diff --git a/packages/cli/src/setup-databases.test.ts b/packages/cli/src/setup-databases.test.ts index 86a73fa3..2ca77bee 100644 --- a/packages/cli/src/setup-databases.test.ts +++ b/packages/cli/src/setup-databases.test.ts @@ -1,7 +1,7 @@ import { mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join, resolve } from 'node:path'; -import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from '@ktx/context/project'; +import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { type KtxSetupDatabaseDriver, diff --git a/packages/cli/src/setup-databases.ts b/packages/cli/src/setup-databases.ts index 1d41b4da..99701c00 100644 --- a/packages/cli/src/setup-databases.ts +++ b/packages/cli/src/setup-databases.ts @@ -3,15 +3,15 @@ import { readFile, writeFile } from 'node:fs/promises'; import { delimiter, dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; import { promisify } from 'node:util'; -import type { HistoricSqlDialect } from '@ktx/context/ingest'; +import type { HistoricSqlDialect } from './context/ingest/index.js'; import { type KtxProjectConnectionConfig, loadKtxProject, markKtxSetupStateStepComplete, serializeKtxProjectConfig, setKtxSetupDatabaseConnectionIds, -} from '@ktx/context/project'; -import type { KtxTableListEntry } from '@ktx/context/scan'; +} from './context/project/index.js'; +import type { KtxTableListEntry } from './context/scan/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { runKtxConnection } from './connection.js'; import { @@ -328,7 +328,7 @@ async function defaultHistoricSqlProbe(input: KtxSetupHistoricSqlProbeInput): Pr const project = await loadKtxProject({ projectDir: input.projectDir }); const connection = project.config.connections[input.connectionId]; const [{ PostgresPgssReader }, { KtxPostgresHistoricSqlQueryClient, isKtxPostgresConnectionConfig }] = - await Promise.all([import('@ktx/context/ingest'), import('@ktx/connector-postgres')]); + await Promise.all([import('./context/ingest/index.js'), import('./connectors/postgres/index.js')]); const postgresConnection = connection as Parameters[0]; if (!isKtxPostgresConnectionConfig(postgresConnection)) { @@ -364,7 +364,7 @@ async function defaultListSchemas(projectDir: string, connectionId: string): Pro const driver = normalizeDriver(connection?.driver); if (driver === 'postgres') { - const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('@ktx/connector-postgres'); + const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('./connectors/postgres/index.js'); if (!isKtxPostgresConnectionConfig(connection)) return []; const connector = new KtxPostgresScanConnector({ connectionId, connection }); try { @@ -375,7 +375,7 @@ async function defaultListSchemas(projectDir: string, connectionId: string): Pro } if (driver === 'sqlserver') { - const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('@ktx/connector-sqlserver'); + const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('./connectors/sqlserver/index.js'); if (!isKtxSqlServerConnectionConfig(connection)) return []; const connector = new KtxSqlServerScanConnector({ connectionId, connection }); try { @@ -386,7 +386,7 @@ async function defaultListSchemas(projectDir: string, connectionId: string): Pro } if (driver === 'bigquery') { - const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('@ktx/connector-bigquery'); + const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('./connectors/bigquery/index.js'); if (!isKtxBigQueryConnectionConfig(connection)) return []; const connector = new KtxBigQueryScanConnector({ connectionId, connection }); try { @@ -397,7 +397,7 @@ async function defaultListSchemas(projectDir: string, connectionId: string): Pro } if (driver === 'snowflake') { - const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('@ktx/connector-snowflake'); + const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('./connectors/snowflake/index.js'); if (!isKtxSnowflakeConnectionConfig(connection)) return []; const connector = new KtxSnowflakeScanConnector({ connectionId, connection }); try { @@ -429,7 +429,7 @@ async function defaultListTables( const schemas = schemasOverride ?? (driver ? configuredSchemas(connection, driver) : undefined); if (driver === 'postgres') { - const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('@ktx/connector-postgres'); + const { KtxPostgresScanConnector, isKtxPostgresConnectionConfig } = await import('./connectors/postgres/index.js'); if (!isKtxPostgresConnectionConfig(connection)) return []; const connector = new KtxPostgresScanConnector({ connectionId, connection }); try { @@ -440,7 +440,7 @@ async function defaultListTables( } if (driver === 'mysql') { - const { KtxMysqlScanConnector, isKtxMysqlConnectionConfig } = await import('@ktx/connector-mysql'); + const { KtxMysqlScanConnector, isKtxMysqlConnectionConfig } = await import('./connectors/mysql/index.js'); if (!isKtxMysqlConnectionConfig(connection)) return []; const connector = new KtxMysqlScanConnector({ connectionId, connection }); try { @@ -451,7 +451,7 @@ async function defaultListTables( } if (driver === 'sqlserver') { - const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('@ktx/connector-sqlserver'); + const { KtxSqlServerScanConnector, isKtxSqlServerConnectionConfig } = await import('./connectors/sqlserver/index.js'); if (!isKtxSqlServerConnectionConfig(connection)) return []; const connector = new KtxSqlServerScanConnector({ connectionId, connection }); try { @@ -462,7 +462,7 @@ async function defaultListTables( } if (driver === 'bigquery') { - const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('@ktx/connector-bigquery'); + const { KtxBigQueryScanConnector, isKtxBigQueryConnectionConfig } = await import('./connectors/bigquery/index.js'); if (!isKtxBigQueryConnectionConfig(connection)) return []; const connector = new KtxBigQueryScanConnector({ connectionId, connection }); try { @@ -473,7 +473,7 @@ async function defaultListTables( } if (driver === 'snowflake') { - const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('@ktx/connector-snowflake'); + const { KtxSnowflakeScanConnector, isKtxSnowflakeConnectionConfig } = await import('./connectors/snowflake/index.js'); if (!isKtxSnowflakeConnectionConfig(connection)) return []; const connector = new KtxSnowflakeScanConnector({ connectionId, connection }); try { @@ -484,7 +484,7 @@ async function defaultListTables( } if (driver === 'clickhouse') { - const { KtxClickHouseScanConnector, isKtxClickHouseConnectionConfig } = await import('@ktx/connector-clickhouse'); + const { KtxClickHouseScanConnector, isKtxClickHouseConnectionConfig } = await import('./connectors/clickhouse/index.js'); if (!isKtxClickHouseConnectionConfig(connection)) return []; const connector = new KtxClickHouseScanConnector({ connectionId, connection }); try { diff --git a/packages/cli/src/setup-embeddings.test.ts b/packages/cli/src/setup-embeddings.test.ts index 2fd6c541..25ba81c3 100644 --- a/packages/cli/src/setup-embeddings.test.ts +++ b/packages/cli/src/setup-embeddings.test.ts @@ -1,7 +1,7 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from '@ktx/context/project'; +import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { type KtxSetupEmbeddingsPromptAdapter, runKtxSetupEmbeddingsStep } from './setup-embeddings.js'; diff --git a/packages/cli/src/setup-embeddings.ts b/packages/cli/src/setup-embeddings.ts index 2c1be936..f53ebe16 100644 --- a/packages/cli/src/setup-embeddings.ts +++ b/packages/cli/src/setup-embeddings.ts @@ -1,5 +1,5 @@ import { readFile, writeFile } from 'node:fs/promises'; -import { resolveKtxConfigReference } from '@ktx/context/core'; +import { resolveKtxConfigReference } from './context/core/index.js'; import { type KtxProjectConfig, type KtxProjectEmbeddingConfig, @@ -7,7 +7,7 @@ import { markKtxSetupStateStepComplete, readKtxSetupState, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { type KtxEmbeddingConfig, type KtxEmbeddingHealthCheckResult, runKtxEmbeddingHealthCheck } from './llm/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { createStaticCliSpinner, type KtxCliSpinner } from './clack.js'; diff --git a/packages/cli/src/setup-models.test.ts b/packages/cli/src/setup-models.test.ts index 82fc9461..04e96b7a 100644 --- a/packages/cli/src/setup-models.test.ts +++ b/packages/cli/src/setup-models.test.ts @@ -1,7 +1,7 @@ import { mkdir, mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from '@ktx/context/project'; +import { initKtxProject, parseKtxProjectConfig, readKtxSetupState, writeKtxSetupState } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { BUNDLED_ANTHROPIC_MODELS, diff --git a/packages/cli/src/setup-models.ts b/packages/cli/src/setup-models.ts index b83bbcd5..e4d59b45 100644 --- a/packages/cli/src/setup-models.ts +++ b/packages/cli/src/setup-models.ts @@ -1,15 +1,15 @@ import { execFile } from 'node:child_process'; import { writeFile } from 'node:fs/promises'; import { promisify } from 'node:util'; -import { resolveLocalKtxLlmConfig, runClaudeCodeAuthProbe } from '@ktx/context'; -import { resolveKtxConfigReference } from '@ktx/context/core'; +import { resolveLocalKtxLlmConfig, runClaudeCodeAuthProbe } from './context/index.js'; +import { resolveKtxConfigReference } from './context/core/index.js'; import { type KtxProjectConfig, type KtxProjectLlmConfig, loadKtxProject, markKtxSetupStateStepComplete, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { type KtxLlmConfig, type KtxLlmHealthCheckResult, runKtxLlmHealthCheck } from './llm/index.js'; import { formatClaudeCodePromptCachingWarning, diff --git a/packages/cli/src/setup-project.test.ts b/packages/cli/src/setup-project.test.ts index 14cf18f7..9c64b456 100644 --- a/packages/cli/src/setup-project.test.ts +++ b/packages/cli/src/setup-project.test.ts @@ -1,7 +1,7 @@ import { mkdir, mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject, parseKtxProjectConfig, readKtxSetupState } from '@ktx/context/project'; +import { initKtxProject, parseKtxProjectConfig, readKtxSetupState } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { gray } from './io/symbols.js'; import { type KtxSetupProjectPromptAdapter, runKtxSetupProjectStep } from './setup-project.js'; diff --git a/packages/cli/src/setup-project.ts b/packages/cli/src/setup-project.ts index 04bd54f5..d093b04d 100644 --- a/packages/cli/src/setup-project.ts +++ b/packages/cli/src/setup-project.ts @@ -9,7 +9,7 @@ import { markKtxSetupStateStepComplete, mergeKtxSetupGitignoreEntries, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { gray } from './io/symbols.js'; import { withTextInputNavigation } from './prompt-navigation.js'; diff --git a/packages/cli/src/setup-runtime.test.ts b/packages/cli/src/setup-runtime.test.ts index 32342702..0f2925fa 100644 --- a/packages/cli/src/setup-runtime.test.ts +++ b/packages/cli/src/setup-runtime.test.ts @@ -1,7 +1,7 @@ import { mkdtemp, rm } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { buildDefaultKtxProjectConfig, readKtxSetupState, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, readKtxSetupState, type KtxProjectConfig } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxSetupRuntimeStep } from './setup-runtime.js'; diff --git a/packages/cli/src/setup-runtime.ts b/packages/cli/src/setup-runtime.ts index cedcd3d0..f631c457 100644 --- a/packages/cli/src/setup-runtime.ts +++ b/packages/cli/src/setup-runtime.ts @@ -2,7 +2,7 @@ import { loadKtxProject, markKtxSetupStateStepComplete, type KtxLocalProject, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { ensureManagedLocalEmbeddingsDaemon, diff --git a/packages/cli/src/setup-sources-notion.test.ts b/packages/cli/src/setup-sources-notion.test.ts index b85eefff..a12eba49 100644 --- a/packages/cli/src/setup-sources-notion.test.ts +++ b/packages/cli/src/setup-sources-notion.test.ts @@ -6,7 +6,7 @@ import { type KtxProjectConnectionConfig, parseKtxProjectConfig, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxSetupSourcesStep, @@ -19,8 +19,8 @@ const notionMocks = vi.hoisted(() => ({ retrievePage: vi.fn(async () => ({ id: 'page-1' })), })); -vi.mock('@ktx/context/ingest', async (importOriginal) => { - const actual = await importOriginal(); +vi.mock('./context/ingest/index.js', async (importOriginal) => { + const actual = await importOriginal(); return { ...actual, NotionClient: vi.fn().mockImplementation(function NotionClient(token: string) { diff --git a/packages/cli/src/setup-sources.test.ts b/packages/cli/src/setup-sources.test.ts index bfcb54bc..7ab345c7 100644 --- a/packages/cli/src/setup-sources.test.ts +++ b/packages/cli/src/setup-sources.test.ts @@ -7,7 +7,7 @@ import { parseKtxProjectConfig, readKtxSetupState, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import type { KtxCliIo } from './cli-runtime.js'; import { diff --git a/packages/cli/src/setup-sources.ts b/packages/cli/src/setup-sources.ts index 164ec2e8..92f5a51c 100644 --- a/packages/cli/src/setup-sources.ts +++ b/packages/cli/src/setup-sources.ts @@ -5,8 +5,8 @@ import { fileURLToPath, pathToFileURL } from 'node:url'; import { localConnectionTypeForConfig, resolveNotionConnectionAuthToken, -} from '@ktx/context/connections'; -import { resolveKtxConfigReference } from '@ktx/context/core'; +} from './context/connections/index.js'; +import { resolveKtxConfigReference } from './context/core/index.js'; import { cloneOrPull, DEFAULT_METABASE_CLIENT_CONFIG, @@ -20,14 +20,14 @@ import { parseLookmlStagedDir, parseMetricflowFiles, testRepoConnection, -} from '@ktx/context/ingest'; +} from './context/ingest/index.js'; import { type KtxProjectConfig, type KtxProjectConnectionConfig, loadKtxProject, markKtxSetupStateStepComplete, serializeKtxProjectConfig, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { pickNotionRootPages } from './notion-page-picker.js'; import { runKtxSourceMapping } from './source-mapping.js'; diff --git a/packages/cli/src/setup.test.ts b/packages/cli/src/setup.test.ts index 4ada92e3..bef547bc 100644 --- a/packages/cli/src/setup.test.ts +++ b/packages/cli/src/setup.test.ts @@ -3,7 +3,7 @@ import { mkdir, mkdtemp, readFile, readdir, rm, stat, writeFile } from 'node:fs/ import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { promisify } from 'node:util'; -import { writeKtxSetupState } from '@ktx/context/project'; +import { writeKtxSetupState } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { localFakeBundleReport, persistLocalBundleReport } from './ingest.test-utils.js'; diff --git a/packages/cli/src/setup.ts b/packages/cli/src/setup.ts index fbf40aa8..88aef227 100644 --- a/packages/cli/src/setup.ts +++ b/packages/cli/src/setup.ts @@ -1,13 +1,13 @@ import { existsSync } from 'node:fs'; import { rm } from 'node:fs/promises'; import { basename, join, resolve } from 'node:path'; -import { getLatestLocalIngestStatus, savedMemoryCountsForReport } from '@ktx/context/ingest'; +import { getLatestLocalIngestStatus, savedMemoryCountsForReport } from './context/ingest/index.js'; import { ktxLocalStateDbPath, loadKtxProject, readKtxSetupState, type KtxLocalProject, -} from '@ktx/context/project'; +} from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { formatSetupNextStepLines } from './next-steps.js'; import { runtimeInstallPolicyFromFlags } from './managed-python-command.js'; diff --git a/packages/context/skills/_shared/identifier-verification.md b/packages/cli/src/skills/_shared/identifier-verification.md similarity index 100% rename from packages/context/skills/_shared/identifier-verification.md rename to packages/cli/src/skills/_shared/identifier-verification.md diff --git a/packages/context/skills/dbt_ingest/SKILL.md b/packages/cli/src/skills/dbt_ingest/SKILL.md similarity index 100% rename from packages/context/skills/dbt_ingest/SKILL.md rename to packages/cli/src/skills/dbt_ingest/SKILL.md diff --git a/packages/context/skills/historic_sql_patterns/SKILL.md b/packages/cli/src/skills/historic_sql_patterns/SKILL.md similarity index 100% rename from packages/context/skills/historic_sql_patterns/SKILL.md rename to packages/cli/src/skills/historic_sql_patterns/SKILL.md diff --git a/packages/context/skills/historic_sql_table_digest/SKILL.md b/packages/cli/src/skills/historic_sql_table_digest/SKILL.md similarity index 100% rename from packages/context/skills/historic_sql_table_digest/SKILL.md rename to packages/cli/src/skills/historic_sql_table_digest/SKILL.md diff --git a/packages/context/skills/ingest_triage/SKILL.md b/packages/cli/src/skills/ingest_triage/SKILL.md similarity index 100% rename from packages/context/skills/ingest_triage/SKILL.md rename to packages/cli/src/skills/ingest_triage/SKILL.md diff --git a/packages/context/skills/live_database_ingest/SKILL.md b/packages/cli/src/skills/live_database_ingest/SKILL.md similarity index 100% rename from packages/context/skills/live_database_ingest/SKILL.md rename to packages/cli/src/skills/live_database_ingest/SKILL.md diff --git a/packages/context/skills/looker_ingest/SKILL.md b/packages/cli/src/skills/looker_ingest/SKILL.md similarity index 100% rename from packages/context/skills/looker_ingest/SKILL.md rename to packages/cli/src/skills/looker_ingest/SKILL.md diff --git a/packages/context/skills/lookml_ingest/SKILL.md b/packages/cli/src/skills/lookml_ingest/SKILL.md similarity index 100% rename from packages/context/skills/lookml_ingest/SKILL.md rename to packages/cli/src/skills/lookml_ingest/SKILL.md diff --git a/packages/context/skills/metabase_ingest/SKILL.md b/packages/cli/src/skills/metabase_ingest/SKILL.md similarity index 100% rename from packages/context/skills/metabase_ingest/SKILL.md rename to packages/cli/src/skills/metabase_ingest/SKILL.md diff --git a/packages/context/skills/metricflow_ingest/SKILL.md b/packages/cli/src/skills/metricflow_ingest/SKILL.md similarity index 100% rename from packages/context/skills/metricflow_ingest/SKILL.md rename to packages/cli/src/skills/metricflow_ingest/SKILL.md diff --git a/packages/context/skills/notion_synthesize/SKILL.md b/packages/cli/src/skills/notion_synthesize/SKILL.md similarity index 100% rename from packages/context/skills/notion_synthesize/SKILL.md rename to packages/cli/src/skills/notion_synthesize/SKILL.md diff --git a/packages/context/skills/sl/SKILL.md b/packages/cli/src/skills/sl/SKILL.md similarity index 100% rename from packages/context/skills/sl/SKILL.md rename to packages/cli/src/skills/sl/SKILL.md diff --git a/packages/context/skills/sl_capture/SKILL.md b/packages/cli/src/skills/sl_capture/SKILL.md similarity index 100% rename from packages/context/skills/sl_capture/SKILL.md rename to packages/cli/src/skills/sl_capture/SKILL.md diff --git a/packages/context/skills/wiki_capture/SKILL.md b/packages/cli/src/skills/wiki_capture/SKILL.md similarity index 100% rename from packages/context/skills/wiki_capture/SKILL.md rename to packages/cli/src/skills/wiki_capture/SKILL.md diff --git a/packages/cli/src/sl.test.ts b/packages/cli/src/sl.test.ts index b78dfcba..6def5177 100644 --- a/packages/cli/src/sl.test.ts +++ b/packages/cli/src/sl.test.ts @@ -3,7 +3,7 @@ import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { stripVTControlCharacters } from 'node:util'; import Database from 'better-sqlite3'; -import { initKtxProject } from '@ktx/context/project'; +import { initKtxProject } from './context/project/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxSl } from './sl.js'; diff --git a/packages/cli/src/sl.ts b/packages/cli/src/sl.ts index 530aef03..05d7f523 100644 --- a/packages/cli/src/sl.ts +++ b/packages/cli/src/sl.ts @@ -1,8 +1,8 @@ import { readFile } from 'node:fs/promises'; -import { createDefaultLocalQueryExecutor, type KtxSqlQueryExecutorPort } from '@ktx/context/connections'; -import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from '@ktx/context'; -import type { KtxSemanticLayerComputePort } from '@ktx/context/daemon'; -import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project'; +import { createDefaultLocalQueryExecutor, type KtxSqlQueryExecutorPort } from './context/connections/index.js'; +import { KtxIngestEmbeddingPortAdapter, type KtxEmbeddingPort } from './context/index.js'; +import type { KtxSemanticLayerComputePort } from './context/daemon/index.js'; +import { loadKtxProject, type KtxLocalProject } from './context/project/index.js'; import { compileLocalSlQuery, listLocalSlSources, @@ -12,7 +12,7 @@ import { type LocalSlSourceSearchResult, type LocalSlSourceSummary, type SemanticLayerQueryInput, -} from '@ktx/context/sl'; +} from './context/sl/index.js'; import { resolveProjectEmbeddingProvider, type EmbeddingProviderResolution, diff --git a/packages/cli/src/source-mapping.ts b/packages/cli/src/source-mapping.ts index 13fa15fb..146bf8e3 100644 --- a/packages/cli/src/source-mapping.ts +++ b/packages/cli/src/source-mapping.ts @@ -1,4 +1,4 @@ -import { localConnectionToWarehouseDescriptor } from '@ktx/context/connections'; +import { localConnectionToWarehouseDescriptor } from './context/connections/index.js'; import { DEFAULT_METABASE_CLIENT_CONFIG, DefaultLookerConnectionClientFactory, @@ -19,8 +19,8 @@ import { type LookerMappingClient, type LocalMetabaseMappingListRow, type MetabaseRuntimeClient, -} from '@ktx/context/ingest'; -import { type KtxLocalProject, ktxLocalStateDbPath, loadKtxProject } from '@ktx/context/project'; +} from './context/ingest/index.js'; +import { type KtxLocalProject, ktxLocalStateDbPath, loadKtxProject } from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { profileMark } from './startup-profile.js'; diff --git a/packages/cli/src/sql.test.ts b/packages/cli/src/sql.test.ts index 7be128cc..c3e95885 100644 --- a/packages/cli/src/sql.test.ts +++ b/packages/cli/src/sql.test.ts @@ -1,9 +1,9 @@ import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; -import { initKtxProject, parseKtxProjectConfig, serializeKtxProjectConfig } from '@ktx/context/project'; -import type { KtxScanConnector } from '@ktx/context/scan'; -import type { SqlAnalysisPort } from '@ktx/context/sql-analysis'; +import { initKtxProject, parseKtxProjectConfig, serializeKtxProjectConfig } from './context/project/index.js'; +import type { KtxScanConnector } from './context/scan/index.js'; +import type { SqlAnalysisPort } from './context/sql-analysis/index.js'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { runKtxSql } from './sql.js'; diff --git a/packages/cli/src/sql.ts b/packages/cli/src/sql.ts index a04c7959..e19f9d1b 100644 --- a/packages/cli/src/sql.ts +++ b/packages/cli/src/sql.ts @@ -1,6 +1,6 @@ -import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project'; -import type { KtxQueryResult, KtxScanConnector } from '@ktx/context/scan'; -import type { SqlAnalysisDialect, SqlAnalysisPort } from '@ktx/context/sql-analysis'; +import { loadKtxProject, type KtxLocalProject } from './context/project/index.js'; +import type { KtxQueryResult, KtxScanConnector } from './context/scan/index.js'; +import type { SqlAnalysisDialect, SqlAnalysisPort } from './context/sql-analysis/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { type KtxOutputMode, resolveOutputMode } from './io/mode.js'; import { createKtxCliScanConnector } from './local-scan-connectors.js'; diff --git a/packages/cli/src/standalone-smoke.test.ts b/packages/cli/src/standalone-smoke.test.ts index 3bfc74f2..196aeb72 100644 --- a/packages/cli/src/standalone-smoke.test.ts +++ b/packages/cli/src/standalone-smoke.test.ts @@ -3,7 +3,7 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join, resolve } from 'node:path'; import { promisify } from 'node:util'; -import { parseKtxProjectConfig } from '@ktx/context/project'; +import { parseKtxProjectConfig } from './context/project/index.js'; import Database from 'better-sqlite3'; import { afterEach, beforeEach, describe, expect, it } from 'vitest'; diff --git a/packages/cli/src/status-project.test.ts b/packages/cli/src/status-project.test.ts index 749af664..816a5c8d 100644 --- a/packages/cli/src/status-project.test.ts +++ b/packages/cli/src/status-project.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from '@ktx/context/project'; +import { buildDefaultKtxProjectConfig, type KtxLocalProject, type KtxProjectConfig } from './context/project/index.js'; import { buildProjectStatus } from './status-project.js'; function projectWithConfig(config: KtxProjectConfig): KtxLocalProject { diff --git a/packages/cli/src/status-project.ts b/packages/cli/src/status-project.ts index 8e8662dd..e430dbb9 100644 --- a/packages/cli/src/status-project.ts +++ b/packages/cli/src/status-project.ts @@ -1,5 +1,5 @@ import { basename } from 'node:path'; -import { runClaudeCodeAuthProbe } from '@ktx/context'; +import { runClaudeCodeAuthProbe } from './context/index.js'; import type { KtxConfigIssue, KtxLocalProject, @@ -7,8 +7,8 @@ import type { KtxProjectConnectionConfig, KtxProjectEmbeddingConfig, KtxProjectLlmConfig, -} from '@ktx/context/project'; -import type { PostgresPgssProbeResult } from '@ktx/context/ingest'; +} from './context/project/index.js'; +import type { PostgresPgssProbeResult } from './context/ingest/index.js'; import { formatClaudeCodePromptCachingFix, formatClaudeCodePromptCachingWarning, @@ -419,7 +419,7 @@ async function defaultPostgresQueryHistoryProbe( input: PostgresQueryHistoryProbeInput, ): Promise { const [{ PostgresPgssReader }, { KtxPostgresHistoricSqlQueryClient, isKtxPostgresConnectionConfig }] = - await Promise.all([import('@ktx/context/ingest'), import('@ktx/connector-postgres')]); + await Promise.all([import('./context/ingest/index.js'), import('./connectors/postgres/index.js')]); const inputDriver = input.connection.driver ?? 'unknown'; if (!isKtxPostgresConnectionConfig(input.connection)) { diff --git a/packages/context/test/fixtures/lookml/extends-chain/orders.model.lkml b/packages/cli/src/test/fixtures/lookml/extends-chain/orders.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/extends-chain/orders.model.lkml rename to packages/cli/src/test/fixtures/lookml/extends-chain/orders.model.lkml diff --git a/packages/context/test/fixtures/lookml/extends-chain/views/base.view.lkml b/packages/cli/src/test/fixtures/lookml/extends-chain/views/base.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/extends-chain/views/base.view.lkml rename to packages/cli/src/test/fixtures/lookml/extends-chain/views/base.view.lkml diff --git a/packages/context/test/fixtures/lookml/extends-chain/views/orders.view.lkml b/packages/cli/src/test/fixtures/lookml/extends-chain/views/orders.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/extends-chain/views/orders.view.lkml rename to packages/cli/src/test/fixtures/lookml/extends-chain/views/orders.view.lkml diff --git a/packages/context/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml b/packages/cli/src/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml rename to packages/cli/src/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml diff --git a/packages/context/test/fixtures/lookml/multi-model/marketing.model.lkml b/packages/cli/src/test/fixtures/lookml/multi-model/marketing.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/multi-model/marketing.model.lkml rename to packages/cli/src/test/fixtures/lookml/multi-model/marketing.model.lkml diff --git a/packages/context/test/fixtures/lookml/multi-model/orders.model.lkml b/packages/cli/src/test/fixtures/lookml/multi-model/orders.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/multi-model/orders.model.lkml rename to packages/cli/src/test/fixtures/lookml/multi-model/orders.model.lkml diff --git a/packages/context/test/fixtures/lookml/multi-model/views/campaigns.view.lkml b/packages/cli/src/test/fixtures/lookml/multi-model/views/campaigns.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/multi-model/views/campaigns.view.lkml rename to packages/cli/src/test/fixtures/lookml/multi-model/views/campaigns.view.lkml diff --git a/packages/context/test/fixtures/lookml/multi-model/views/orders.view.lkml b/packages/cli/src/test/fixtures/lookml/multi-model/views/orders.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/multi-model/views/orders.view.lkml rename to packages/cli/src/test/fixtures/lookml/multi-model/views/orders.view.lkml diff --git a/packages/context/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml b/packages/cli/src/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml rename to packages/cli/src/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml diff --git a/packages/context/test/fixtures/lookml/single-model/orders.model.lkml b/packages/cli/src/test/fixtures/lookml/single-model/orders.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/single-model/orders.model.lkml rename to packages/cli/src/test/fixtures/lookml/single-model/orders.model.lkml diff --git a/packages/context/test/fixtures/lookml/single-model/views/customers.view.lkml b/packages/cli/src/test/fixtures/lookml/single-model/views/customers.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/single-model/views/customers.view.lkml rename to packages/cli/src/test/fixtures/lookml/single-model/views/customers.view.lkml diff --git a/packages/context/test/fixtures/lookml/single-model/views/orders.view.lkml b/packages/cli/src/test/fixtures/lookml/single-model/views/orders.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/single-model/views/orders.view.lkml rename to packages/cli/src/test/fixtures/lookml/single-model/views/orders.view.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/billing.model.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/billing.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/billing.model.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/billing.model.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/customers.model.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/customers.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/customers.model.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/customers.model.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/support.model.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/support.model.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/support.model.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/support.model.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml diff --git a/packages/context/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml b/packages/cli/src/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml similarity index 100% rename from packages/context/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml rename to packages/cli/src/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml diff --git a/packages/context/test/fixtures/metabase/card-ref/cards/10.json b/packages/cli/src/test/fixtures/metabase/card-ref/cards/10.json similarity index 100% rename from packages/context/test/fixtures/metabase/card-ref/cards/10.json rename to packages/cli/src/test/fixtures/metabase/card-ref/cards/10.json diff --git a/packages/context/test/fixtures/metabase/card-ref/cards/11.json b/packages/cli/src/test/fixtures/metabase/card-ref/cards/11.json similarity index 100% rename from packages/context/test/fixtures/metabase/card-ref/cards/11.json rename to packages/cli/src/test/fixtures/metabase/card-ref/cards/11.json diff --git a/packages/context/test/fixtures/metabase/card-ref/collections/5.json b/packages/cli/src/test/fixtures/metabase/card-ref/collections/5.json similarity index 100% rename from packages/context/test/fixtures/metabase/card-ref/collections/5.json rename to packages/cli/src/test/fixtures/metabase/card-ref/collections/5.json diff --git a/packages/context/test/fixtures/metabase/card-ref/databases/42.json b/packages/cli/src/test/fixtures/metabase/card-ref/databases/42.json similarity index 100% rename from packages/context/test/fixtures/metabase/card-ref/databases/42.json rename to packages/cli/src/test/fixtures/metabase/card-ref/databases/42.json diff --git a/packages/context/test/fixtures/metabase/card-ref/sync-config.json b/packages/cli/src/test/fixtures/metabase/card-ref/sync-config.json similarity index 100% rename from packages/context/test/fixtures/metabase/card-ref/sync-config.json rename to packages/cli/src/test/fixtures/metabase/card-ref/sync-config.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/cards/1.json b/packages/cli/src/test/fixtures/metabase/multi-collection/cards/1.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/cards/1.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/cards/1.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/cards/2.json b/packages/cli/src/test/fixtures/metabase/multi-collection/cards/2.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/cards/2.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/cards/2.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/cards/3.json b/packages/cli/src/test/fixtures/metabase/multi-collection/cards/3.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/cards/3.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/cards/3.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/collections/5.json b/packages/cli/src/test/fixtures/metabase/multi-collection/collections/5.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/collections/5.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/collections/5.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/collections/6.json b/packages/cli/src/test/fixtures/metabase/multi-collection/collections/6.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/collections/6.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/collections/6.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/databases/42.json b/packages/cli/src/test/fixtures/metabase/multi-collection/databases/42.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/databases/42.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/databases/42.json diff --git a/packages/context/test/fixtures/metabase/multi-collection/sync-config.json b/packages/cli/src/test/fixtures/metabase/multi-collection/sync-config.json similarity index 100% rename from packages/context/test/fixtures/metabase/multi-collection/sync-config.json rename to packages/cli/src/test/fixtures/metabase/multi-collection/sync-config.json diff --git a/packages/context/test/fixtures/metabase/simple/cards/1.json b/packages/cli/src/test/fixtures/metabase/simple/cards/1.json similarity index 100% rename from packages/context/test/fixtures/metabase/simple/cards/1.json rename to packages/cli/src/test/fixtures/metabase/simple/cards/1.json diff --git a/packages/context/test/fixtures/metabase/simple/cards/2.json b/packages/cli/src/test/fixtures/metabase/simple/cards/2.json similarity index 100% rename from packages/context/test/fixtures/metabase/simple/cards/2.json rename to packages/cli/src/test/fixtures/metabase/simple/cards/2.json diff --git a/packages/context/test/fixtures/metabase/simple/collections/5.json b/packages/cli/src/test/fixtures/metabase/simple/collections/5.json similarity index 100% rename from packages/context/test/fixtures/metabase/simple/collections/5.json rename to packages/cli/src/test/fixtures/metabase/simple/collections/5.json diff --git a/packages/context/test/fixtures/metabase/simple/databases/42.json b/packages/cli/src/test/fixtures/metabase/simple/databases/42.json similarity index 100% rename from packages/context/test/fixtures/metabase/simple/databases/42.json rename to packages/cli/src/test/fixtures/metabase/simple/databases/42.json diff --git a/packages/context/test/fixtures/metabase/simple/sync-config.json b/packages/cli/src/test/fixtures/metabase/simple/sync-config.json similarity index 100% rename from packages/context/test/fixtures/metabase/simple/sync-config.json rename to packages/cli/src/test/fixtures/metabase/simple/sync-config.json diff --git a/packages/context/test/fixtures/metricflow/dbt-mixed/dbt_project.yml b/packages/cli/src/test/fixtures/metricflow/dbt-mixed/dbt_project.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/dbt-mixed/dbt_project.yml rename to packages/cli/src/test/fixtures/metricflow/dbt-mixed/dbt_project.yml diff --git a/packages/context/test/fixtures/metricflow/dbt-mixed/models/orders.yml b/packages/cli/src/test/fixtures/metricflow/dbt-mixed/models/orders.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/dbt-mixed/models/orders.yml rename to packages/cli/src/test/fixtures/metricflow/dbt-mixed/models/orders.yml diff --git a/packages/context/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml b/packages/cli/src/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml rename to packages/cli/src/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml diff --git a/packages/context/test/fixtures/metricflow/extends-chain/models/orders.yml b/packages/cli/src/test/fixtures/metricflow/extends-chain/models/orders.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/extends-chain/models/orders.yml rename to packages/cli/src/test/fixtures/metricflow/extends-chain/models/orders.yml diff --git a/packages/context/test/fixtures/metricflow/extends-chain/models/orders_ext.yml b/packages/cli/src/test/fixtures/metricflow/extends-chain/models/orders_ext.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/extends-chain/models/orders_ext.yml rename to packages/cli/src/test/fixtures/metricflow/extends-chain/models/orders_ext.yml diff --git a/packages/context/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml b/packages/cli/src/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml rename to packages/cli/src/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml diff --git a/packages/context/test/fixtures/metricflow/multi-component/models/sales/orders.yml b/packages/cli/src/test/fixtures/metricflow/multi-component/models/sales/orders.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/multi-component/models/sales/orders.yml rename to packages/cli/src/test/fixtures/metricflow/multi-component/models/sales/orders.yml diff --git a/packages/context/test/fixtures/metricflow/single-model/models/orders.yml b/packages/cli/src/test/fixtures/metricflow/single-model/models/orders.yml similarity index 100% rename from packages/context/test/fixtures/metricflow/single-model/models/orders.yml rename to packages/cli/src/test/fixtures/metricflow/single-model/models/orders.yml diff --git a/packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/abbreviated_old_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworks_oltp_with_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/adventureworkslt_with_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/analytical_warehouse_no_naming_convention/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/composite_keys_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/mixed_case_within_schema_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/natural_keys_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/non_english_naming_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/orbit_style_product_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/polymorphic_partial_overlap_no_declared_constraints/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/sakila_with_declared_metadata/snapshot.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/data.sqlite.gz b/packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/data.sqlite.gz similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/data.sqlite.gz rename to packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/data.sqlite.gz diff --git a/packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/snapshot.json.gz b/packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/snapshot.json.gz similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/snapshot.json.gz rename to packages/cli/src/test/fixtures/relationship-benchmarks/scale_stress_no_declared_constraints/snapshot.json.gz diff --git a/packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/column-embeddings.json b/packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/column-embeddings.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/column-embeddings.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/column-embeddings.json diff --git a/packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/data.sqlite b/packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/data.sqlite similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/data.sqlite rename to packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/data.sqlite diff --git a/packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/expected-links.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/expected-links.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/expected-links.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/expected-links.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/fixture.yaml b/packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/fixture.yaml similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/fixture.yaml rename to packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/fixture.yaml diff --git a/packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/snapshot.json b/packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/snapshot.json similarity index 100% rename from packages/context/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/snapshot.json rename to packages/cli/src/test/fixtures/relationship-benchmarks/semantic_embedding_aliases_no_declared_constraints/snapshot.json diff --git a/packages/cli/src/text-ingest.test.ts b/packages/cli/src/text-ingest.test.ts index 04ff2e40..ec451244 100644 --- a/packages/cli/src/text-ingest.test.ts +++ b/packages/cli/src/text-ingest.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; -import type { MemoryIngestStatus } from '@ktx/context/memory'; -import type { KtxLocalProject } from '@ktx/context/project'; +import type { MemoryIngestStatus } from './context/memory/index.js'; +import type { KtxLocalProject } from './context/project/index.js'; import { runKtxTextIngest, type TextMemoryIngestPort } from './text-ingest.js'; function makeIo(options: { isTTY?: boolean } = {}) { diff --git a/packages/cli/src/text-ingest.ts b/packages/cli/src/text-ingest.ts index fe15244e..0be1534f 100644 --- a/packages/cli/src/text-ingest.ts +++ b/packages/cli/src/text-ingest.ts @@ -1,7 +1,7 @@ import { readFile as fsReadFile } from 'node:fs/promises'; import { basename, resolve } from 'node:path'; -import { createLocalProjectMemoryIngest, type MemoryAgentInput, type MemoryIngestStatus } from '@ktx/context/memory'; -import { loadKtxProject, type KtxLocalProject } from '@ktx/context/project'; +import { createLocalProjectMemoryIngest, type MemoryAgentInput, type MemoryIngestStatus } from './context/memory/index.js'; +import { loadKtxProject, type KtxLocalProject } from './context/project/index.js'; import type { KtxCliIo } from './cli-runtime.js'; import { createRepainter, initViewState, renderContextBuildView, type ContextBuildTargetState } from './context-build-view.js'; import { formatDuration } from './demo-metrics.js'; diff --git a/packages/connector-bigquery/package.json b/packages/connector-bigquery/package.json deleted file mode 100644 index 591e5193..00000000 --- a/packages/connector-bigquery/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@ktx/connector-bigquery", - "version": "0.0.0-private", - "description": "BigQuery connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@google-cloud/bigquery": "^8.3.1", - "@ktx/context": "workspace:*" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-bigquery" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-bigquery/src/package-exports.test.ts b/packages/connector-bigquery/src/package-exports.test.ts deleted file mode 100644 index 71508c5a..00000000 --- a/packages/connector-bigquery/src/package-exports.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import * as connector from './index.js'; - -describe('@ktx/connector-bigquery exports', () => { - it('exports public connector, dialect, and introspection APIs', () => { - expect(connector.KtxBigQueryDialect).toBeTypeOf('function'); - expect(connector.KtxBigQueryScanConnector).toBeTypeOf('function'); - expect(connector.bigQueryConnectionConfigFromConfig).toBeTypeOf('function'); - expect(connector.createBigQueryLiveDatabaseIntrospection).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-bigquery/tsconfig.json b/packages/connector-bigquery/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-bigquery/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-clickhouse/package.json b/packages/connector-clickhouse/package.json deleted file mode 100644 index 568ed6b2..00000000 --- a/packages/connector-clickhouse/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@ktx/connector-clickhouse", - "version": "0.0.0-private", - "description": "ClickHouse connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@clickhouse/client": "^1.18.4", - "@ktx/context": "workspace:*" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-clickhouse" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-clickhouse/src/package-exports.test.ts b/packages/connector-clickhouse/src/package-exports.test.ts deleted file mode 100644 index 644e6075..00000000 --- a/packages/connector-clickhouse/src/package-exports.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/connector-clickhouse package exports', () => { - it( - 'exports public connector APIs during package bootstrap', - async () => { - const connector = await import('./index.js'); - - expect(connector.KtxClickHouseDialect).toBeTypeOf('function'); - expect(connector.KtxClickHouseScanConnector).toBeTypeOf('function'); - expect(connector.clickHouseClientConfigFromConfig).toBeTypeOf('function'); - expect(connector.createClickHouseLiveDatabaseIntrospection).toBeTypeOf('function'); - }, - 20_000, - ); -}); diff --git a/packages/connector-clickhouse/tsconfig.json b/packages/connector-clickhouse/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-clickhouse/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-mysql/package.json b/packages/connector-mysql/package.json deleted file mode 100644 index 16bbc782..00000000 --- a/packages/connector-mysql/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@ktx/connector-mysql", - "version": "0.0.0-private", - "description": "MySQL connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ktx/context": "workspace:*", - "mysql2": "^3.22.3" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-mysql" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-mysql/src/package-exports.test.ts b/packages/connector-mysql/src/package-exports.test.ts deleted file mode 100644 index 14bbd872..00000000 --- a/packages/connector-mysql/src/package-exports.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/connector-mysql package exports', () => { - it('exports the native MySQL scan surface', async () => { - const connector = await import('./index.js'); - - expect(connector.KtxMysqlDialect).toBeTypeOf('function'); - expect(connector.KtxMysqlScanConnector).toBeTypeOf('function'); - expect(connector.createMysqlLiveDatabaseIntrospection).toBeTypeOf('function'); - expect(connector.isKtxMysqlConnectionConfig).toBeTypeOf('function'); - expect(connector.mysqlConnectionPoolConfigFromConfig).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-mysql/tsconfig.json b/packages/connector-mysql/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-mysql/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-postgres/package.json b/packages/connector-postgres/package.json deleted file mode 100644 index de7c5457..00000000 --- a/packages/connector-postgres/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@ktx/connector-postgres", - "version": "0.0.0-private", - "description": "PostgreSQL connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ktx/context": "workspace:*", - "pg": "^8.20.0" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@types/pg": "^8.20.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-postgres" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-postgres/src/package-exports.test.ts b/packages/connector-postgres/src/package-exports.test.ts deleted file mode 100644 index c216b736..00000000 --- a/packages/connector-postgres/src/package-exports.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/connector-postgres package exports', () => { - it('exports the connector, dialect, and live-database adapter', async () => { - const connector = await import('./index.js'); - expect(connector.KtxPostgresDialect).toBeTypeOf('function'); - expect(connector.KtxPostgresScanConnector).toBeTypeOf('function'); - expect(connector.KtxPostgresHistoricSqlQueryClient).toBeTypeOf('function'); - expect(connector.createPostgresLiveDatabaseIntrospection).toBeTypeOf('function'); - expect(connector.isKtxPostgresConnectionConfig).toBeTypeOf('function'); - expect(connector.postgresPoolConfigFromConfig).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-postgres/tsconfig.json b/packages/connector-postgres/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-postgres/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-snowflake/package.json b/packages/connector-snowflake/package.json deleted file mode 100644 index 5135a457..00000000 --- a/packages/connector-snowflake/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@ktx/connector-snowflake", - "version": "0.0.0-private", - "description": "Snowflake connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ktx/context": "workspace:*", - "snowflake-sdk": "^2.4.1" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-snowflake" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-snowflake/src/package-exports.test.ts b/packages/connector-snowflake/src/package-exports.test.ts deleted file mode 100644 index 985068bf..00000000 --- a/packages/connector-snowflake/src/package-exports.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import * as connector from './index.js'; - -describe('@ktx/connector-snowflake package exports', () => { - it('exports public connector, dialect, and introspection APIs', () => { - expect(connector.KtxSnowflakeDialect).toBeTypeOf('function'); - expect(connector.KtxSnowflakeScanConnector).toBeTypeOf('function'); - expect(connector.snowflakeConnectionConfigFromConfig).toBeTypeOf('function'); - expect(connector.createSnowflakeLiveDatabaseIntrospection).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-snowflake/tsconfig.json b/packages/connector-snowflake/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-snowflake/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-sqlite/package.json b/packages/connector-sqlite/package.json deleted file mode 100644 index 6dc0b725..00000000 --- a/packages/connector-sqlite/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@ktx/connector-sqlite", - "version": "0.0.0-private", - "description": "SQLite connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ktx/context": "workspace:*", - "better-sqlite3": "^12.10.0" - }, - "devDependencies": { - "@types/better-sqlite3": "^7.6.13", - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-sqlite" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-sqlite/src/package-exports.test.ts b/packages/connector-sqlite/src/package-exports.test.ts deleted file mode 100644 index bc6ff6fb..00000000 --- a/packages/connector-sqlite/src/package-exports.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/connector-sqlite package exports', () => { - it('exports the native SQLite scan connector surface', async () => { - const connector = await import('./index.js'); - - expect(connector.KtxSqliteDialect).toBeTypeOf('function'); - expect(connector.KtxSqliteScanConnector).toBeTypeOf('function'); - expect(connector.createSqliteLiveDatabaseIntrospection).toBeTypeOf('function'); - expect(connector.isKtxSqliteConnectionConfig).toBeTypeOf('function'); - expect(connector.sqliteDatabasePathFromConfig).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-sqlite/tsconfig.json b/packages/connector-sqlite/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-sqlite/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/connector-sqlserver/package.json b/packages/connector-sqlserver/package.json deleted file mode 100644 index cf8dac83..00000000 --- a/packages/connector-sqlserver/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@ktx/connector-sqlserver", - "version": "0.0.0-private", - "description": "SQL Server connector package for KTX scan interfaces", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ktx/context": "workspace:*", - "mssql": "^12.5.2" - }, - "devDependencies": { - "@types/mssql": "^12.3.0", - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/connector-sqlserver" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/connector-sqlserver/src/package-exports.test.ts b/packages/connector-sqlserver/src/package-exports.test.ts deleted file mode 100644 index 0755738c..00000000 --- a/packages/connector-sqlserver/src/package-exports.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/connector-sqlserver package exports', () => { - it('exports public connector APIs during package bootstrap', async () => { - const connector = await import('./index.js'); - - expect(connector.KtxSqlServerDialect).toBeTypeOf('function'); - expect(connector.KtxSqlServerScanConnector).toBeTypeOf('function'); - expect(connector.createSqlServerLiveDatabaseIntrospection).toBeTypeOf('function'); - expect(connector.sqlServerConnectionPoolConfigFromConfig).toBeTypeOf('function'); - }); -}); diff --git a/packages/connector-sqlserver/tsconfig.json b/packages/connector-sqlserver/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/connector-sqlserver/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/context/package.json b/packages/context/package.json deleted file mode 100644 index 11cfc28f..00000000 --- a/packages/context/package.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "name": "@ktx/context", - "version": "0.0.0-private", - "description": "Core context library for database agents", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./agent": { - "types": "./dist/agent/index.d.ts", - "import": "./dist/agent/index.js", - "default": "./dist/agent/index.js" - }, - "./core": { - "types": "./dist/core/index.d.ts", - "import": "./dist/core/index.js", - "default": "./dist/core/index.js" - }, - "./connections": { - "types": "./dist/connections/index.d.ts", - "import": "./dist/connections/index.js", - "default": "./dist/connections/index.js" - }, - "./daemon": { - "types": "./dist/daemon/index.d.ts", - "import": "./dist/daemon/index.js", - "default": "./dist/daemon/index.js" - }, - "./ingest": { - "types": "./dist/ingest/index.d.ts", - "import": "./dist/ingest/index.js", - "default": "./dist/ingest/index.js" - }, - "./ingest/memory-flow": { - "types": "./dist/ingest/memory-flow/index.d.ts", - "import": "./dist/ingest/memory-flow/index.js", - "default": "./dist/ingest/memory-flow/index.js" - }, - "./ingest/metabase-mapping": { - "types": "./dist/ingest/metabase-mapping.d.ts", - "import": "./dist/ingest/metabase-mapping.js", - "default": "./dist/ingest/metabase-mapping.js" - }, - "./index-sync": { - "types": "./dist/index-sync/index.d.ts", - "import": "./dist/index-sync/index.js", - "default": "./dist/index-sync/index.js" - }, - "./scan": { - "types": "./dist/scan/index.d.ts", - "import": "./dist/scan/index.js", - "default": "./dist/scan/index.js" - }, - "./search": { - "types": "./dist/search/index.d.ts", - "import": "./dist/search/index.js", - "default": "./dist/search/index.js" - }, - "./sql-analysis": { - "types": "./dist/sql-analysis/index.d.ts", - "import": "./dist/sql-analysis/index.js", - "default": "./dist/sql-analysis/index.js" - }, - "./memory": { - "types": "./dist/memory/index.d.ts", - "import": "./dist/memory/index.js", - "default": "./dist/memory/index.js" - }, - "./mcp": { - "types": "./dist/mcp/index.d.ts", - "import": "./dist/mcp/index.js", - "default": "./dist/mcp/index.js" - }, - "./project": { - "types": "./dist/project/index.d.ts", - "import": "./dist/project/index.js", - "default": "./dist/project/index.js" - }, - "./prompts": { - "types": "./dist/prompts/index.d.ts", - "import": "./dist/prompts/index.js", - "default": "./dist/prompts/index.js" - }, - "./skills": { - "types": "./dist/skills/index.d.ts", - "import": "./dist/skills/index.js", - "default": "./dist/skills/index.js" - }, - "./sl": { - "types": "./dist/sl/index.d.ts", - "import": "./dist/sl/index.js", - "default": "./dist/sl/index.js" - }, - "./sl/descriptions": { - "types": "./dist/sl/descriptions.d.ts", - "import": "./dist/sl/descriptions.js", - "default": "./dist/sl/descriptions.js" - }, - "./tools": { - "types": "./dist/tools/index.d.ts", - "import": "./dist/tools/index.js", - "default": "./dist/tools/index.js" - }, - "./wiki": { - "types": "./dist/wiki/index.d.ts", - "import": "./dist/wiki/index.js", - "default": "./dist/wiki/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist", - "prompts", - "skills" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "relationships:benchmarks": "pnpm --silent run build && node scripts/relationship-benchmark-report.mjs", - "relationships:benchmarks:test": "KTX_RUN_RELATIONSHIP_BENCHMARKS=1 vitest run src/scan/relationship-benchmarks.test.ts", - "search:pglite-spike": "node scripts/pglite-hybrid-search-spike.mjs", - "search:pglite-owner-prototype": "node scripts/pglite-owner-process-prototype.mjs", - "search:pglite-sl-prototype": "node scripts/pglite-sl-search-prototype.mjs", - "test": "vitest run --exclude src/scan/relationship-benchmarks.test.ts --exclude src/scan/local-scan.test.ts --exclude src/mcp/local-project-ports.test.ts --exclude src/ingest/local-stage-ingest.test.ts --exclude src/sl/pglite-sl-search-prototype.test.ts --exclude src/core/git.service.test.ts --exclude src/ingest/local-adapters.test.ts --exclude src/ingest/local-bundle-ingest.test.ts --exclude src/ingest/local-metabase-ingest.test.ts --exclude src/sl/local-sl.test.ts --exclude src/search/pglite-owner-process.test.ts --exclude src/scan/local-enrichment-artifacts.test.ts --exclude src/search/pglite-spike.test.ts --exclude src/wiki/local-knowledge.test.ts --exclude src/sl/local-query.test.ts --exclude src/scan/relationship-review-decisions.test.ts --exclude src/scan/relationship-profiling.test.ts", - "test:slow": "vitest run src/scan/local-scan.test.ts src/mcp/local-project-ports.test.ts src/ingest/local-stage-ingest.test.ts src/sl/pglite-sl-search-prototype.test.ts src/core/git.service.test.ts src/ingest/local-adapters.test.ts src/ingest/local-bundle-ingest.test.ts src/ingest/local-metabase-ingest.test.ts src/sl/local-sl.test.ts src/search/pglite-owner-process.test.ts src/scan/local-enrichment-artifacts.test.ts src/search/pglite-spike.test.ts src/wiki/local-knowledge.test.ts src/sl/local-query.test.ts src/scan/relationship-review-decisions.test.ts src/scan/relationship-profiling.test.ts --testTimeout 30000", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@anthropic-ai/claude-agent-sdk": "0.3.142", - "@ktx/llm": "workspace:*", - "@looker/sdk": "^26.8.0", - "@looker/sdk-node": "^26.8.0", - "@looker/sdk-rtl": "^21.6.5", - "@modelcontextprotocol/sdk": "^1.29.0", - "@notionhq/client": "^5.21.0", - "ai": "^6.0.180", - "better-sqlite3": "^12.10.0", - "handlebars": "^4.7.9", - "lookml-parser": "7.1.0", - "minimatch": "^10.2.5", - "p-limit": "^7.3.0", - "pg": "^8.20.0", - "simple-git": "3.36.0", - "yaml": "^2.9.0", - "zod": "^4.4.3" - }, - "devDependencies": { - "@electric-sql/pglite": "^0.4.5", - "@electric-sql/pglite-socket": "^0.1.5", - "@types/better-sqlite3": "^7.6.13", - "@types/node": "^25.7.0", - "@types/pg": "^8.20.0", - "@vitest/coverage-v8": "^4.1.6", - "ajv": "8.20.0", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/context" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/context/src/index.test.ts b/packages/context/src/index.test.ts deleted file mode 100644 index 255ad3a6..00000000 --- a/packages/context/src/index.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -import { ktxContextPackageInfo } from './index.js'; - -describe('ktxContextPackageInfo', () => { - it('identifies the context package', () => { - expect(ktxContextPackageInfo).toEqual({ - name: '@ktx/context', - version: '0.0.0-private', - }); - }); -}); diff --git a/packages/context/src/ingest/memory-flow/package-export.test.ts b/packages/context/src/ingest/memory-flow/package-export.test.ts deleted file mode 100644 index 5ddd9b91..00000000 --- a/packages/context/src/ingest/memory-flow/package-export.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, expect, it } from 'vitest'; - -describe('@ktx/context/ingest/memory-flow lightweight export', () => { - it('exports replay parsing and text rendering without the full ingest entry point', async () => { - const memoryFlow = await import('./index.js'); - - expect(memoryFlow.parseMemoryFlowReplayInput).toBeTypeOf('function'); - expect(memoryFlow.buildMemoryFlowViewModel).toBeTypeOf('function'); - expect(memoryFlow.renderMemoryFlowReplay).toBeTypeOf('function'); - }); -}); diff --git a/packages/context/src/ingest/metabase-mapping.ts b/packages/context/src/ingest/metabase-mapping.ts deleted file mode 100644 index 5ce66a12..00000000 --- a/packages/context/src/ingest/metabase-mapping.ts +++ /dev/null @@ -1,23 +0,0 @@ -export { - computeMetabaseMappingDrift, - computeMetabaseMappingPhysicalMismatches, - discoverMetabaseDatabases, - findBestMatch, - METABASE_ENGINE_TO_CONNECTION_TYPE, - refreshMetabaseMapping, - validateMappingPhysicalMatch, - validateMetabaseMappings, -} from './adapters/metabase/mapping.js'; -export type { - AutoMatchCandidate, - AutoMatchResult as MetabaseAutoMatchResult, - DiscoveredMetabaseDatabase, - KtxConnectionPhysicalInfo, - MappingPhysicalInfo, - MappingRefreshReport, - MetabaseMappedConnectionType, - MetabaseMappingDrift, - MetabaseMappingValidationResult, - PhysicalMismatch, - PhysicalMismatchInput, -} from './adapters/metabase/mapping.js'; diff --git a/packages/context/src/package-exports.test.ts b/packages/context/src/package-exports.test.ts deleted file mode 100644 index bbd660e9..00000000 --- a/packages/context/src/package-exports.test.ts +++ /dev/null @@ -1,267 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import type { - DeterministicFinalizationContext, - FinalizationOverrideReplay, - FinalizationResult, -} from './ingest/index.js'; -import type { - ApplyLocalScanRelationshipReviewDecisionsInput, - ApplyLocalScanRelationshipReviewDecisionsResult, -} from './scan/index.js'; - -const scanTypeExportCoverage: Partial<{ - input: ApplyLocalScanRelationshipReviewDecisionsInput; - result: ApplyLocalScanRelationshipReviewDecisionsResult; -}> = {}; - -const ingestFinalizationTypeExportCoverage: Partial<{ - context: DeterministicFinalizationContext; - overrideReplay: FinalizationOverrideReplay; - result: FinalizationResult; -}> = {}; - -describe('@ktx/context package exports', () => { - it('exports package entry points used by host adapters', async () => { - const core = await import('./core/index.js'); - const connections = await import('./connections/index.js'); - const scan = await import('./scan/index.js'); - const search = await import('./search/index.js'); - const agent = await import('./agent/index.js'); - const prompts = await import('./prompts/index.js'); - const skills = await import('./skills/index.js'); - const sl = await import('./sl/index.js'); - const wiki = await import('./wiki/index.js'); - const tools = await import('./tools/index.js'); - const memory = await import('./memory/index.js'); - const ingest = await import('./ingest/index.js'); - const memoryFlow = await import('./ingest/memory-flow/index.js'); - const metabaseMapping = await import('./ingest/metabase-mapping.js'); - const mcp = await import('./mcp/index.js'); - const project = await import('./project/index.js'); - const daemon = await import('./daemon/index.js'); - const sqlAnalysis = await import('./sql-analysis/index.js'); - const root = await import('./index.js'); - - expect(core).toBeDefined(); - expect(connections.createPostgresQueryExecutor).toBeTypeOf('function'); - expect(connections.createSqliteQueryExecutor).toBeTypeOf('function'); - expect(connections.createDefaultLocalQueryExecutor).toBeTypeOf('function'); - expect(connections.sqliteDatabasePathFromConnection).toBeTypeOf('function'); - expect(connections.parseNotionConnectionConfig).toBeTypeOf('function'); - expect(connections.redactNotionConnectionConfig).toBeTypeOf('function'); - expect(connections.notionConnectionToPullConfig).toBeTypeOf('function'); - expect(scan).toBeDefined(); - expect(scanTypeExportCoverage).toEqual({}); - expect(ingestFinalizationTypeExportCoverage).toEqual({}); - expect(scan.createKtxConnectorCapabilities).toBeTypeOf('function'); - expect(`liveDatabaseSnapshotToKtx${'SchemaSnapshot'}` in scan).toBe(false); - expect(scan.normalizeKtxNativeType).toBeTypeOf('function'); - expect(scan.inferKtxDimensionType).toBeTypeOf('function'); - expect(scan.redactKtxCredentialEnvelope).toBeTypeOf('function'); - expect(scan.redactKtxScanReport).toBeTypeOf('function'); - expect(scan.redactKtxScanWarning).toBeTypeOf('function'); - expect(core.redactKtxSensitiveMetadata).toBeTypeOf('function'); - expect(core.redactKtxSensitiveText).toBeTypeOf('function'); - expect(scan.isKtxDataDictionaryCandidate).toBeTypeOf('function'); - expect(scan.buildKtxColumnEmbeddingText).toBeTypeOf('function'); - expect(scan.KtxDescriptionGenerator).toBeTypeOf('function'); - expect(scan.runLocalScan).toBeTypeOf('function'); - expect(scan.writeLocalScanEnrichmentArtifacts).toBeTypeOf('function'); - expect(scan.readLocalScanStructuralSnapshot).toBeTypeOf('function'); - expect(scan.writeLocalScanManifestShards).toBeTypeOf('function'); - expect(scan.buildKtxColumnDescriptionPrompt).toBeTypeOf('function'); - expect(scan.buildKtxTableDescriptionPrompt).toBeTypeOf('function'); - expect(scan.buildKtxDataSourceDescriptionPrompt).toBeTypeOf('function'); - expect(scan.currentKtxRelationshipBenchmarkDetector).toBeTypeOf('function'); - expect(scan.generateKtxRelationshipDiscoveryCandidates).toBeTypeOf('function'); - expect(scan.inferKtxRelationshipTargetPks).toBeTypeOf('function'); - expect(scan.mergeKtxRelationshipDiscoveryCandidates).toBeTypeOf('function'); - expect(scan.normalizeKtxRelationshipName).toBeTypeOf('function'); - expect(scan.tokenizeKtxRelationshipName).toBeTypeOf('function'); - expect(scan.tokenSimilarity).toBeTypeOf('function'); - expect(scan.localCandidateTables).toBeTypeOf('function'); - expect(scan.scoreKtxRelationshipCandidate).toBeTypeOf('function'); - expect(scan.defaultKtxRelationshipScoreWeights).toBeTypeOf('function'); - expect(scan.normalizeKtxRelationshipScoreWeights).toBeTypeOf('function'); - expect(scan.calibrateWeightsFromSyntheticFixtures).toBeTypeOf('function'); - expect(scan.singularizeKtxRelationshipToken).toBeTypeOf('function'); - expect(scan.pluralizeKtxRelationshipToken).toBeTypeOf('function'); - expect(scan.collectKtxFormalMetadataRelationships).toBeTypeOf('function'); - expect(scan.discoverKtxCompositeRelationships).toBeTypeOf('function'); - expect(scan.proposeKtxRelationshipCandidatesWithLlm).toBeTypeOf('function'); - expect(scan.profileKtxRelationshipSchema).toBeTypeOf('function'); - expect(scan.quoteKtxRelationshipIdentifier).toBeTypeOf('function'); - expect(scan.formatKtxRelationshipTableRef).toBeTypeOf('function'); - expect(scan.validateKtxRelationshipDiscoveryCandidates).toBeTypeOf('function'); - expect(scan.applyKtxRelationshipValidationBudget).toBeTypeOf('function'); - expect(scan.defaultKtxRelationshipValidationBudget).toBeTypeOf('function'); - expect(scan.resolveKtxRelationshipGraph).toBeTypeOf('function'); - expect(scan.discoverKtxRelationships).toBeTypeOf('function'); - expect('KtxRelationshipDetector' in scan).toBe(false); - expect('defaultKtxRelationshipDetectionSettings' in scan).toBe(false); - expect('KTX_RELATIONSHIP_DETECTION_CONFIDENCE' in scan).toBe(false); - expect(scan.buildKtxRelationshipArtifacts).toBeTypeOf('function'); - expect(scan.buildKtxRelationshipDiagnostics).toBeTypeOf('function'); - expect(scan.readLocalScanRelationshipArtifacts).toBeTypeOf('function'); - expect(scan.writeLocalScanRelationshipReviewDecision).toBeTypeOf('function'); - expect(scan.applyLocalScanRelationshipReviewDecisions).toBeTypeOf('function'); - expect(scan.exportLocalRelationshipFeedbackLabels).toBeTypeOf('function'); - expect(scan.formatKtxRelationshipFeedbackLabelsJsonl).toBeTypeOf('function'); - expect(scan.buildKtxRelationshipFeedbackCalibrationReport).toBeTypeOf('function'); - expect(scan.calibrateLocalRelationshipFeedbackLabels).toBeTypeOf('function'); - expect(scan.formatKtxRelationshipFeedbackCalibrationMarkdown).toBeTypeOf('function'); - expect(scan.buildKtxRelationshipThresholdAdviceReport).toBeTypeOf('function'); - expect(scan.adviseLocalRelationshipFeedbackThresholds).toBeTypeOf('function'); - expect(scan.formatKtxRelationshipThresholdAdviceMarkdown).toBeTypeOf('function'); - expect(scan.emptyKtxRelationshipProfileArtifact).toBeTypeOf('function'); - expect(scan.loadKtxRelationshipBenchmarkFixture).toBeTypeOf('function'); - expect(scan.loadKtxRelationshipBenchmarkFixtures).toBeTypeOf('function'); - expect(scan.maskKtxRelationshipBenchmarkSnapshot).toBeTypeOf('function'); - expect(scan.runKtxRelationshipBenchmarkCase).toBeTypeOf('function'); - expect(scan.runKtxRelationshipBenchmarkSuite).toBeTypeOf('function'); - expect(scan.KTX_RELATIONSHIP_BENCHMARK_MODES).toEqual([ - 'metadata_present', - 'declared_fks_removed', - 'declared_pks_removed', - 'declared_pks_and_declared_fks_removed', - 'llm_disabled', - 'profiling_disabled', - 'validation_disabled', - 'embeddings_disabled', - ]); - expect(scan.buildKtxRelationshipBenchmarkReport).toBeTypeOf('function'); - expect(scan.formatKtxRelationshipBenchmarkReportMarkdown).toBeTypeOf('function'); - expect(search).toBeDefined(); - expect(search.HybridSearchCore).toBeTypeOf('function'); - expect(search.normalizeSearchQuery).toBeTypeOf('function'); - expect(search.rrfContribution).toBeTypeOf('function'); - expect(search.assertSearchBackendConformanceCase).toBeTypeOf('function'); - expect(search.assertSearchBackendCapabilities).toBeTypeOf('function'); - expect(core.resolveKtxConfigReference).toBeTypeOf('function'); - expect(root.HybridSearchCore).toBeTypeOf('function'); - expect(root.assertSearchBackendConformanceCase).toBeTypeOf('function'); - expect(root.assertSearchBackendCapabilities).toBeTypeOf('function'); - expect(root.createLocalKtxEmbeddingProviderFromConfig).toBeTypeOf('function'); - expect(agent).toBeDefined(); - expect(agent.RuntimeAgentRunner).toBeTypeOf('function'); - expect(root.RuntimeAgentRunner).toBeTypeOf('function'); - expect(root.createLocalKtxLlmProviderFromConfig).toBeTypeOf('function'); - expect(prompts).toBeDefined(); - expect(skills).toBeDefined(); - expect(sl).toBeDefined(); - expect(sl.writeLocalSlSource).toBeTypeOf('function'); - expect(sl.readLocalSlSource).toBeTypeOf('function'); - expect(sl.validateLocalSlSource).toBeTypeOf('function'); - expect(sl.searchLocalSlSources).toBeTypeOf('function'); - expect(sl.SqliteSlSourcesIndex).toBeTypeOf('function'); - expect('searchLocalSlSourcesWithPglitePrototype' in sl).toBe(false); - expect(sl.compileLocalSlQuery).toBeTypeOf('function'); - expect(wiki).toBeDefined(); - expect(wiki.writeLocalKnowledgePage).toBeTypeOf('function'); - expect(wiki.readLocalKnowledgePage).toBeTypeOf('function'); - expect(wiki.searchLocalKnowledgePages).toBeTypeOf('function'); - expect(wiki.SqliteKnowledgeIndex).toBeTypeOf('function'); - expect('WikiSearchMatchReason' in wiki).toBe(false); - expect(tools).toBeDefined(); - expect(memory).toBeDefined(); - expect(ingest).toBeDefined(); - expect(memoryFlow.parseMemoryFlowReplayInput).toBeTypeOf('function'); - expect(memoryFlow.renderMemoryFlowReplay).toBeTypeOf('function'); - expect(ingest.LiveDatabaseSourceAdapter).toBeTypeOf('function'); - expect(ingest.createDaemonLiveDatabaseIntrospection).toBeTypeOf('function'); - expect(ingest.buildLiveDatabaseManifestShards).toBeTypeOf('function'); - expect(ingest.planLiveDatabaseStructuralSync).toBeTypeOf('function'); - expect(ingest.runLocalIngest).toBeTypeOf('function'); - expect(ingest.runLocalMetabaseIngest).toBeTypeOf('function'); - expect(ingest.getLocalIngestStatus).toBeTypeOf('function'); - expect(ingest.createLocalBundleIngestRuntime).toBeTypeOf('function'); - expect(ingest.runLocalStageOnlyIngest).toBeTypeOf('function'); - expect(ingest.getLocalStageOnlyIngestStatus).toBeTypeOf('function'); - expect(ingest.createDefaultLocalIngestAdapters).toBeTypeOf('function'); - expect(ingest.createLookerQueryToSlTool).toBeTypeOf('function'); - expect(ingest.buildLookerSlProposal).toBeTypeOf('function'); - expect(ingest.describeLookerScope).toBeTypeOf('function'); - expect(ingest.hashLookerScope).toBeTypeOf('function'); - expect(ingest.readLookerFetchReport).toBeTypeOf('function'); - expect(ingest.writeLookerFetchReport).toBeTypeOf('function'); - expect(ingest.writeLookerEvidenceDocuments).toBeTypeOf('function'); - expect(ingest.getLookerTriageSignals).toBeTypeOf('function'); - expect(ingest.LookerClient).toBeTypeOf('function'); - expect(ingest.DefaultLookerConnectionClientFactory).toBeTypeOf('function'); - expect(ingest.DefaultLookerClientFactory).toBeTypeOf('function'); - expect(ingest.LocalLookerRuntimeStore).toBeTypeOf('function'); - expect(ingest.createDaemonLookerTableIdentifierParser).toBeTypeOf('function'); - expect(ingest.createLocalLookerCredentialResolver).toBeTypeOf('function'); - expect(ingest.discoverLookerConnections).toBeTypeOf('function'); - expect(ingest.computeLookerMappingDrift).toBeTypeOf('function'); - expect(ingest.validateLookerMappings).toBeTypeOf('function'); - expect(ingest.refreshLookerMappingPlaceholders).toBeTypeOf('function'); - expect(ingest.suggestKtxConnectionForLookerConnection).toBeTypeOf('function'); - expect(ingest.buildLookerPullConfigFromInputs).toBeTypeOf('function'); - expect(ingest.validateLookerWarehouseTarget).toBeTypeOf('function'); - expect(ingest.sqlglotDialectForConnectionType).toBeTypeOf('function'); - expect(ingest.lookerConnectionIdSchema).toBeDefined(); - expect(ingest.lookerRuntimeCursorsSchema).toBeDefined(); - expect(ingest.stagedSyncConfigSchema).toBeDefined(); - expect(ingest.stagedLookerScopeFileSchema).toBeDefined(); - expect(ingest.stagedLookerFetchReportSchema).toBeDefined(); - expect('LocalMetabaseSourceStateReader' in ingest).toBe(false); - expect(ingest.KtxYamlMetabaseSourceStateReader).toBeTypeOf('function'); - expect(ingest.LocalMetabaseDiscoveryCache).toBeTypeOf('function'); - expect(ingest.createLocalMetabaseSourceAdapter).toBeTypeOf('function'); - expect(ingest.metabaseRuntimeConfigFromLocalConnection).toBeTypeOf('function'); - expect(ingest.IngestMetabaseClientFactory).toBeTypeOf('function'); - expect(ingest.MetabaseClient).toBeTypeOf('function'); - expect(ingest.DefaultMetabaseConnectionClientFactory).toBeTypeOf('function'); - expect(ingest.DEFAULT_METABASE_CLIENT_CONFIG).toMatchObject({ - maxRetries: 2, - timeoutMs: 60000, - retryableStatuses: [429, 500, 502, 503, 504], - }); - expect(ingest.expandCardReferences).toBeTypeOf('function'); - expect(ingest.CardReferenceCycleError).toBeTypeOf('function'); - expect(ingest.parseMetabasePullConfig).toBeTypeOf('function'); - expect(ingest.METABASE_ENGINE_TO_CONNECTION_TYPE).toMatchObject({ - postgres: 'POSTGRESQL', - bigquery: 'BIGQUERY', - snowflake: 'SNOWFLAKE', - }); - expect(metabaseMapping.METABASE_ENGINE_TO_CONNECTION_TYPE).toBe(ingest.METABASE_ENGINE_TO_CONNECTION_TYPE); - expect(metabaseMapping.validateMappingPhysicalMatch).toBeTypeOf('function'); - expect(ingest.discoverMetabaseDatabases).toBeTypeOf('function'); - expect(ingest.computeMetabaseMappingDrift).toBeTypeOf('function'); - expect(ingest.computeMetabaseMappingPhysicalMismatches).toBeTypeOf('function'); - expect(ingest.refreshMetabaseMapping).toBeTypeOf('function'); - expect(ingest.validateMetabaseMappings).toBeTypeOf('function'); - expect(ingest.validateMappingPhysicalMatch).toBeTypeOf('function'); - expect(ingest.findBestMatch).toBeTypeOf('function'); - expect(ingest.NotionSourceAdapter).toBeTypeOf('function'); - expect(ingest.NotionClient).toBeTypeOf('function'); - expect(ingest.HistoricSqlSourceAdapter).toBeTypeOf('function'); - expect(ingest.SnowflakeHistoricSqlQueryHistoryReader).toBeTypeOf('function'); - expect(ingest.BigQueryHistoricSqlQueryHistoryReader).toBeTypeOf('function'); - expect(ingest.PostgresPgssReader).toBeTypeOf('function'); - expect(ingest.HistoricSqlExtensionMissingError).toBeTypeOf('function'); - expect(ingest.HistoricSqlVersionUnsupportedError).toBeTypeOf('function'); - expect(ingest.HISTORIC_SQL_SOURCE_KEY).toBe('historic-sql'); - expect(ingest.historicSqlUnifiedPullConfigSchema).toBeDefined(); - expect(ingest.aggregatedTemplateSchema).toBeDefined(); - expect(ingest.stagedTableInputSchema).toBeDefined(); - expect(ingest.historicSqlEvidenceEnvelopeSchema).toBeDefined(); - expect(ingest.historicSqlEvidencePath).toBeTypeOf('function'); - expect(ingest.createEmitHistoricSqlEvidenceTool).toBeTypeOf('function'); - expect(ingest.SqliteContextEvidenceStore).toBeTypeOf('function'); - expect(ingest.SqliteBundleIngestStore).toBeTypeOf('function'); - expect(ingest.CuratorPaginationService).toBeTypeOf('function'); - expect(mcp).toBeDefined(); - expect(project).toBeDefined(); - expect(daemon).toBeDefined(); - expect(mcp.registerKtxContextTools).toBeTypeOf('function'); - expect(mcp.createLocalProjectMcpContextPorts).toBeTypeOf('function'); - expect(project.buildDefaultKtxProjectConfig).toBeTypeOf('function'); - expect(daemon.createHttpSemanticLayerComputePort).toBeTypeOf('function'); - expect(daemon.createPythonSemanticLayerComputePort).toBeTypeOf('function'); - expect(sqlAnalysis.createHttpSqlAnalysisPort).toBeTypeOf('function'); - expect(root.createHttpSqlAnalysisPort).toBeTypeOf('function'); - }); -}); diff --git a/packages/context/tsconfig.json b/packages/context/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/context/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/context/vitest.config.ts b/packages/context/vitest.config.ts deleted file mode 100644 index 2339ffd3..00000000 --- a/packages/context/vitest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - root: '.', - include: ['src/**/*.test.ts'], - }, -}); diff --git a/packages/llm/package.json b/packages/llm/package.json deleted file mode 100644 index 277e0a98..00000000 --- a/packages/llm/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@ktx/llm", - "version": "0.0.0-private", - "description": "Canonical KTX LLM and embedding provider package", - "private": true, - "type": "module", - "engines": { - "node": ">=22.0.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc -p tsconfig.json", - "test": "vitest run", - "type-check": "tsc -p tsconfig.json --noEmit" - }, - "dependencies": { - "@ai-sdk/anthropic": "3.0.77", - "@ai-sdk/devtools": "0.0.17", - "@ai-sdk/google-vertex": "^4.0.128", - "ai": "^6.0.180", - "openai": "^6.37.0" - }, - "devDependencies": { - "@types/node": "^25.7.0", - "@vitest/coverage-v8": "^4.1.6", - "typescript": "^6.0.3", - "vitest": "^4.1.6" - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/kaelio/ktx.git", - "directory": "packages/llm" - }, - "bugs": { - "url": "https://github.com/kaelio/ktx/issues" - }, - "homepage": "https://github.com/kaelio/ktx#readme" -} diff --git a/packages/llm/tsconfig.json b/packages/llm/tsconfig.json deleted file mode 100644 index 965e6978..00000000 --- a/packages/llm/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src/**/*.ts"], - "exclude": ["dist", "node_modules"] -} diff --git a/packages/llm/vitest.config.ts b/packages/llm/vitest.config.ts deleted file mode 100644 index 2339ffd3..00000000 --- a/packages/llm/vitest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - root: '.', - include: ['src/**/*.test.ts'], - }, -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8079946..d513e057 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,6 +22,12 @@ importers: '@biomejs/biome': specifier: ^2.4.15 version: 2.4.15 + '@electric-sql/pglite': + specifier: ^0.4.5 + version: 0.4.5 + '@electric-sql/pglite-socket': + specifier: ^0.1.5 + version: 0.1.5(@electric-sql/pglite@0.4.5) '@semantic-release/commit-analyzer': specifier: ^13.0.1 version: 13.0.1(semantic-release@25.0.3(typescript@6.0.3)) @@ -52,6 +58,9 @@ importers: knip: specifier: ^6.12.2 version: 6.12.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + pg: + specifier: ^8.20.0 + version: 8.20.0 semantic-release: specifier: ^25.0.3 version: 25.0.3(typescript@6.0.3) @@ -116,260 +125,21 @@ importers: '@ai-sdk/google-vertex': specifier: ^4.0.128 version: 4.0.128(zod@4.4.3) - '@clack/prompts': - specifier: 1.4.0 - version: 1.4.0 - '@commander-js/extra-typings': - specifier: 14.0.0 - version: 14.0.0(commander@14.0.3) - '@ktx/connector-bigquery': - specifier: workspace:* - version: file:packages/connector-bigquery(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-clickhouse': - specifier: workspace:* - version: file:packages/connector-clickhouse(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-mysql': - specifier: workspace:* - version: file:packages/connector-mysql(@types/node@24.12.2)(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-postgres': - specifier: workspace:* - version: file:packages/connector-postgres(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-snowflake': - specifier: workspace:* - version: file:packages/connector-snowflake(asn1.js@5.4.1)(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-sqlite': - specifier: workspace:* - version: file:packages/connector-sqlite(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/connector-sqlserver': - specifier: workspace:* - version: file:packages/connector-sqlserver(js-yaml@4.1.1)(ws@8.20.1) - '@ktx/context': - specifier: workspace:* - version: link:../context - '@ktx/llm': - specifier: workspace:* - version: link:../llm - '@modelcontextprotocol/sdk': - specifier: ^1.29.0 - version: 1.29.0(zod@4.4.3) - ai: - specifier: ^6.0.180 - version: 6.0.180(zod@4.4.3) - commander: - specifier: 14.0.3 - version: 14.0.3 - fflate: - specifier: ^0.8.2 - version: 0.8.2 - ink: - specifier: ^7.0.2 - version: 7.0.2(@types/react@19.2.14)(react@19.2.6) - openai: - specifier: ^6.37.0 - version: 6.37.0(ws@8.20.1)(zod@4.4.3) - react: - specifier: ^19.2.6 - version: 19.2.6 - zod: - specifier: ^4.4.3 - version: 4.4.3 - devDependencies: - '@types/better-sqlite3': - specifier: ^7.6.13 - version: 7.6.13 - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@types/react': - specifier: ^19.2.14 - version: 19.2.14 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - better-sqlite3: - specifier: ^12.10.0 - version: 12.10.0 - ink-testing-library: - specifier: ^4.0.0 - version: 4.0.0(@types/react@19.2.14) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-bigquery: - dependencies: - '@google-cloud/bigquery': - specifier: ^8.3.1 - version: 8.3.1 - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-clickhouse: - dependencies: - '@clickhouse/client': - specifier: ^1.18.4 - version: 1.18.4 - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-mysql: - dependencies: - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - mysql2: - specifier: ^3.22.3 - version: 3.22.3(@types/node@24.12.2) - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-postgres: - dependencies: - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - pg: - specifier: ^8.20.0 - version: 8.20.0 - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@types/pg': - specifier: ^8.20.0 - version: 8.20.0 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-snowflake: - dependencies: - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - snowflake-sdk: - specifier: ^2.4.1 - version: 2.4.1(asn1.js@5.4.1) - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-sqlite: - dependencies: - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - better-sqlite3: - specifier: ^12.10.0 - version: 12.10.0 - devDependencies: - '@types/better-sqlite3': - specifier: ^7.6.13 - version: 7.6.13 - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/connector-sqlserver: - dependencies: - '@ktx/context': - specifier: workspace:* - version: file:packages/context(js-yaml@4.1.1) - mssql: - specifier: ^12.5.2 - version: 12.5.2(@azure/core-client@1.10.1) - devDependencies: - '@types/mssql': - specifier: ^12.3.0 - version: 12.3.0(@azure/core-client@1.10.1) - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/context: - dependencies: '@anthropic-ai/claude-agent-sdk': specifier: 0.3.142 version: 0.3.142(zod@4.4.3) - '@ktx/llm': - specifier: workspace:* - version: link:../llm + '@clack/prompts': + specifier: 1.4.0 + version: 1.4.0 + '@clickhouse/client': + specifier: ^1.18.4 + version: 1.18.4 + '@commander-js/extra-typings': + specifier: 14.0.0 + version: 14.0.0(commander@14.0.3) + '@google-cloud/bigquery': + specifier: ^8.3.1 + version: 8.3.1 '@looker/sdk': specifier: ^26.8.0 version: 26.8.0 @@ -391,24 +161,48 @@ importers: better-sqlite3: specifier: ^12.10.0 version: 12.10.0 + commander: + specifier: 14.0.3 + version: 14.0.3 + fflate: + specifier: ^0.8.2 + version: 0.8.2 handlebars: specifier: ^4.7.9 version: 4.7.9 + ink: + specifier: ^7.0.2 + version: 7.0.2(@types/react@19.2.14)(react@19.2.6) lookml-parser: specifier: 7.1.0 version: 7.1.0(js-yaml@4.1.1) minimatch: specifier: ^10.2.5 version: 10.2.5 + mssql: + specifier: ^12.5.2 + version: 12.5.2(@azure/core-client@1.10.1) + mysql2: + specifier: ^3.22.3 + version: 3.22.3(@types/node@24.12.2) + openai: + specifier: ^6.37.0 + version: 6.37.0(ws@8.20.1)(zod@4.4.3) p-limit: specifier: ^7.3.0 version: 7.3.0 pg: specifier: ^8.20.0 version: 8.20.0 + react: + specifier: ^19.2.6 + version: 19.2.6 simple-git: specifier: 3.36.0 version: 3.36.0 + snowflake-sdk: + specifier: ^2.4.1 + version: 2.4.1(asn1.js@5.4.1) yaml: specifier: ^2.9.0 version: 2.9.0 @@ -425,49 +219,27 @@ importers: '@types/better-sqlite3': specifier: ^7.6.13 version: 7.6.13 + '@types/mssql': + specifier: ^12.3.0 + version: 12.3.0(@azure/core-client@1.10.1) '@types/node': specifier: ^24.3.0 version: 24.12.2 '@types/pg': specifier: ^8.20.0 version: 8.20.0 + '@types/react': + specifier: ^19.2.14 + version: 19.2.14 '@vitest/coverage-v8': specifier: ^4.1.6 version: 4.1.6(vitest@4.1.6) ajv: specifier: 8.20.0 version: 8.20.0 - typescript: - specifier: ^6.0.3 - version: 6.0.3 - vitest: - specifier: ^4.1.6 - version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.6)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(yaml@2.9.0)) - - packages/llm: - dependencies: - '@ai-sdk/anthropic': - specifier: 3.0.77 - version: 3.0.77(zod@4.4.3) - '@ai-sdk/devtools': - specifier: 0.0.17 - version: 0.0.17 - '@ai-sdk/google-vertex': - specifier: ^4.0.128 - version: 4.0.128(zod@4.4.3) - ai: - specifier: ^6.0.180 - version: 6.0.180(zod@4.4.3) - openai: - specifier: ^6.37.0 - version: 6.37.0(ws@8.20.1)(zod@4.4.3) - devDependencies: - '@types/node': - specifier: ^24.3.0 - version: 24.12.2 - '@vitest/coverage-v8': - specifier: ^4.1.6 - version: 4.1.6(vitest@4.1.6) + ink-testing-library: + specifier: ^4.0.0 + version: 4.0.0(@types/react@19.2.14) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -632,10 +404,6 @@ packages: resolution: {integrity: sha512-oDJJ7rM1osvfBdfZuhQ5DM6lHD9iuypL9m2LsEiA/lB8xuE5uPYsftNDcS0J9VRXFSvYTqC14K7Y5vMMKMg0vw==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.974.7': - resolution: {integrity: sha512-YhRC90ofz5oolTJZlA8voU/oUrCB2azi8Usx51k8hhB5LpWbYQMMXKUqSqkoL0Cru+RQJgWTHpAfEDDIwfUhJw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.974.8': resolution: {integrity: sha512-njR2qoG6ZuB0kvAS2FyICsFZJ6gmCcf2X/7JcD14sUvGDm26wiZ5BrA6LOiUxKFEF+IVe7kdroxyE00YlkiYsw==} engines: {node: '>=20.0.0'} @@ -644,66 +412,34 @@ packages: resolution: {integrity: sha512-QUagVVBbC8gODCF6e1aV0mE2TXWB9Opz4k8EJFdNrujUVQm5R4AjJa1mpOqzwOuROBzqJU9zawzig7M96L8Ejg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.33': - resolution: {integrity: sha512-bJV7eViSJV6GSuuN+VIdNVPdwPsNSf75BiC2v5alPrjR/OCcqgKwSZInKbDFz9mNeizldsyf67jt6YSIiv53Cw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.34': resolution: {integrity: sha512-XT0jtf8Fw9JE6ppsQeoNnZRiG+jqRixMT1v1ZR17G60UvVdsQmTG8nbEyHuEPfMxDXEhfdARaM/XiEhca4lGHQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.35': - resolution: {integrity: sha512-x/BQGEIdq0oI+4WxLjKmnQvT7CnF9r8ezdGt7wXwxb7ckHXQz0Zmgxt8v3Ne0JaT3R5YefmuybHX6E8EnsDXyA==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.36': resolution: {integrity: sha512-DPoGWfy7J7RKxvbf5kOKIGQkD2ek3dbKgzKIGrnLuvZBz5myU+Im/H6pmc14QcnFbqHMqxvtWSgRDSJW3qXLQg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.37': - resolution: {integrity: sha512-eUTpmWfd/BKsq9medhCRcu+GRAhFP2Zrn7/2jKDHHOOjCkhrMoTp/t4cEthqFoG7gE0VGp5wUxrXTdvBCmSmJg==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.38': resolution: {integrity: sha512-oDzUBu2MGJFgoar05sPMCwSrhw44ASyccrHzj66vO69OZqi7I6hZZxXfuPLC8OCzW7C+sU+bI73XHij41yekgQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.37': - resolution: {integrity: sha512-Ty68y8ISSC+g5Q3D0K8uAaoINwvfaOslnNpsF/LgVUxyosYXHawcK2yV4HLXDVugiTTYLQfJfcw0ce5meAGkKw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.38': resolution: {integrity: sha512-g1NosS8qe4OF++G2UFCM5ovSkgipC7YYor5KCWatG0UoMSO5YFj9C8muePlyVmOBV/WTI16Jo3/s1NUo/o1Bww==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.38': - resolution: {integrity: sha512-BQ9XYnBDVxR2HuV5huXYQYF/PZMTsY+EnwfGnCU2cA8Zw63XpkOtPY8WqiMIZMQCrKPQQEiFURS/o9CIolRLqg==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.39': resolution: {integrity: sha512-HEswDQyxUtadoZ/bJsPPENHg7R0Lzym5LuMksJeHvqhCOpP+rtkDLKI4/ZChH4w3cf5kG8n6bZuI8PzajoiqMg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.33': - resolution: {integrity: sha512-yfjGksI9WQbdMObb0VeLXqzTLI+a0qXLJT9gCDiv0+X/xjPpI3mTz6a5FibrhpuEKIe0gSgvs3MaoFZy5cx4WA==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.34': resolution: {integrity: sha512-T3IFs4EVmVi1dVN5RciFnklCANSzvrQd/VuHY9ThHSQmYkTogjcGkoJEr+oNUPQZnso52183088NqysMPji1/Q==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.37': - resolution: {integrity: sha512-fpwE+20ntpp3i9Xb9vUuQfXLDKYHH+5I2V+ZG96SX1nBzrruhy10RXDgmN7t1etOz3c55stlA3TeQASUA451NQ==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.38': resolution: {integrity: sha512-5ZxG+t0+3Q3QPh8KEjX6syskhgNf7I0MN7oGioTf6Lm1NTjfP7sIcYGNsthXC2qR8vcD3edNZwCr2ovfSSWuRA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.37': - resolution: {integrity: sha512-aryawqyebf+3WhAFNHfF62rekFpYtVcVN7dQ89qnAWsa4n5hJst8qBG6gXC24WHtW7Nnhkf9ScYnjwo0Brn3bw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.38': resolution: {integrity: sha512-lYHFF30DGI20jZcYX8cm6Ns0V7f1dDN6g/MBDLTyD/5iw+bXs3yBr2iAiHDkx4RFU5JgsnZvCHYKiRVPRdmOgw==} engines: {node: '>=20.0.0'} @@ -740,10 +476,6 @@ packages: resolution: {integrity: sha512-+zz6f79Kj9V5qFK2P+D8Ehjnw4AhphAlCAsPjUqEcInA9umtSSKMrHbSagEeOIsDNuvVrH98bjRHcyQukTrhaQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.36': - resolution: {integrity: sha512-YhPix+0x/MdQrb1Ug1GDKeS5fqylIy+naz800asX8II4jqfTk2KY2KhmmYCwZcky8YWtRQQwWCGdoqeAnip8Uw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.37': resolution: {integrity: sha512-Km7M+i8DrLArVzrid1gfxeGhYHBd3uxvE77g0s5a52zPSVosxzQBnJ0gwWb6NIp/DOk8gsBMhi7V+cpJG0ndTA==} engines: {node: '>=20.0.0'} @@ -752,18 +484,10 @@ packages: resolution: {integrity: sha512-Gli9A0u8EVVb+5bFDGS/QbSVg28w/wpEidg1ggVcSj65BDTdGR6punsOcVjqdiu1i42WHWo51MCvARPIIz9juw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.37': - resolution: {integrity: sha512-N1oNpdiLoVAWYD3WFBnUi3LlfoDA06ZHo4ozyjbsJNLvILzvt//0CnR8N+CZ0NWeYgVB/5V59ivixHCWCx2ALw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.38': resolution: {integrity: sha512-iz+B29TXcAZsJpwB+AwG/TTGA5l/VnmMZ2UxtiySOZjI6gCdmviXPwdgzcmuazMy16rXoPY4mYCGe7zdNKfx5A==} engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.997.5': - resolution: {integrity: sha512-jGFr6DxtcMTmzOkG/a0jCZYv4BBDmeNYVeO+/memSoDkYCJu4Y58xviYmzwJfYyIVSts+X/BVjJm1uGBnwHEMg==} - engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.997.6': resolution: {integrity: sha512-WBDnqatJl+kGObpfmfSxqnXeYTu3Me8wx8WCtvoxX3pfWrrTv8I4WTMSSs7PZqcRcVh8WeUKMgGFjMG+52SR1w==} engines: {node: '>=20.0.0'} @@ -772,18 +496,10 @@ packages: resolution: {integrity: sha512-CvJ2ZIjK/jVD/lbOpowBVElJyC1YxLTIJ13yM0AEo0t2v7swOzGjSA6lJGH+DwZXQhcjUjoYwc8bVYCX5MDr1A==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.24': - resolution: {integrity: sha512-amP7tLikppN940wbBFISYqiuzVmpzMS9U3mcgtmVLjX4fdWI/SNCvrXv6ZxfVzTT4cT0rPKOLhFah2xLwzREWw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.25': resolution: {integrity: sha512-+CMIt3e1VzlklAECmG+DtP1sV8iKq25FuA0OKpnJ4KA0kxUtd7CgClY7/RU6VzJBQwbN4EJ9Ue6plvqx1qGadw==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1039.0': - resolution: {integrity: sha512-NMSFL2HwkAOoCeLCQiqoOq5pT3vVbSjww2QZTuYgYknVwhhv125PSDzZIcL5EYnlxuPWjEOdauZK+FspkZDVdw==} - engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1041.0': resolution: {integrity: sha512-Th7kPI6YPtvJUcdznooXJMy+9rQWjmEF81LxaJssngBzuysK4a/x+l8kjm1zb7nYsUPbndnBdUnwng/3PLvtGw==} engines: {node: '>=20.0.0'} @@ -807,15 +523,6 @@ packages: '@aws-sdk/util-user-agent-browser@3.972.10': resolution: {integrity: sha512-FAzqXvfEssGdSIz8ejatan0bOdx1qefBWKF/gWmVBXIP1HkS7v/wjjaqrAGGKvyihrXTXW00/2/1nTJtxpXz7g==} - '@aws-sdk/util-user-agent-node@3.973.23': - resolution: {integrity: sha512-gGwq8L2Euw0aNG6Ey4EktiAo3fSCVoDy1CaBIthd+oeaKHPXUrNaApMewQ6La5Hv0lcznOtECZaNvYyc5LXXfA==} - engines: {node: '>=20.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - '@aws-sdk/util-user-agent-node@3.973.24': resolution: {integrity: sha512-ZWwlkjcIp7cEL8ZfTpTAPNkwx25p7xol0xlKoWVVf22+nsjwmLcHYtTPjIV1cSpmB/b6DaK4cb1fSkvCXHgRdw==} engines: {node: '>=20.0.0'} @@ -1435,42 +1142,6 @@ packages: '@js-joda/core@5.7.0': resolution: {integrity: sha512-WBu4ULVVxySLLzK1Ppq+OdfP+adRS4ntmDQT915rzDJ++i95gc2jZkM5B6LWEAwN3lGXpfie3yPABozdD3K3Vg==} - '@ktx/connector-bigquery@file:packages/connector-bigquery': - resolution: {directory: packages/connector-bigquery, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-clickhouse@file:packages/connector-clickhouse': - resolution: {directory: packages/connector-clickhouse, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-mysql@file:packages/connector-mysql': - resolution: {directory: packages/connector-mysql, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-postgres@file:packages/connector-postgres': - resolution: {directory: packages/connector-postgres, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-snowflake@file:packages/connector-snowflake': - resolution: {directory: packages/connector-snowflake, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-sqlite@file:packages/connector-sqlite': - resolution: {directory: packages/connector-sqlite, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/connector-sqlserver@file:packages/connector-sqlserver': - resolution: {directory: packages/connector-sqlserver, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/context@file:packages/context': - resolution: {directory: packages/context, type: directory} - engines: {node: '>=22.0.0'} - - '@ktx/llm@file:packages/llm': - resolution: {directory: packages/llm, type: directory} - engines: {node: '>=22.0.0'} - '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -6543,23 +6214,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.974.7': - dependencies: - '@aws-sdk/types': 3.973.8 - '@aws-sdk/xml-builder': 3.972.22 - '@smithy/core': 3.23.17 - '@smithy/node-config-provider': 4.3.14 - '@smithy/property-provider': 4.2.14 - '@smithy/protocol-http': 5.3.14 - '@smithy/signature-v4': 5.3.14 - '@smithy/smithy-client': 4.12.13 - '@smithy/types': 4.14.1 - '@smithy/util-base64': 4.3.2 - '@smithy/util-middleware': 4.2.14 - '@smithy/util-retry': 4.3.6 - '@smithy/util-utf8': 4.2.2 - tslib: 2.8.1 - '@aws-sdk/core@3.974.8': dependencies: '@aws-sdk/types': 3.973.8 @@ -6582,14 +6236,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.33': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.34': dependencies: '@aws-sdk/core': 3.974.8 @@ -6598,19 +6244,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.35': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/types': 3.973.8 - '@smithy/fetch-http-handler': 5.3.17 - '@smithy/node-http-handler': 4.6.1 - '@smithy/property-provider': 4.2.14 - '@smithy/protocol-http': 5.3.14 - '@smithy/smithy-client': 4.12.13 - '@smithy/types': 4.14.1 - '@smithy/util-stream': 4.5.25 - tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.36': dependencies: '@aws-sdk/core': 3.974.8 @@ -6624,25 +6257,6 @@ snapshots: '@smithy/util-stream': 4.5.25 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.37': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/credential-provider-env': 3.972.33 - '@aws-sdk/credential-provider-http': 3.972.35 - '@aws-sdk/credential-provider-login': 3.972.37 - '@aws-sdk/credential-provider-process': 3.972.33 - '@aws-sdk/credential-provider-sso': 3.972.37 - '@aws-sdk/credential-provider-web-identity': 3.972.37 - '@aws-sdk/nested-clients': 3.997.5 - '@aws-sdk/types': 3.973.8 - '@smithy/credential-provider-imds': 4.2.14 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/credential-provider-ini@3.972.38': dependencies: '@aws-sdk/core': 3.974.8 @@ -6662,19 +6276,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.37': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/nested-clients': 3.997.5 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/protocol-http': 5.3.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/credential-provider-login@3.972.38': dependencies: '@aws-sdk/core': 3.974.8 @@ -6688,23 +6289,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.38': - dependencies: - '@aws-sdk/credential-provider-env': 3.972.33 - '@aws-sdk/credential-provider-http': 3.972.35 - '@aws-sdk/credential-provider-ini': 3.972.37 - '@aws-sdk/credential-provider-process': 3.972.33 - '@aws-sdk/credential-provider-sso': 3.972.37 - '@aws-sdk/credential-provider-web-identity': 3.972.37 - '@aws-sdk/types': 3.973.8 - '@smithy/credential-provider-imds': 4.2.14 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/credential-provider-node@3.972.39': dependencies: '@aws-sdk/credential-provider-env': 3.972.34 @@ -6722,15 +6306,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.33': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - '@aws-sdk/credential-provider-process@3.972.34': dependencies: '@aws-sdk/core': 3.974.8 @@ -6740,19 +6315,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.37': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/nested-clients': 3.997.5 - '@aws-sdk/token-providers': 3.1039.0 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/credential-provider-sso@3.972.38': dependencies: '@aws-sdk/core': 3.974.8 @@ -6766,18 +6328,6 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.37': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/nested-clients': 3.997.5 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.38': dependencies: '@aws-sdk/core': 3.974.8 @@ -6861,23 +6411,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.36': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/types': 3.973.8 - '@aws-sdk/util-arn-parser': 3.972.3 - '@smithy/core': 3.23.17 - '@smithy/node-config-provider': 4.3.14 - '@smithy/protocol-http': 5.3.14 - '@smithy/signature-v4': 5.3.14 - '@smithy/smithy-client': 4.12.13 - '@smithy/types': 4.14.1 - '@smithy/util-config-provider': 4.2.2 - '@smithy/util-middleware': 4.2.14 - '@smithy/util-stream': 4.5.25 - '@smithy/util-utf8': 4.2.2 - tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.37': dependencies: '@aws-sdk/core': 3.974.8 @@ -6901,17 +6434,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.37': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/types': 3.973.8 - '@aws-sdk/util-endpoints': 3.996.8 - '@smithy/core': 3.23.17 - '@smithy/protocol-http': 5.3.14 - '@smithy/types': 4.14.1 - '@smithy/util-retry': 4.3.6 - tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.38': dependencies: '@aws-sdk/core': 3.974.8 @@ -6923,50 +6445,6 @@ snapshots: '@smithy/util-retry': 4.3.6 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.997.5': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.974.7 - '@aws-sdk/middleware-host-header': 3.972.10 - '@aws-sdk/middleware-logger': 3.972.10 - '@aws-sdk/middleware-recursion-detection': 3.972.11 - '@aws-sdk/middleware-user-agent': 3.972.37 - '@aws-sdk/region-config-resolver': 3.972.13 - '@aws-sdk/signature-v4-multi-region': 3.996.24 - '@aws-sdk/types': 3.973.8 - '@aws-sdk/util-endpoints': 3.996.8 - '@aws-sdk/util-user-agent-browser': 3.972.10 - '@aws-sdk/util-user-agent-node': 3.973.23 - '@smithy/config-resolver': 4.4.17 - '@smithy/core': 3.23.17 - '@smithy/fetch-http-handler': 5.3.17 - '@smithy/hash-node': 4.2.14 - '@smithy/invalid-dependency': 4.2.14 - '@smithy/middleware-content-length': 4.2.14 - '@smithy/middleware-endpoint': 4.4.32 - '@smithy/middleware-retry': 4.5.7 - '@smithy/middleware-serde': 4.2.20 - '@smithy/middleware-stack': 4.2.14 - '@smithy/node-config-provider': 4.3.14 - '@smithy/node-http-handler': 4.6.1 - '@smithy/protocol-http': 5.3.14 - '@smithy/smithy-client': 4.12.13 - '@smithy/types': 4.14.1 - '@smithy/url-parser': 4.2.14 - '@smithy/util-base64': 4.3.2 - '@smithy/util-body-length-browser': 4.2.2 - '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.49 - '@smithy/util-defaults-mode-node': 4.2.54 - '@smithy/util-endpoints': 3.4.2 - '@smithy/util-middleware': 4.2.14 - '@smithy/util-retry': 4.3.6 - '@smithy/util-utf8': 4.2.2 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/nested-clients@3.997.6': dependencies: '@aws-crypto/sha256-browser': 5.2.0 @@ -7019,15 +6497,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.24': - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.36 - '@aws-sdk/types': 3.973.8 - '@smithy/protocol-http': 5.3.14 - '@smithy/signature-v4': 5.3.14 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.25': dependencies: '@aws-sdk/middleware-sdk-s3': 3.972.37 @@ -7037,18 +6506,6 @@ snapshots: '@smithy/types': 4.14.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1039.0': - dependencies: - '@aws-sdk/core': 3.974.7 - '@aws-sdk/nested-clients': 3.997.5 - '@aws-sdk/types': 3.973.8 - '@smithy/property-provider': 4.2.14 - '@smithy/shared-ini-file-loader': 4.4.9 - '@smithy/types': 4.14.1 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - '@aws-sdk/token-providers@3.1041.0': dependencies: '@aws-sdk/core': 3.974.8 @@ -7089,15 +6546,6 @@ snapshots: bowser: 2.14.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.23': - dependencies: - '@aws-sdk/middleware-user-agent': 3.972.37 - '@aws-sdk/types': 3.973.8 - '@smithy/node-config-provider': 4.3.14 - '@smithy/types': 4.14.1 - '@smithy/util-config-provider': 4.2.2 - tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.24': dependencies: '@aws-sdk/middleware-user-agent': 3.972.38 @@ -7157,11 +6605,6 @@ snapshots: '@azure/core-client': 1.10.1 '@azure/core-rest-pipeline': 1.23.0 - '@azure/core-http-compat@2.4.0(@azure/core-rest-pipeline@1.23.0)': - dependencies: - '@azure/abort-controller': 2.1.2 - '@azure/core-rest-pipeline': 1.23.0 - '@azure/core-lro@2.7.2': dependencies: '@azure/abort-controller': 2.1.2 @@ -7233,24 +6676,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/keyvault-keys@4.10.0': - dependencies: - '@azure-rest/core-client': 2.6.0 - '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.10.1 - '@azure/core-http-compat': 2.4.0(@azure/core-rest-pipeline@1.23.0) - '@azure/core-lro': 2.7.2 - '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.23.0 - '@azure/core-tracing': 1.3.1 - '@azure/core-util': 1.13.1 - '@azure/keyvault-common': 2.1.0 - '@azure/logger': 1.3.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@azure/core-client' - - supports-color - '@azure/keyvault-keys@4.10.0(@azure/core-client@1.10.1)': dependencies: '@azure-rest/core-client': 2.6.0 @@ -7681,164 +7106,6 @@ snapshots: '@js-joda/core@5.7.0': {} - '@ktx/connector-bigquery@file:packages/connector-bigquery(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@google-cloud/bigquery': 8.3.1 - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-clickhouse@file:packages/connector-clickhouse(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@clickhouse/client': 1.18.4 - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-mysql@file:packages/connector-mysql(@types/node@24.12.2)(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - mysql2: 3.22.3(@types/node@24.12.2) - transitivePeerDependencies: - - '@cfworker/json-schema' - - '@types/node' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-postgres@file:packages/connector-postgres(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - pg: 8.20.0 - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-snowflake@file:packages/connector-snowflake(asn1.js@5.4.1)(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - snowflake-sdk: 2.4.1(asn1.js@5.4.1) - transitivePeerDependencies: - - '@cfworker/json-schema' - - asn1.js - - aws-crt - - debug - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-sqlite@file:packages/connector-sqlite(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - better-sqlite3: 12.10.0 - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/connector-sqlserver@file:packages/connector-sqlserver(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@ktx/context': file:packages/context(js-yaml@4.1.1)(ws@8.20.1) - mssql: 12.5.2 - transitivePeerDependencies: - - '@azure/core-client' - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/context@file:packages/context(js-yaml@4.1.1)': - dependencies: - '@anthropic-ai/claude-agent-sdk': 0.3.142(zod@4.4.3) - '@ktx/llm': file:packages/llm(zod@4.4.3) - '@looker/sdk': 26.8.0 - '@looker/sdk-node': 26.8.0 - '@looker/sdk-rtl': 21.6.5 - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) - '@notionhq/client': 5.21.0 - ai: 6.0.180(zod@4.4.3) - better-sqlite3: 12.10.0 - handlebars: 4.7.9 - lookml-parser: 7.1.0(js-yaml@4.1.1) - minimatch: 10.2.5 - p-limit: 7.3.0 - pg: 8.20.0 - simple-git: 3.36.0 - yaml: 2.9.0 - zod: 4.4.3 - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/context@file:packages/context(js-yaml@4.1.1)(ws@8.20.1)': - dependencies: - '@anthropic-ai/claude-agent-sdk': 0.3.142(zod@4.4.3) - '@ktx/llm': file:packages/llm(ws@8.20.1)(zod@4.4.3) - '@looker/sdk': 26.8.0 - '@looker/sdk-node': 26.8.0 - '@looker/sdk-rtl': 21.6.5 - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) - '@notionhq/client': 5.21.0 - ai: 6.0.180(zod@4.4.3) - better-sqlite3: 12.10.0 - handlebars: 4.7.9 - lookml-parser: 7.1.0(js-yaml@4.1.1) - minimatch: 10.2.5 - p-limit: 7.3.0 - pg: 8.20.0 - simple-git: 3.36.0 - yaml: 2.9.0 - zod: 4.4.3 - transitivePeerDependencies: - - '@cfworker/json-schema' - - js-yaml - - pg-native - - supports-color - - ws - - '@ktx/llm@file:packages/llm(ws@8.20.1)(zod@4.4.3)': - dependencies: - '@ai-sdk/anthropic': 3.0.77(zod@4.4.3) - '@ai-sdk/devtools': 0.0.17 - '@ai-sdk/google-vertex': 4.0.128(zod@4.4.3) - ai: 6.0.180(zod@4.4.3) - openai: 6.37.0(ws@8.20.1)(zod@4.4.3) - transitivePeerDependencies: - - supports-color - - ws - - zod - - '@ktx/llm@file:packages/llm(zod@4.4.3)': - dependencies: - '@ai-sdk/anthropic': 3.0.77(zod@4.4.3) - '@ai-sdk/devtools': 0.0.17 - '@ai-sdk/google-vertex': 4.0.128(zod@4.4.3) - ai: 6.0.180(zod@4.4.3) - openai: 6.37.0(zod@4.4.3) - transitivePeerDependencies: - - supports-color - - ws - - zod - '@kwsites/file-exists@1.1.1': dependencies: debug: 4.4.3 @@ -11553,17 +10820,6 @@ snapshots: ms@2.1.3: {} - mssql@12.5.2: - dependencies: - '@tediousjs/connection-string': 1.1.0 - commander: 11.1.0 - debug: 4.4.3 - tarn: 3.0.2 - tedious: 19.2.1 - transitivePeerDependencies: - - '@azure/core-client' - - supports-color - mssql@12.5.2(@azure/core-client@1.10.1): dependencies: '@tediousjs/connection-string': 1.1.0 @@ -11740,10 +10996,6 @@ snapshots: ws: 8.20.1 zod: 4.4.3 - openai@6.37.0(zod@4.4.3): - optionalDependencies: - zod: 4.4.3 - oxc-parser@0.128.0: dependencies: '@oxc-project/types': 0.128.0 @@ -12483,7 +11735,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-s3': 3.1045.0 '@aws-sdk/client-sts': 3.1045.0 - '@aws-sdk/credential-provider-node': 3.972.38 + '@aws-sdk/credential-provider-node': 3.972.39 '@aws-sdk/ec2-metadata-service': 3.1045.0 '@azure/identity': 4.13.1 '@azure/storage-blob': 12.26.0 @@ -12685,22 +11937,6 @@ snapshots: tarn@3.0.2: {} - tedious@19.2.1: - dependencies: - '@azure/core-auth': 1.10.1 - '@azure/identity': 4.13.1 - '@azure/keyvault-keys': 4.10.0 - '@js-joda/core': 5.7.0 - '@types/node': 24.12.2 - bl: 6.1.6 - iconv-lite: 0.7.2 - js-md4: 0.3.2 - native-duplexpair: 1.0.0 - sprintf-js: 1.1.3 - transitivePeerDependencies: - - '@azure/core-client' - - supports-color - tedious@19.2.1(@azure/core-client@1.10.1): dependencies: '@azure/core-auth': 1.10.1 diff --git a/scripts/anti-fixture-conditional.test.mjs b/scripts/anti-fixture-conditional.test.mjs index 1ab4da1e..b4a3241c 100644 --- a/scripts/anti-fixture-conditional.test.mjs +++ b/scripts/anti-fixture-conditional.test.mjs @@ -5,21 +5,21 @@ import { describe, it } from 'node:test'; const KTX_ROOT = new URL('../', import.meta.url); const RELATIONSHIP_RUNTIME_SOURCES = Object.freeze([ - 'packages/context/src/scan/relationship-benchmarks.ts', - 'packages/context/src/scan/relationship-budget.ts', - 'packages/context/src/scan/relationship-candidates.ts', - 'packages/context/src/scan/relationship-composite-candidates.ts', - 'packages/context/src/scan/relationship-graph-resolver.ts', - 'packages/context/src/scan/relationship-locality.ts', - 'packages/context/src/scan/relationship-name-similarity.ts', - 'packages/context/src/scan/relationship-discovery.ts', - 'packages/context/src/scan/relationship-profiling.ts', - 'packages/context/src/scan/relationship-scoring.ts', - 'packages/context/src/scan/relationship-validation.ts', + 'packages/cli/src/context/scan/relationship-benchmarks.ts', + 'packages/cli/src/context/scan/relationship-budget.ts', + 'packages/cli/src/context/scan/relationship-candidates.ts', + 'packages/cli/src/context/scan/relationship-composite-candidates.ts', + 'packages/cli/src/context/scan/relationship-graph-resolver.ts', + 'packages/cli/src/context/scan/relationship-locality.ts', + 'packages/cli/src/context/scan/relationship-name-similarity.ts', + 'packages/cli/src/context/scan/relationship-discovery.ts', + 'packages/cli/src/context/scan/relationship-profiling.ts', + 'packages/cli/src/context/scan/relationship-scoring.ts', + 'packages/cli/src/context/scan/relationship-validation.ts', ]); async function checkedInFixtureIds() { - const fixtureRoot = new URL('packages/context/test/fixtures/relationship-benchmarks/', KTX_ROOT); + const fixtureRoot = new URL('packages/cli/src/test/fixtures/relationship-benchmarks/', KTX_ROOT); const entries = await readdir(fixtureRoot, { withFileTypes: true }); return entries .filter((entry) => entry.isDirectory()) diff --git a/scripts/build-adventureworks-oltp-fixture.mjs b/scripts/build-adventureworks-oltp-fixture.mjs index 2a57fe85..07ef3bec 100644 --- a/scripts/build-adventureworks-oltp-fixture.mjs +++ b/scripts/build-adventureworks-oltp-fixture.mjs @@ -7,7 +7,7 @@ import { expectedLinksFromSnapshot, normalizeSqliteType } from './build-benchmar const scriptDir = path.dirname(fileURLToPath(import.meta.url)); const repoRoot = path.resolve(scriptDir, '..'); -const require = createRequire(new URL('../packages/context/package.json', import.meta.url)); +const require = createRequire(new URL('../packages/cli/package.json', import.meta.url)); const Database = require('better-sqlite3'); const { stringify: yamlStringify } = require('yaml'); @@ -224,7 +224,7 @@ async function main() { } const source = JSON.parse(readFileSync(path.join(scriptDir, 'adventureworks-oltp-source.json'), 'utf8')); - const { KtxSqlServerScanConnector } = await import('../packages/connector-sqlserver/dist/index.js'); + const { KtxSqlServerScanConnector } = await import('../packages/cli/dist/connectors/sqlserver/index.js'); const connector = new KtxSqlServerScanConnector({ connectionId: fixtureId, connection: { diff --git a/scripts/build-benchmark-snapshot.mjs b/scripts/build-benchmark-snapshot.mjs index 718c997a..d2dd7acd 100644 --- a/scripts/build-benchmark-snapshot.mjs +++ b/scripts/build-benchmark-snapshot.mjs @@ -5,7 +5,7 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; const scriptDir = path.dirname(fileURLToPath(import.meta.url)); -const require = createRequire(new URL('../packages/context/package.json', import.meta.url)); +const require = createRequire(new URL('../packages/cli/package.json', import.meta.url)); const Database = require('better-sqlite3'); const { stringify: yamlStringify } = require('yaml'); diff --git a/scripts/build-benchmark-snapshot.test.mjs b/scripts/build-benchmark-snapshot.test.mjs index 26ac6419..6e3f5189 100644 --- a/scripts/build-benchmark-snapshot.test.mjs +++ b/scripts/build-benchmark-snapshot.test.mjs @@ -4,7 +4,7 @@ import { createRequire } from 'node:module'; import { describe, it } from 'node:test'; import { buildBenchmarkSnapshot } from './build-benchmark-snapshot.mjs'; -const require = createRequire(new URL('../packages/context/package.json', import.meta.url)); +const require = createRequire(new URL('../packages/cli/package.json', import.meta.url)); const Database = require('better-sqlite3'); describe('buildBenchmarkSnapshot', () => { @@ -252,12 +252,12 @@ describe('buildBenchmarkSnapshot', () => { ]); }); - it('exposes relationship benchmarks as an explicit context package script', async () => { - const packageJson = JSON.parse(await readFile(new URL('../packages/context/package.json', import.meta.url), 'utf8')); + it('exposes relationship benchmarks as an explicit CLI package script', async () => { + const packageJson = JSON.parse(await readFile(new URL('../packages/cli/package.json', import.meta.url), 'utf8')); assert.equal( packageJson.scripts['relationships:benchmarks:test'], - 'KTX_RUN_RELATIONSHIP_BENCHMARKS=1 vitest run src/scan/relationship-benchmarks.test.ts', + 'KTX_RUN_RELATIONSHIP_BENCHMARKS=1 vitest run src/context/scan/relationship-benchmarks.test.ts', ); }); }); diff --git a/scripts/build-evidence-fusion-adversarial-fixtures.mjs b/scripts/build-evidence-fusion-adversarial-fixtures.mjs index 282a6477..46d9b6e2 100644 --- a/scripts/build-evidence-fusion-adversarial-fixtures.mjs +++ b/scripts/build-evidence-fusion-adversarial-fixtures.mjs @@ -9,7 +9,7 @@ import { buildBenchmarkSnapshot, writeFixtureFiles } from './build-benchmark-sna const scriptDir = path.dirname(fileURLToPath(import.meta.url)); const ktxRoot = path.resolve(scriptDir, '..'); const fixtureRoot = path.join(ktxRoot, 'packages', 'context', 'test', 'fixtures', 'relationship-benchmarks'); -const require = createRequire(new URL('../packages/context/package.json', import.meta.url)); +const require = createRequire(new URL('../packages/cli/package.json', import.meta.url)); const Database = require('better-sqlite3'); const { stringify: yamlStringify } = require('yaml'); diff --git a/scripts/build-public-npm-package.mjs b/scripts/build-public-npm-package.mjs index 63551d38..04ac7682 100644 --- a/scripts/build-public-npm-package.mjs +++ b/scripts/build-public-npm-package.mjs @@ -20,30 +20,6 @@ export function publicNpmPackageTarballName(version = PUBLIC_NPM_PACKAGE_VERSION return `kaelio-ktx-${version}.tgz`; } -export const PUBLIC_BUNDLED_WORKSPACE_PACKAGES = [ - '@ktx/llm', - '@ktx/context', - '@ktx/connector-bigquery', - '@ktx/connector-clickhouse', - '@ktx/connector-mysql', - '@ktx/connector-postgres', - '@ktx/connector-snowflake', - '@ktx/connector-sqlite', - '@ktx/connector-sqlserver', -]; - -export const PUBLIC_BUNDLED_WORKSPACE_PACKAGE_ROOTS = { - '@ktx/llm': 'packages/llm', - '@ktx/context': 'packages/context', - '@ktx/connector-bigquery': 'packages/connector-bigquery', - '@ktx/connector-clickhouse': 'packages/connector-clickhouse', - '@ktx/connector-mysql': 'packages/connector-mysql', - '@ktx/connector-postgres': 'packages/connector-postgres', - '@ktx/connector-snowflake': 'packages/connector-snowflake', - '@ktx/connector-sqlite': 'packages/connector-sqlite', - '@ktx/connector-sqlserver': 'packages/connector-sqlserver', -}; - function scriptRootDir() { return resolve(dirname(fileURLToPath(import.meta.url)), '..'); } @@ -75,50 +51,10 @@ function isWorkspacePackageName(name) { return name.startsWith('@ktx/'); } -function parseCaretVersion(value) { - const match = /^\^(\d+)\.(\d+)\.(\d+)$/.exec(value); - if (!match) { - return null; - } - return { - major: Number(match[1]), - minor: Number(match[2]), - patch: Number(match[3]), - }; -} - -function compareParsedVersions(left, right) { - return left.major - right.major || left.minor - right.minor || left.patch - right.patch; -} - -function mergeDependencyVersion(name, previous, next) { - if (previous === next) { - return previous; - } - - const previousCaret = parseCaretVersion(previous); - const nextCaret = parseCaretVersion(next); - if (previousCaret && nextCaret && previousCaret.major === nextCaret.major) { - return compareParsedVersions(previousCaret, nextCaret) >= 0 ? previous : next; - } - - throw new Error(`Incompatible dependency versions for ${name}: ${previous} and ${next}`); -} - -export function collectPublicDependencies(packageJsons) { - const dependencies = new Map(); - - for (const packageJson of packageJsons) { - for (const [name, version] of Object.entries(packageJson.dependencies ?? {})) { - if (isWorkspacePackageName(name)) { - continue; - } - const previous = dependencies.get(name); - dependencies.set(name, previous ? mergeDependencyVersion(name, previous, version) : version); - } - } - - return sortedObject(dependencies); +export function collectPublicDependencies(cliPackageJson) { + return sortedObject( + Object.entries(cliPackageJson.dependencies ?? {}).filter(([name]) => !isWorkspacePackageName(name)), + ); } export function publicNpmPackageJson(cliPackageJson, dependencies, version = PUBLIC_NPM_PACKAGE_VERSION) { @@ -142,7 +78,6 @@ export function publicNpmPackageJson(cliPackageJson, dependencies, version = PUB }, files: ['dist', 'assets'], dependencies, - bundledDependencies: PUBLIC_BUNDLED_WORKSPACE_PACKAGES, license: cliPackageJson.license ?? 'Apache-2.0', repository: { type: 'git', @@ -155,20 +90,6 @@ export function publicNpmPackageJson(cliPackageJson, dependencies, version = PUB }; } -function bundledWorkspacePackageJson(packageJson) { - return { - name: packageJson.name, - version: packageJson.version ?? PUBLIC_NPM_PACKAGE_VERSION, - private: true, - type: packageJson.type ?? 'module', - main: packageJson.main, - types: packageJson.types, - exports: packageJson.exports, - files: packageJson.files, - license: packageJson.license ?? 'Apache-2.0', - }; -} - async function copyPackageFileEntries(sourceRoot, targetRoot, packageJson) { for (const entry of packageJson.files ?? ['dist']) { await cp(join(sourceRoot, entry), join(targetRoot, entry), { @@ -186,46 +107,18 @@ async function copyCliPackage(layout, cliPackageJson, dependencies) { ); } -async function copyBundledWorkspacePackage(rootDir, packageName, packageJson) { - const packageRoot = PUBLIC_BUNDLED_WORKSPACE_PACKAGE_ROOTS[packageName]; - if (!packageRoot) { - throw new Error(`Missing bundled workspace package root for ${packageName}`); - } - - const sourceRoot = join(rootDir, packageRoot); - const targetRoot = join(rootDir, 'dist', 'public-npm-package', 'node_modules', ...packageName.split('/')); - await mkdir(targetRoot, { recursive: true }); - await copyPackageFileEntries(sourceRoot, targetRoot, packageJson); - await writeJson(join(targetRoot, 'package.json'), bundledWorkspacePackageJson(packageJson)); -} - export async function createPublicNpmPackageTree(layout = publicNpmPackageLayout()) { const cliPackageJson = await readJson(join(layout.cliPackageRoot, 'package.json')); - const bundledPackageJsons = await Promise.all( - PUBLIC_BUNDLED_WORKSPACE_PACKAGES.map(async (packageName) => { - const packageRoot = PUBLIC_BUNDLED_WORKSPACE_PACKAGE_ROOTS[packageName]; - const packageJson = await readJson(join(layout.rootDir, packageRoot, 'package.json')); - if (packageJson.name !== packageName) { - throw new Error(`Unexpected package name in ${packageRoot}/package.json: ${packageJson.name}`); - } - return packageJson; - }), - ); - const dependencies = collectPublicDependencies([cliPackageJson, ...bundledPackageJsons]); + const dependencies = collectPublicDependencies(cliPackageJson); await rm(layout.packRoot, { recursive: true, force: true }); await mkdir(layout.packRoot, { recursive: true }); await mkdir(layout.npmDir, { recursive: true }); await copyCliPackage(layout, cliPackageJson, dependencies); - for (const packageJson of bundledPackageJsons) { - await copyBundledWorkspacePackage(layout.rootDir, packageJson.name, packageJson); - } - return { layout, packageJson: publicNpmPackageJson(cliPackageJson, dependencies, layout.packageVersion), - bundledPackages: PUBLIC_BUNDLED_WORKSPACE_PACKAGES, }; } diff --git a/scripts/build-public-npm-package.test.mjs b/scripts/build-public-npm-package.test.mjs index b69d7437..dc218df8 100644 --- a/scripts/build-public-npm-package.test.mjs +++ b/scripts/build-public-npm-package.test.mjs @@ -5,7 +5,6 @@ import { join } from 'node:path'; import { describe, it } from 'node:test'; import { - PUBLIC_BUNDLED_WORKSPACE_PACKAGES, PUBLIC_NPM_PACKAGE_NAME, PUBLIC_NPM_PACKAGE_VERSION, collectPublicDependencies, @@ -56,8 +55,9 @@ async function writeWorkspaceFixture(root) { files: ['dist', 'assets'], dependencies: { '@clack/prompts': '1.3.0', - '@ktx/context': 'workspace:*', + ai: '^6.0.168', commander: '14.0.3', + yaml: '^2.8.2', }, license: 'Apache-2.0', repository: { @@ -74,68 +74,6 @@ async function writeWorkspaceFixture(root) { }, ); - await writePackage( - root, - 'packages/context', - { - name: '@ktx/context', - version: '0.0.0-private', - type: 'module', - main: 'dist/index.js', - exports: { '.': './dist/index.js' }, - files: ['dist', 'prompts', 'skills'], - dependencies: { - '@ktx/llm': 'workspace:*', - yaml: '^2.8.2', - }, - }, - { - 'dist/index.js': 'export const context = true;\n', - 'prompts/system.md': 'prompt\n', - 'skills/sl/SKILL.md': 'skill\n', - }, - ); - - await writePackage( - root, - 'packages/llm', - { - name: '@ktx/llm', - version: '0.0.0-private', - type: 'module', - main: 'dist/index.js', - exports: { '.': './dist/index.js' }, - files: ['dist'], - dependencies: { - ai: '^6.0.168', - }, - }, - { - 'dist/index.js': 'export const llm = true;\n', - }, - ); - - for (const packageName of PUBLIC_BUNDLED_WORKSPACE_PACKAGES.filter((name) => name.startsWith('@ktx/connector-'))) { - const directory = packageName.replace('@ktx/', ''); - await writePackage( - root, - `packages/${directory}`, - { - name: packageName, - version: '0.0.0-private', - type: 'module', - main: 'dist/index.js', - exports: { '.': './dist/index.js' }, - files: ['dist'], - dependencies: { - '@ktx/context': 'workspace:*', - }, - }, - { - 'dist/index.js': `export const name = ${JSON.stringify(packageName)};\n`, - }, - ); - } } describe('publicNpmPackageLayout', () => { @@ -152,51 +90,25 @@ describe('publicNpmPackageLayout', () => { }); describe('collectPublicDependencies', () => { - it('unions external runtime dependencies and omits workspace packages', () => { + it('returns CLI external runtime dependencies and omits workspace packages', () => { assert.deepEqual( - collectPublicDependencies([ - { - name: '@ktx/cli', - dependencies: { - '@ktx/context': 'workspace:*', - commander: '14.0.3', - zod: '^4.4.3', - }, + collectPublicDependencies({ + name: '@ktx/cli', + dependencies: { + '@ktx/internal-only': 'workspace:*', + commander: '14.0.3', + zod: '^4.4.3', }, - { - name: '@ktx/context', - dependencies: { - '@ktx/llm': 'workspace:*', - commander: '14.0.3', - yaml: '^2.8.2', - zod: '^4.1.13', - }, - }, - ]), + }), { commander: '14.0.3', - yaml: '^2.8.2', zod: '^4.4.3', }, ); }); - - it('fails on incompatible external dependency ranges', () => { - assert.throws( - () => - collectPublicDependencies([ - { name: '@ktx/cli', dependencies: { zod: '^4.4.3' } }, - { name: '@ktx/context', dependencies: { zod: '^3.25.0' } }, - ]), - /Incompatible dependency versions for zod/, - ); - }); }); describe('publicNpmPackageJson', () => { - it('does not bundle the removed PostHog connector package', () => { - assert.equal(PUBLIC_BUNDLED_WORKSPACE_PACKAGES.includes('@ktx/connector-posthog'), false); - }); it('describes the public @kaelio/ktx binary package', () => { const packageJson = publicNpmPackageJson( @@ -218,7 +130,6 @@ describe('publicNpmPackageJson', () => { assert.equal(packageJson.private, false); assert.deepEqual(packageJson.bin, { ktx: './dist/bin.js' }); assert.deepEqual(packageJson.dependencies, { commander: '14.0.3' }); - assert.deepEqual(packageJson.bundledDependencies, PUBLIC_BUNDLED_WORKSPACE_PACKAGES); assert.deepEqual(packageJson.files, ['dist', 'assets']); assert.deepEqual(packageJson.repository, { type: 'git', @@ -232,7 +143,7 @@ describe('publicNpmPackageJson', () => { }); describe('createPublicNpmPackageTree', () => { - it('copies CLI files, assets, and bundled internal workspace packages', async () => { + it('copies CLI files and assets without bundled internal workspace packages', async () => { const root = await mkdtemp(join(tmpdir(), 'ktx-public-npm-test-')); try { await writeWorkspaceFixture(root); @@ -248,20 +159,10 @@ describe('createPublicNpmPackageTree', () => { await readFile(join(layout.packRoot, 'assets', 'python', 'manifest.json'), 'utf8'), '{"schemaVersion":1}\n', ); - assert.equal( - await readFile(join(layout.packRoot, 'node_modules', '@ktx', 'context', 'dist', 'index.js'), 'utf8'), - 'export const context = true;\n', + await assert.rejects( + () => readFile(join(layout.packRoot, 'node_modules', '@ktx', 'context', 'package.json'), 'utf8'), + /ENOENT/, ); - assert.equal( - await readFile(join(layout.packRoot, 'node_modules', '@ktx', 'context', 'prompts', 'system.md'), 'utf8'), - 'prompt\n', - ); - - const bundledContextJson = JSON.parse( - await readFile(join(layout.packRoot, 'node_modules', '@ktx', 'context', 'package.json'), 'utf8'), - ); - assert.equal(bundledContextJson.private, true); - assert.equal(bundledContextJson.dependencies, undefined); } finally { await rm(root, { recursive: true, force: true }); } diff --git a/scripts/check-boundaries.mjs b/scripts/check-boundaries.mjs index 1a2adf4f..c3161704 100644 --- a/scripts/check-boundaries.mjs +++ b/scripts/check-boundaries.mjs @@ -5,7 +5,7 @@ import path from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; const codeExtensions = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.py']); -const runtimeAssetPatterns = [/^packages\/[^/]+\/prompts\/.+\.md$/, /^packages\/[^/]+\/skills\/.+\.md$/]; +const runtimeAssetPatterns = [/^packages\/cli\/src\/prompts\/.+\.md$/, /^packages\/cli\/src\/skills\/.+\.md$/]; const identifierSkipPrefixes = ['docs/', 'docs-site/', 'examples/', 'python/ktx-sl/plans/', 'python/ktx-sl/openspec/']; const identifierAllowPatterns = [ /^packages\/cli\/src\/(?:index|managed-local-embeddings|managed-python-command|managed-python-daemon|managed-python-runtime|release-version|runtime)(?:\.test)?\.ts$/, @@ -85,7 +85,7 @@ function scansForAppImports(relativePath) { } function scansForLlmBoundaries(relativePath) { - return isCodeSource(relativePath) && relativePath.startsWith('packages/context/src/'); + return isCodeSource(relativePath) && relativePath.startsWith('packages/cli/src/context/'); } function isTestSource(relativePath) { @@ -133,7 +133,7 @@ export function scanFileContent(relativePath, content) { violations.push({ file: normalizedPath, kind: 'llm-boundary', - message: `Forbidden ${llmBoundaryPattern.label}; use @ktx/llm`, + message: `Forbidden ${llmBoundaryPattern.label}; use packages/cli/src/llm`, }); } } @@ -145,7 +145,7 @@ export function scanFileContent(relativePath, content) { violations.push({ file: normalizedPath, kind: 'llm-boundary', - message: `Forbidden ${llmBoundaryPattern.label}; use getModel(role) inside @ktx/context`, + message: `Forbidden ${llmBoundaryPattern.label}; use getModel(role) inside context modules`, }); } } diff --git a/scripts/check-boundaries.test.mjs b/scripts/check-boundaries.test.mjs index 9fb8999d..25cd0f85 100644 --- a/scripts/check-boundaries.test.mjs +++ b/scripts/check-boundaries.test.mjs @@ -17,8 +17,8 @@ describe('scanFileContent', () => { const pythonAppPath = `${['python', 'service'].join('-')}/app/api/endpoints/semantic_layer.py`; const violations = [ - ...scanFileContent('packages/context/src/index.ts', `import { orpc } from '${serverAlias}';`), - ...scanFileContent('packages/context/src/index.ts', `import "${pythonAppPath}";`), + ...scanFileContent('packages/cli/src/context/index.ts', `import { orpc } from '${serverAlias}';`), + ...scanFileContent('packages/cli/src/context/index.ts', `import "${pythonAppPath}";`), ]; assert.deepEqual( @@ -28,7 +28,7 @@ describe('scanFileContent', () => { }); it('rejects forbidden product identifiers in code source files', () => { - const violations = scanFileContent('packages/context/src/index.ts', `export const owner = '${lowerProductName()}';`); + const violations = scanFileContent('packages/cli/src/context/index.ts', `export const owner = '${lowerProductName()}';`); assert.equal(violations.length, 1); assert.equal(violations[0]?.kind, 'identifier'); @@ -36,24 +36,24 @@ describe('scanFileContent', () => { it('rejects forbidden product identifiers in shipped runtime prompt assets', () => { const violations = scanFileContent( - 'packages/context/prompts/memory_agent_bundle_ingest_work_unit.md', + 'packages/cli/src/prompts/memory_agent_bundle_ingest_work_unit.md', `Write output for ${productName()}.`, ); assert.equal(violations.length, 1); assert.equal(violations[0]?.kind, 'identifier'); - assert.equal(violations[0]?.file, 'packages/context/prompts/memory_agent_bundle_ingest_work_unit.md'); + assert.equal(violations[0]?.file, 'packages/cli/src/prompts/memory_agent_bundle_ingest_work_unit.md'); }); it('rejects forbidden product identifiers in shipped runtime skill assets', () => { const violations = scanFileContent( - 'packages/context/skills/metabase_ingest/SKILL.md', + 'packages/cli/src/skills/metabase_ingest/SKILL.md', `Use ${productName()} project conventions.`, ); assert.equal(violations.length, 1); assert.equal(violations[0]?.kind, 'identifier'); - assert.equal(violations[0]?.file, 'packages/context/skills/metabase_ingest/SKILL.md'); + assert.equal(violations[0]?.file, 'packages/cli/src/skills/metabase_ingest/SKILL.md'); }); it('allows product identifiers in docs, examples, and transition metadata', () => { @@ -69,7 +69,7 @@ describe('scanFileContent', () => { const name = lowerProductName(); assert.equal(scanFileContent('packages/cli/src/setup.test.ts', `project: ${name}-dev`).length, 0); - assert.equal(scanFileContent('packages/context/src/ingest/importer.test.ts', `email: system@${name}.dev`).length, 0); + assert.equal(scanFileContent('packages/cli/src/context/ingest/importer.test.ts', `email: system@${name}.dev`).length, 0); assert.equal(scanFileContent('python/ktx-daemon/tests/test_package.py', `${name}-ktx`).length, 0); }); @@ -87,23 +87,23 @@ describe('scanFileContent', () => { it('allows clean source files and clean runtime prompt assets', () => { assert.deepEqual( - scanFileContent('packages/context/src/index.ts', "export const packageName = '@ktx/context';"), + scanFileContent('packages/cli/src/context/index.ts', "export const packageName = 'ktx';"), [], ); assert.deepEqual( - scanFileContent('packages/context/prompts/memory_agent_bundle_ingest_work_unit.md', 'Write output for KTX.'), + scanFileContent('packages/cli/src/prompts/memory_agent_bundle_ingest_work_unit.md', 'Write output for KTX.'), [], ); }); - it('rejects context-owned LLM provider construction outside @ktx/llm', () => { + it('rejects context-owned LLM provider construction outside llm modules', () => { const violations = [ ...scanFileContent( - 'packages/context/src/agent/local-llm-provider.ts', + 'packages/cli/src/context/agent/local-llm-provider.ts', "import { createAnthropic } from '@ai-sdk/anthropic';", ), - ...scanFileContent('packages/context/src/scan/local-ai-gateway-enrichment.ts', "import { createGateway } from 'ai';"), - ...scanFileContent('packages/context/src/core/local-embedding-provider.ts', "import { embedMany } from 'ai';"), + ...scanFileContent('packages/cli/src/context/scan/local-ai-gateway-enrichment.ts', "import { createGateway } from 'ai';"), + ...scanFileContent('packages/cli/src/context/core/local-embedding-provider.ts', "import { embedMany } from 'ai';"), ]; assert.deepEqual( @@ -114,9 +114,9 @@ describe('scanFileContent', () => { it('rejects old KTX LLM port declarations in context', () => { const violations = [ - ...scanFileContent('packages/context/src/agent/agent-runner.service.ts', 'export interface LlmProviderPort {}'), - ...scanFileContent('packages/context/src/scan/types.ts', 'export interface KtxScanLlmPort {}'), - ...scanFileContent('packages/context/src/agent/gateway-llm-provider.ts', 'export function createGatewayLlmProvider() {}'), + ...scanFileContent('packages/cli/src/context/agent/agent-runner.service.ts', 'export interface LlmProviderPort {}'), + ...scanFileContent('packages/cli/src/context/scan/types.ts', 'export interface KtxScanLlmPort {}'), + ...scanFileContent('packages/cli/src/context/agent/gateway-llm-provider.ts', 'export function createGatewayLlmProvider() {}'), ]; assert.deepEqual( @@ -127,7 +127,7 @@ describe('scanFileContent', () => { it('rejects getModelByName calls in context production source', () => { const violations = scanFileContent( - 'packages/context/src/ingest/page-triage/page-triage.service.ts', + 'packages/cli/src/context/ingest/page-triage/page-triage.service.ts', "const model = this.deps.llmProvider.getModelByName('claude-sonnet-4-6');", ); @@ -135,14 +135,14 @@ describe('scanFileContent', () => { assert.equal(violations[0]?.kind, 'llm-boundary'); assert.equal( violations[0]?.message, - 'Forbidden context getModelByName call; use getModel(role) inside @ktx/context', + 'Forbidden context getModelByName call; use getModel(role) inside context modules', ); }); it('allows role-driven getModel calls, test calls, and provider shape declarations', () => { assert.deepEqual( scanFileContent( - 'packages/context/src/ingest/page-triage/page-triage.service.ts', + 'packages/cli/src/context/ingest/page-triage/page-triage.service.ts', "const model = this.deps.llmProvider.getModel('triage');", ), [], @@ -150,7 +150,7 @@ describe('scanFileContent', () => { assert.deepEqual( scanFileContent( - 'packages/context/src/ingest/page-triage/page-triage.service.test.ts', + 'packages/cli/src/context/ingest/page-triage/page-triage.service.test.ts', "const model = this.deps.llmProvider.getModelByName('test-model');", ), [], @@ -158,7 +158,7 @@ describe('scanFileContent', () => { assert.deepEqual( scanFileContent( - 'packages/context/src/scan/local-enrichment.ts', + 'packages/cli/src/context/scan/local-enrichment.ts', 'return { getModel() { return model; }, getModelByName() { return model; } };', ), [], diff --git a/scripts/examples-docs.test.mjs b/scripts/examples-docs.test.mjs index a1f89847..281777e6 100644 --- a/scripts/examples-docs.test.mjs +++ b/scripts/examples-docs.test.mjs @@ -144,18 +144,13 @@ describe('standalone example docs', () => { assert.doesNotMatch(orbitConfig, legacyPublicAdapter); }); - it('lists every workspace package in the contributor docs', async () => { + it('lists the consolidated workspace layout in the contributor docs', async () => { const contributing = await readText('docs-site/content/docs/community/contributing.mdx'); - assert.match(contributing, /cli\/\s+# CLI entry point/); - assert.match(contributing, /context\/\s+# Core context engine/); - assert.match(contributing, /llm\/\s+# LLM client abstraction/); - assert.match(contributing, /connector-bigquery\/\s+# BigQuery connector/); - assert.match(contributing, /connector-mysql\/\s+# MySQL connector/); - assert.match(contributing, /connector-postgres\/\s+# PostgreSQL connector/); - assert.match(contributing, /connector-snowflake\/\s+# Snowflake connector/); - assert.match(contributing, /connector-sqlite\/\s+# SQLite connector/); - assert.match(contributing, /connector-sqlserver\/\s+# SQL Server connector/); + assert.match(contributing, /cli\/\s+# CLI package and published npm package source/); + assert.match(contributing, /src\/context\/\s+# Core context engine/); + assert.match(contributing, /src\/llm\/\s+# LLM client abstraction/); + assert.match(contributing, /src\/connectors\/\s+# Database connectors/); assert.match(contributing, /ktx-sl\/\s+# Semantic layer/); assert.match(contributing, /ktx-daemon\/\s+# Daemon/); }); diff --git a/scripts/installed-live-database-smoke.mjs b/scripts/installed-live-database-smoke.mjs index 3675016e..a11e38d2 100644 --- a/scripts/installed-live-database-smoke.mjs +++ b/scripts/installed-live-database-smoke.mjs @@ -263,8 +263,7 @@ async function assertPathExists(path, label) { } async function prepareCleanInstall(layout, cleanInstallDir) { - await assertPathExists(layout.contextTarball, '@ktx/context tarball'); - await assertPathExists(layout.cliTarball, '@ktx/cli tarball'); + await assertPathExists(layout.cliTarball, 'CLI tarball'); await mkdir(cleanInstallDir, { recursive: true }); await writeFile(join(cleanInstallDir, 'package.json'), `${JSON.stringify(npmSmokePackageJson(layout), null, 2)}\n`); await writeFile(join(cleanInstallDir, 'pnpm-workspace.yaml'), npmSmokePnpmWorkspaceYaml()); diff --git a/scripts/normalize-lcov-paths.test.mjs b/scripts/normalize-lcov-paths.test.mjs index 44ab9fe6..2c4a52e7 100644 --- a/scripts/normalize-lcov-paths.test.mjs +++ b/scripts/normalize-lcov-paths.test.mjs @@ -8,11 +8,11 @@ describe('normalizeLcovContent', () => { const input = ['TN:', 'SF:src/index.ts', 'SF:src\\windows.ts', 'DA:1,1', 'end_of_record'].join('\n'); assert.equal( - normalizeLcovContent(input, 'packages/context'), + normalizeLcovContent(input, 'packages/cli'), [ 'TN:', - 'SF:packages/context/src/index.ts', - 'SF:packages/context/src/windows.ts', + 'SF:packages/cli/src/index.ts', + 'SF:packages/cli/src/windows.ts', 'DA:1,1', 'end_of_record', ].join('\n'), diff --git a/scripts/package-artifacts.mjs b/scripts/package-artifacts.mjs index 18a098bb..2049ff24 100644 --- a/scripts/package-artifacts.mjs +++ b/scripts/package-artifacts.mjs @@ -25,15 +25,6 @@ export { }; export const INTERNAL_NPM_WORKSPACE_PACKAGES = [ - { name: '@ktx/context', packageRoot: 'packages/context' }, - { name: '@ktx/llm', packageRoot: 'packages/llm' }, - { name: '@ktx/connector-bigquery', packageRoot: 'packages/connector-bigquery' }, - { name: '@ktx/connector-clickhouse', packageRoot: 'packages/connector-clickhouse' }, - { name: '@ktx/connector-mysql', packageRoot: 'packages/connector-mysql' }, - { name: '@ktx/connector-postgres', packageRoot: 'packages/connector-postgres' }, - { name: '@ktx/connector-snowflake', packageRoot: 'packages/connector-snowflake' }, - { name: '@ktx/connector-sqlite', packageRoot: 'packages/connector-sqlite' }, - { name: '@ktx/connector-sqlserver', packageRoot: 'packages/connector-sqlserver' }, { name: '@ktx/cli', packageRoot: 'packages/cli' }, ]; @@ -81,14 +72,11 @@ export function packageArtifactLayout(rootDir = scriptRootDir(), version = publi } export function buildArtifactCommands(layout) { - // One recursive pnpm invocation; topology comes from workspace deps in - // each package.json, parallelism from --workspace-concurrency. const npmBuildCommand = { command: 'pnpm', args: [ '--filter', - './packages/*', - '--workspace-concurrency=10', + '@ktx/cli', 'run', 'build', ], diff --git a/scripts/package-artifacts.test.mjs b/scripts/package-artifacts.test.mjs index ea078a23..45eb697f 100644 --- a/scripts/package-artifacts.test.mjs +++ b/scripts/package-artifacts.test.mjs @@ -112,14 +112,14 @@ describe('packageArtifactLayout', () => { }); describe('buildArtifactCommands', () => { - it('builds TypeScript packages in parallel topology, then the runtime wheel, then packs npm artifacts', () => { + it('builds the CLI package, then the runtime wheel, then packs npm artifacts', () => { const layout = packageArtifactLayout('/repo/ktx', PUBLIC_NPM_PACKAGE_VERSION); const commands = buildArtifactCommands(layout); assert.deepEqual( commands.map((command) => [command.command, command.args]), [ - ['pnpm', ['--filter', './packages/*', '--workspace-concurrency=10', 'run', 'build']], + ['pnpm', ['--filter', '@ktx/cli', 'run', 'build']], [process.execPath, ['scripts/build-python-runtime-wheel.mjs']], [process.execPath, ['scripts/build-public-npm-package.mjs']], ], diff --git a/packages/context/scripts/pglite-hybrid-search-spike.mjs b/scripts/pglite-hybrid-search-spike.mjs similarity index 99% rename from packages/context/scripts/pglite-hybrid-search-spike.mjs rename to scripts/pglite-hybrid-search-spike.mjs index 500c34af..040bcf34 100644 --- a/packages/context/scripts/pglite-hybrid-search-spike.mjs +++ b/scripts/pglite-hybrid-search-spike.mjs @@ -7,8 +7,7 @@ import { fileURLToPath } from 'node:url'; const require = createRequire(import.meta.url); const scriptDir = dirname(fileURLToPath(import.meta.url)); -const contextDir = resolve(scriptDir, '..'); -const ktxRoot = resolve(contextDir, '../..'); +const ktxRoot = resolve(scriptDir, '..'); const docsDir = join(ktxRoot, 'docs'); const reportPath = join(docsDir, 'hybrid-search-pglite-spike.md'); diff --git a/packages/context/scripts/pglite-owner-process-prototype.mjs b/scripts/pglite-owner-process-prototype.mjs similarity index 99% rename from packages/context/scripts/pglite-owner-process-prototype.mjs rename to scripts/pglite-owner-process-prototype.mjs index 66a3e51f..dd4a77bd 100644 --- a/packages/context/scripts/pglite-owner-process-prototype.mjs +++ b/scripts/pglite-owner-process-prototype.mjs @@ -11,8 +11,7 @@ import { PGLiteSocketServer } from '@electric-sql/pglite-socket'; import { Client } from 'pg'; const scriptDir = dirname(fileURLToPath(import.meta.url)); -const contextDir = resolve(scriptDir, '..'); -const ktxRoot = resolve(contextDir, '../..'); +const ktxRoot = resolve(scriptDir, '..'); const reportPath = join(ktxRoot, 'docs', 'hybrid-search-pglite-owner-process.md'); async function timed(label, fn) { diff --git a/packages/context/scripts/pglite-sl-search-prototype.mjs b/scripts/pglite-sl-search-prototype.mjs similarity index 98% rename from packages/context/scripts/pglite-sl-search-prototype.mjs rename to scripts/pglite-sl-search-prototype.mjs index 43cb0e6e..8e414a32 100644 --- a/packages/context/scripts/pglite-sl-search-prototype.mjs +++ b/scripts/pglite-sl-search-prototype.mjs @@ -11,8 +11,7 @@ import { PGLiteSocketServer } from '@electric-sql/pglite-socket'; import { Client } from 'pg'; const scriptDir = dirname(fileURLToPath(import.meta.url)); -const contextDir = resolve(scriptDir, '..'); -const ktxRoot = resolve(contextDir, '../..'); +const ktxRoot = resolve(scriptDir, '..'); const reportPath = join(ktxRoot, 'docs', 'hybrid-search-pglite-sl-adapter-prototype.md'); async function timed(label, fn) { diff --git a/packages/context/scripts/relationship-benchmark-report.mjs b/scripts/relationship-benchmark-report.mjs similarity index 86% rename from packages/context/scripts/relationship-benchmark-report.mjs rename to scripts/relationship-benchmark-report.mjs index 43c86568..08f6b01e 100644 --- a/packages/context/scripts/relationship-benchmark-report.mjs +++ b/scripts/relationship-benchmark-report.mjs @@ -8,11 +8,11 @@ import { ktxRelationshipBenchmarkDetectorWithLlm, loadKtxRelationshipBenchmarkFixtures, runKtxRelationshipBenchmarkSuite, -} from '../dist/scan/index.js'; +} from '../packages/cli/dist/context/scan/index.js'; const scriptDir = dirname(fileURLToPath(import.meta.url)); -const packageRoot = resolve(scriptDir, '..'); -const fixtureRoot = join(packageRoot, 'test/fixtures/relationship-benchmarks'); +const ktxRoot = resolve(scriptDir, '..'); +const fixtureRoot = join(ktxRoot, 'packages/cli/src/test/fixtures/relationship-benchmarks'); async function buildDetector() { const backend = process.env.KTX_BENCHMARK_LLM_BACKEND; @@ -28,7 +28,7 @@ async function buildDetector() { if (!project || !location) { throw new Error('KTX_BENCHMARK_VERTEX_PROJECT and KTX_BENCHMARK_VERTEX_LOCATION are required for vertex backend'); } - const { createKtxLlmProvider } = await import('@ktx/llm'); + const { createKtxLlmProvider } = await import('../packages/cli/dist/llm/index.js'); const provider = createKtxLlmProvider({ backend: 'vertex', vertex: { project, location }, diff --git a/scripts/release-readiness.test.mjs b/scripts/release-readiness.test.mjs index 820d72ea..cfe4235c 100644 --- a/scripts/release-readiness.test.mjs +++ b/scripts/release-readiness.test.mjs @@ -550,7 +550,7 @@ describe('release readiness policy', () => { await writeReadyFixture(root, { policy: releasePolicy({ npm: { - packages: ['@kaelio/ktx', '@ktx/context'], + packages: ['@kaelio/ktx', '@ktx/internal-only'], }, }), }); diff --git a/scripts/standalone-ci-workflow.test.mjs b/scripts/standalone-ci-workflow.test.mjs index 5aa4cc02..4824c494 100644 --- a/scripts/standalone-ci-workflow.test.mjs +++ b/scripts/standalone-ci-workflow.test.mjs @@ -24,10 +24,8 @@ describe('standalone KTX CI workflow', () => { 'name: Pre-commit checks', 'typescript-checks:', 'name: TypeScript checks', - 'slow-context-tests:', - 'name: Slow context tests', 'slow-cli-tests:', - 'name: Slow CLI tests', + 'name: Slow TypeScript tests', 'cli-smoke-tests:', 'name: CLI smoke tests', 'python-checks:', @@ -42,7 +40,6 @@ describe('standalone KTX CI workflow', () => { 'pnpm install --frozen-lockfile', 'pnpm run check', 'pnpm run build', - 'pnpm --filter @ktx/context run test:slow', 'pnpm --filter @ktx/cli run test:slow', 'pnpm run smoke', 'actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405', diff --git a/scripts/test-tiering.test.mjs b/scripts/test-tiering.test.mjs index 5a984dd1..ddf31735 100644 --- a/scripts/test-tiering.test.mjs +++ b/scripts/test-tiering.test.mjs @@ -33,41 +33,36 @@ describe('test tiering', () => { ]; const contextSlowTests = [ - 'src/scan/local-scan.test.ts', - 'src/mcp/local-project-ports.test.ts', - 'src/ingest/local-stage-ingest.test.ts', - 'src/sl/pglite-sl-search-prototype.test.ts', - 'src/core/git.service.test.ts', - 'src/ingest/local-adapters.test.ts', - 'src/ingest/local-bundle-ingest.test.ts', - 'src/ingest/local-metabase-ingest.test.ts', - 'src/sl/local-sl.test.ts', - 'src/search/pglite-owner-process.test.ts', - 'src/scan/local-enrichment-artifacts.test.ts', - 'src/search/pglite-spike.test.ts', - 'src/wiki/local-knowledge.test.ts', - 'src/sl/local-query.test.ts', - 'src/scan/relationship-review-decisions.test.ts', - 'src/scan/relationship-profiling.test.ts', + 'src/context/scan/local-scan.test.ts', + 'src/context/mcp/local-project-ports.test.ts', + 'src/context/ingest/local-stage-ingest.test.ts', + 'src/context/sl/pglite-sl-search-prototype.test.ts', + 'src/context/core/git.service.test.ts', + 'src/context/ingest/local-adapters.test.ts', + 'src/context/ingest/local-bundle-ingest.test.ts', + 'src/context/ingest/local-metabase-ingest.test.ts', + 'src/context/sl/local-sl.test.ts', + 'src/context/search/pglite-owner-process.test.ts', + 'src/context/scan/local-enrichment-artifacts.test.ts', + 'src/context/search/pglite-spike.test.ts', + 'src/context/wiki/local-knowledge.test.ts', + 'src/context/sl/local-query.test.ts', + 'src/context/scan/relationship-review-decisions.test.ts', + 'src/context/scan/relationship-profiling.test.ts', ]; it('keeps slow package tests out of default local package test scripts', async () => { const cliPackage = await readJson('../packages/cli/package.json'); - const contextPackage = await readJson('../packages/context/package.json'); - assertScriptContainsAll(cliPackage.scripts.test, cliSlowTests.map((file) => `--exclude ${file}`)); - assertScriptContainsAll(contextPackage.scripts.test, contextSlowTests.map((file) => `--exclude ${file}`)); - assert.match(contextPackage.scripts.test, /--exclude src\/scan\/relationship-benchmarks\.test\.ts/); + assertScriptContainsAll(cliPackage.scripts.test, contextSlowTests.map((file) => `--exclude ${file}`)); }); it('provides explicit slow package test scripts for CI', async () => { const rootPackage = await readJson('../package.json'); const cliPackage = await readJson('../packages/cli/package.json'); - const contextPackage = await readJson('../packages/context/package.json'); - - assert.equal(rootPackage.scripts['test:slow'], 'pnpm --filter @ktx/context run test:slow && pnpm --filter @ktx/cli run test:slow'); + assert.equal(rootPackage.scripts['test:slow'], 'pnpm --filter @ktx/cli run test:slow'); assertScriptContainsAll(cliPackage.scripts['test:slow'], cliSlowTests); - assertScriptContainsAll(contextPackage.scripts['test:slow'], contextSlowTests); - assert.doesNotMatch(contextPackage.scripts['test:slow'], /relationship-benchmarks\.test\.ts/); + assertScriptContainsAll(cliPackage.scripts['test:slow'], contextSlowTests); + assert.doesNotMatch(cliPackage.scripts['test:slow'], /relationship-benchmarks\.test\.ts/); }); });