{
  "name": "bluera-knowledge",
  "version": "0.37.1",
  "description": "CLI tool for managing knowledge stores with semantic search",
  "type": "module",
  "bin": {
    "bluera-knowledge": "./dist/index.js",
    "bluera-knowledge-worker": "./dist/workers/background-worker-cli.js"
  },
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "scripts": {
    "build": "tsup --silent && echo '✓ Build complete'",
    "build:verbose": "tsup",
    "dev": "tsup --watch",
    "start": "node dist/index.js",
    "test": "vitest",
    "test:run": "vitest run",
    "test:changed": "bash -c 'OUTPUT=$(vitest run --changed --reporter=dot --silent 2>&1); echo \"$OUTPUT\" | tail -5; if echo \"$OUTPUT\" | grep -qE \"Tests.*[0-9]+ failed\"; then exit 1; fi'",
    "test:changed:verbose": "vitest run --changed",
    "test:coverage": "bash -c 'OUTPUT=$(vitest run --coverage --reporter=dot 2>&1); echo \"$OUTPUT\" | grep -E \"(Test Files|Tests|Coverage|threshold|ERROR|FAIL|AssertionError)\" | tail -20; if echo \"$OUTPUT\" | grep -qE \"Tests.*[0-9]+ failed\"; then echo \"$OUTPUT\" | grep -B5 -A5 \"AssertionError\\|FAIL.*integration\" | tail -30; exit 1; fi; if echo \"$OUTPUT\" | grep -qE \"ERROR.*threshold\"; then exit 1; fi'",
    "test:coverage:verbose": "vitest run --coverage",
    "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
    "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" --log-level warn && echo '✓ Format check passed'",
    "format:check:verbose": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
    "lint": "eslint src/ --quiet && echo '✓ Lint passed' || { echo '❌ ESLint errors'; exit 1; }",
    "lint:verbose": "eslint src/",
    "lint:deadcode": "knip --no-exit-code --quiet 2>&1 | grep -E '^(Unused|Configuration)' || echo '✓ No unused code'",
    "lint:deadcode:verbose": "knip --no-exit-code",
    "lint:deadcode:strict": "knip",
    "typecheck": "tsc --noEmit --pretty false && echo '✓ Type check passed'",
    "typecheck:verbose": "tsc --noEmit",
    "precommit": ".husky/pre-commit",
    "prepush": ".husky/pre-push",
    "prerelease": "bun run format:check && bun run lint && bun run lint:deadcode && bun run typecheck && bun run test:coverage && bun run build",
    "prepare": "husky",
    "version:major": "bun run prerelease && commit-and-tag-version --release-as major --skip.commit --skip.tag",
    "version:minor": "bun run prerelease && commit-and-tag-version --release-as minor --skip.commit --skip.tag",
    "version:patch": "bun run prerelease && commit-and-tag-version --release-as patch --skip.commit --skip.tag",
    "release:patch": "commit-and-tag-version --release-as patch && git push --follow-tags",
    "release:minor": "commit-and-tag-version --release-as minor && git push --follow-tags",
    "release:major": "commit-and-tag-version --release-as major && git push --follow-tags",
    "ui": "node dist/index.js serve --open",
    "bench:search": "bun run benchmarks/search/benchkit/run-bench.ts",
    "bench:compare": "bun run benchmarks/search/benchkit/compare.ts",
    "bench:smoke": "bun run bench:search --dataset smoke-v1 --driver service",
    "models:download": "bun run scripts/download-models.ts",
    "models:list": "bun run scripts/download-models.ts --list",
    "training:generate": "bun run training/generate-queries.ts",
    "training:negatives": "bun run training/mine-negatives.ts",
    "training:validate": "bun run training/validate.ts",
    "validate:npm": "./scripts/validate-npm-release.sh",
    "validate:local": "./scripts/validate-local.sh",
    "gh:status": "gh run list --limit 5",
    "gh:watch": "bash -c 'RUN_ID=$(gh run list --limit 1 --json databaseId -q \".[0].databaseId\") && echo \"Watching run $RUN_ID...\" && gh run watch $RUN_ID --exit-status >/dev/null 2>&1 && echo \"✓ Workflow passed\" || { echo \"✗ Workflow failed:\"; gh run view $RUN_ID --log-failed 2>&1 | head -50; }'",
    "gh:watch:verbose": "gh run list --limit 1 --json databaseId --jq '.[0].databaseId' | xargs -I {} gh run watch {} --exit-status",
    "gh:releases": "gh release list --limit 5"
  },
  "keywords": [
    "knowledge",
    "semantic-search",
    "vector-database",
    "cli"
  ],
  "author": "Bluera",
  "license": "MIT",
  "engines": {
    "node": ">=20.0.0 <24.0.0"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/blueraai/bluera-knowledge.git"
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist/",
    "python/",
    "skills/",
    "hooks/",
    "scripts/",
    ".claude-plugin/",
    ".mcp.json",
    "bun.lock",
    "README.md",
    "CHANGELOG.md",
    "LICENSE",
    "NOTICE"
  ],
  "devDependencies": {
    "@anthropic-ai/sdk": "^0.72.1",
    "@eslint/js": "^9.39.2",
    "@types/babel__core": "^7.20.5",
    "@types/babel__traverse": "^7.28.0",
    "@types/minimatch": "^6.0.0",
    "@types/node": "^25.0.3",
    "@types/turndown": "^5.0.6",
    "@vitest/coverage-istanbul": "^4.0.18",
    "commit-and-tag-version": "^12.6.1",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-eslint-comments": "^3.2.0",
    "eslint-plugin-import": "^2.32.0",
    "husky": "^9.1.7",
    "knip": "^5.80.0",
    "node-gyp": "^12.1.0",
    "prettier": "^3.7.4",
    "tsup": "^8.5.1",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.52.0",
    "vitest": "^4.0.16",
    "yaml": "^2.8.2"
  },
  "dependencies": {
    "@babel/parser": "^7.28.5",
    "@babel/traverse": "^7.28.5",
    "@babel/types": "^7.28.5",
    "@extractus/article-extractor": "^8.0.20",
    "@hono/node-server": "^1.19.7",
    "@huggingface/transformers": "^3.8.1",
    "@lancedb/lancedb": "0.22.3",
    "@mcp-ui/server": "^6.1.0",
    "@modelcontextprotocol/sdk": "^1.25.2",
    "apache-arrow": "^18.1.0",
    "axios": "^1.13.2",
    "chalk": "^5.6.2",
    "cheerio": "^1.1.2",
    "chokidar": "^5.0.0",
    "cli-table3": "^0.6.5",
    "commander": "^14.0.2",
    "hono": "^4.11.3",
    "minimatch": "^10.1.2",
    "node-addon-api": "^8.5.0",
    "ora": "^9.0.0",
    "pino": "^10.1.0",
    "pino-roll": "^4.0.0",
    "playwright": "^1.58.0",
    "turndown": "^7.2.2",
    "turndown-plugin-gfm": "^1.0.2",
    "zod": "^4.3.5"
  },
  "optionalDependencies": {
    "tree-sitter": "^0.25.0",
    "tree-sitter-go": "^0.25.0",
    "tree-sitter-rust": "^0.24.0"
  }
}
