{
  "name": "sweet-search",
  "version": "2.7.0",
  "description": "Local code search for AI agents: six fast, purpose-built tools that return ranked answers, not raw grep. Because maybe grep isn't all you need... 🍬",
  "type": "module",
  "main": "core/search/sweet-search.js",
  "exports": {
    ".": "./core/search/sweet-search.js",
    "./ast-chunker": "./core/indexing/ast-chunker.js",
    "./mcp": "./mcp/server.js"
  },
  "license": "Apache-2.0",
  "author": "Marko Sladojevic <marko@panonit.com> (https://panonit.com)",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mrsladoje/sweet-search.git"
  },
  "bugs": {
    "url": "https://github.com/mrsladoje/sweet-search/issues"
  },
  "homepage": "https://github.com/mrsladoje/sweet-search#readme",
  "keywords": [
    "sweet-search",
    "code-search",
    "semantic-search",
    "lexical-search",
    "hybrid-search",
    "wasm",
    "catboost",
    "machine-learning",
    "query-routing",
    "claude-code",
    "developer-tools",
    "panonit"
  ],
  "bin": {
    "sweet-search": "core/cli.js",
    "sweet-search-mcp": "mcp/server.js"
  },
  "files": [
    "core/*.js",
    "core/infrastructure/",
    "core/incremental-indexing/",
    "core/embedding/",
    "core/indexing/",
    "core/search/",
    "core/ranking/",
    "core/graph/",
    "core/vocabulary/",
    "core/vector-store/",
    "core/query/",
    "core/skills/",
    "core/banner/",
    "assets/banner/",
    "mcp/",
    "scripts/benchmark-harness.js",
    "scripts/postinstall-banner.js",
    "scripts/init.js",
    "scripts/uninstall.js",
    "scripts/verify-runtime.js",
    "scripts/smoke-test.js",
    "scripts/inject-agent-instructions.js",
    "scripts/write-claude-rules.js",
    "scripts/install-mcp-server.js",
    "scripts/install-prompt-reminders.js",
    "scripts/install-tool-enforcement.js",
    "scripts/hooks/",
    "core/training/query-router/features/",
    "core/training/query-router/output/v45_router_d4.js",
    "core/training/query-router/output/v46_router_d4.js",
    "core/prompt-optimization/data/p7-final/",
    "eval/agent-read-workflows/bin/ss-search",
    "eval/agent-read-workflows/bin/ss-find",
    "eval/agent-read-workflows/bin/ss-grep",
    "eval/agent-read-workflows/bin/ss-semantic",
    "eval/agent-read-workflows/bin/ss-trace",
    "eval/agent-read-workflows/bin/ss-read",
    "eval/agent-read-workflows/bin/_ss-helpers.mjs",
    "eval/agent-read-workflows/bin/_ss-argparse.mjs",
    "crates/wasm-router/pkg/",
    "LICENSE",
    "NOTICE"
  ],
  "scripts": {
    "init": "node scripts/init.js",
    "postinstall": "node scripts/postinstall-banner.js",
    "bake:banner": "node scripts/bake-banner.mjs",
    "build:assets": "node scripts/generate-asset-manifest.js",
    "lint": "eslint core/",
    "build": "node -e \"import('./core/search/sweet-search.js')\" && echo 'Build OK'",
    "build:wasm": "node scripts/build-wasm.js && cd crates/wasm-maxsim && RUSTFLAGS=\"-C target-feature=+simd128\" cargo build --target wasm32-unknown-unknown --release && cp target/wasm32-unknown-unknown/release/maxsim_wasm.wasm ../../core/infrastructure/maxsim.wasm && echo 'WASM build OK'",
    "build:native": "cd crates/sweet-search-native && npx napi build --release --platform --features coreml,accelerate && echo 'Native build OK'",
    "build:native:cuda": "cd crates/sweet-search-native && npx napi build --release --platform --features cuda,flash-attn && echo 'CUDA native build OK (Ampere+ — flash-attn compiled in, runtime-gated on SM 8.0+)'",
    "build:native:cuda-no-flashattn": "cd crates/sweet-search-native && npx napi build --release --platform --features cuda && echo 'CUDA native build OK (no flash-attn — SM 7.0+ compatible, naive attention)'",
    "build:bg-priority": "cd native/bg-priority && npx napi build --platform --release && echo 'bg-priority native addon build OK'",
    "build:mem-pressure": "cd native/mem-pressure && npx napi build --platform --release && echo 'mem-pressure native addon build OK'",
    "build:cli": "cd crates/sweet-search-cli && cargo build --release && echo 'CLI build OK'",
    "search": "node core/search/sweet-search.js",
    "index": "node core/indexing/index-codebase-v21.js",
    "index:full": "node core/indexing/index-codebase-v21.js --full",
    "hcgs": "node core/graph/hcgs-generator.js generate",
    "hcgs:stats": "node core/graph/hcgs-generator.js stats",
    "warmup": "node core/cli.js prewarm-vocab",
    "warmup:full": "node scripts/vocabulary-warmup.js",
    "benchmark": "node scripts/benchmark.js",
    "optimize:onnx": "bash scripts/optimize-onnx-model.sh",
    "mcp": "node mcp/server.js",
    "check-db": "node scripts/check-db.js",
    "test": "vitest run",
    "test:extra": "SWEET_SEARCH_EXTRA_TESTS=1 vitest run tests/embedding/direct-ort-bypass.test.js tests/embedding/embedding-correctness.test.js",
    "test:all": "SWEET_SEARCH_EXTRA_TESTS=1 vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:bench": "vitest bench",
    "eval:bench": "node eval/run_all.js",
    "eval:bench:check": "node eval/run_all.js --regression-check",
    "eval:bench:baseline": "node eval/run_all.js --save-baseline",
    "eval:pattern": "node eval/run_pattern_benchmark.js",
    "eval:pattern:baseline": "node eval/run_pattern_benchmark.js --save-baseline",
    "eval:latency": "node eval/scripts/latency-stress.js",
    "eval:multirepo": "node eval/scripts/multirepo-bench.js",
    "eval:multirepo:test": "node eval/scripts/multirepo-bench.js --split=test",
    "bench:read-workflows": "node eval/read-workflows/run-bench.js",
    "bench:agent-read-workflows": "node eval/agent-read-workflows/run-bench.js",
    "bench:structural-context": "node eval/structural-context/run-bench.js",
    "eval:fetch-repos": "node eval/scripts/fetch-benchmark-repos.js",
    "eval:prompt": "node scripts/eval-prompt-evolution.mjs",
    "features": "node core/training/query-router/features/extractor.js",
    "features:benchmark": "node core/training/query-router/features/extractor.js --benchmark",
    "features:names": "node core/training/query-router/features/extractor.js --names",
    "identifiers": "node core/training/query-router/generators/multilingual-identifiers.js",
    "generate": "node core/training/query-router/generators/generate.js",
    "generate:multilingual": "node core/training/query-router/generators/generate.js --multilingual --samples 5000 --output core/training/query-router/output/multilingual_5k.json",
    "train": "python core/training/query-router/models/train_catboost.py",
    "anti-leak": "node core/training/query-router/validation/anti-leak-check.js",
    "anti-leak:ci": "node core/training/query-router/validation/anti-leak-check.js --ci",
    "validate": "node core/training/query-router/validation/heuristic-validator.js",
    "outliers": "node core/training/query-router/validation/outlier-detector.js",
    "spot-check": "node core/training/query-router/validation/spot-check-sampler.js",
    "paraphrase": "node core/training/query-router/validation/paraphraser.js"
  },
  "dependencies": {
    "@babel/helper-validator-identifier": "^7.28.5",
    "@modelcontextprotocol/sdk": "^1.26.0",
    "@node-rs/xxhash": "^1.7.6",
    "@parcel/watcher": "^2.5.6",
    "better-sqlite3": "^11.7.0",
    "fast-glob": "^3.3.3",
    "franc-min": "^6.2.0",
    "minimatch": "^10.1.1",
    "onnxruntime-node": "^1.24.3",
    "p-limit": "^6.2.0",
    "sharp": "^0.34.5",
    "tree-sitter-wasms": "^0.1.13",
    "undici": "^6.23.0",
    "web-tree-sitter": "^0.25.10",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@napi-rs/cli": "^3.5.1",
    "@vitest/coverage-v8": "^4.0.16",
    "eslint": "^9.39.4",
    "fast-check": "^4.5.3",
    "p-map": "^7.0.4",
    "puppeteer-core": "^25.1.0",
    "typescript": "^5.9.3",
    "vitest": "^4.0.16"
  },
  "optionalDependencies": {
    "@sweet-search/native-darwin-arm64": "2.7.0",
    "@sweet-search/native-darwin-x64": "2.7.0",
    "@sweet-search/native-linux-arm64-gnu": "2.7.0",
    "@sweet-search/native-linux-arm64-gnu-cuda": "2.7.0",
    "@sweet-search/native-linux-x64-gnu": "2.7.0",
    "@sweet-search/native-linux-x64-gnu-cuda": "2.7.0",
    "@sweet-search/bg-priority": "2.7.0"
  },
  "engines": {
    "node": ">=18.0.0"
  }
}
