{
  "name": "@gmickel/gno",
  "version": "2.4.0",
  "description": "Local semantic search for your documents. Index Markdown, PDF, and Office files with hybrid BM25 + vector search.",
  "keywords": [
    "embeddings",
    "llm",
    "local-first",
    "mcp",
    "rag",
    "search",
    "semantic-search",
    "vector-search"
  ],
  "homepage": "https://gno.sh",
  "bugs": {
    "url": "https://github.com/gmickel/gno/issues"
  },
  "license": "MIT",
  "author": "Gordon Mickel <gordon@mickel.tech>",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/gmickel/gno.git"
  },
  "bin": {
    "gno": "src/index.ts"
  },
  "files": [
    "assets",
    "browser-extension/artifacts",
    "browser-extension/dist",
    "bunfig.toml",
    "spec",
    "src",
    "THIRD_PARTY_NOTICES.md",
    "vendor"
  ],
  "type": "module",
  "main": "src/sdk/index.ts",
  "module": "src/sdk/index.ts",
  "types": "src/sdk/index.ts",
  "exports": {
    ".": {
      "types": "./src/sdk/index.ts",
      "default": "./src/sdk/index.ts"
    },
    "./cli": {
      "default": "./src/index.ts"
    },
    "./package.json": "./package.json"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "dev": "bun run --hot src/index.ts",
    "build": "bun build src/index.ts",
    "build:clipper": "bun browser-extension/build-cli.ts",
    "package:clipper": "bun browser-extension/package-cli.ts",
    "verify:clipper-package": "bun browser-extension/verify-package.ts",
    "start": "bun run src/index.ts",
    "lint": "oxlint --fix --type-aware --type-check && oxfmt .",
    "lint:check": "oxlint --type-aware --type-check && oxfmt --check .",
    "typecheck": "bunx tsc --noEmit",
    "test": "bun test",
    "test:web": "bun test test/serve/public --timeout 30000",
    "test:e2e": "bun scripts/web-ui-smoke.ts",
    "bench:webui-first-page": "bun scripts/webui-first-page-load.ts",
    "test:e2e:clipper": "bun test test/clipper/e2e.test.ts --timeout 240000",
    "test:e2e:pdf": "bun scripts/pdf-viewer-smoke.ts",
    "smoke:pdf-viewer": "bun scripts/pdf-viewer-smoke.ts",
    "test:e2e:install": "bunx playwright install chromium",
    "test:package": "bun scripts/package-smoke.ts",
    "test:package:clipper": "bun scripts/package-smoke-clipper-cli.ts",
    "test:watch": "bun test --watch",
    "test:coverage": "bun test --coverage",
    "test:coverage:html": "bun test --coverage --html",
    "test:fixtures": "bun scripts/generate-test-fixtures.ts",
    "evals": "bun scripts/update-eval-scores.ts",
    "eval": "bun --bun evalite",
    "eval:acceptance": "bun scripts/retrieval-acceptance.ts",
    "eval:hybrid": "bun --bun evalite evals/hybrid.eval.ts",
    "eval:memory": "bun --bun evalite evals/memory.eval.ts --threshold 100",
    "eval:memory:fixtures": "bun scripts/memory-eval-fixtures.ts",
    "eval:hybrid:baseline": "bun scripts/hybrid-benchmark.ts --write",
    "eval:hybrid:delta": "bun scripts/hybrid-benchmark.ts --delta",
    "bench:ast-chunking": "bun scripts/ast-chunking-benchmark.ts",
    "smoke:serve-shutdown": "bun scripts/serve-shutdown-smoke.ts",
    "test:watcher:filesystem": "bun test test/serve/watch-service-filesystem.test.ts test/serve/resident-runtime.test.ts",
    "bench:watcher-reconciliation": "bun scripts/watcher-reconciliation-benchmark.ts",
    "smoke:watcher-reconciliation": "bun scripts/watcher-reconciliation-smoke.ts",
    "bench:code-embeddings": "bun scripts/code-embedding-benchmark.ts",
    "bench:code-embeddings:write": "bun scripts/code-embedding-benchmark.ts --write",
    "bench:general-embeddings": "bun scripts/general-embedding-benchmark.ts",
    "bench:general-embeddings:write": "bun scripts/general-embedding-benchmark.ts --write",
    "bench:cpu-embeddings": "bun scripts/cpu-embed-autoresearch.ts",
    "bench:cpu-embeddings:native-batch-probe": "bun scripts/native-embedding-batch-probe.ts",
    "bench:cjk-lexical": "bun scripts/cjk-lexical-benchmark.ts",
    "eval:retrieval-candidates": "bun scripts/retrieval-candidate-benchmark.ts",
    "eval:retrieval-candidates:write": "bun scripts/retrieval-candidate-benchmark.ts --write",
    "eval:agentic": "bun evals/agentic/cli.ts",
    "eval:agentic:demo": "bun evals/agentic/demos/generate-context-capsule.ts",
    "eval:watch": "bun --bun evalite watch",
    "research:finetune:bootstrap": "bun research/finetune/scripts/bootstrap-promotion-fixtures.ts",
    "research:finetune:autonomous:noop": "bun research/finetune/autonomous/scripts/noop-run.ts",
    "research:finetune:autonomous:evaluate": "bun research/finetune/autonomous/scripts/evaluate-run.ts",
    "research:finetune:autonomous:propose-mix-variants": "bun research/finetune/autonomous/scripts/propose-mix-variants.ts",
    "research:finetune:autonomous:list-search-candidates": "bun research/finetune/autonomous/scripts/list-search-candidates.ts",
    "research:finetune:autonomous:run-candidate": "bun research/finetune/autonomous/scripts/run-candidate.ts",
    "research:finetune:autonomous:search": "bun research/finetune/autonomous/scripts/search.ts",
    "research:finetune:autonomous:leaderboard": "bun research/finetune/autonomous/scripts/leaderboard.ts",
    "research:finetune:autonomous:confirm-winner": "bun research/finetune/autonomous/scripts/confirm-winner.ts",
    "research:finetune:autonomous:check-promotion-targets": "bun research/finetune/autonomous/scripts/check-promotion-targets.ts",
    "research:finetune:validate": "bun research/finetune/scripts/validate-sandbox.ts",
    "research:embeddings:autonomous:list-search-candidates": "bun research/embeddings/autonomous/scripts/list-search-candidates.ts",
    "research:embeddings:autonomous:run-candidate": "bun research/embeddings/autonomous/scripts/run-candidate.ts",
    "research:embeddings:autonomous:leaderboard": "bun research/embeddings/autonomous/scripts/leaderboard.ts",
    "research:embeddings:autonomous:confirm-winner": "bun research/embeddings/autonomous/scripts/confirm-winner.ts",
    "research:embeddings:autonomous:search": "bun research/embeddings/autonomous/scripts/search.ts",
    "research:finetune:qmd-import:legacy": "bun research/finetune/scripts/import-qmd-training.ts",
    "research:finetune:mlx:build-dataset": "bun research/finetune/scripts/build-mlx-dataset.ts",
    "research:finetune:build-variant-dataset": "bun research/finetune/scripts/build-variant-dataset.ts",
    "research:finetune:list-mix-variants": "bun research/finetune/scripts/list-mix-variants.ts",
    "research:finetune:list-prompt-variants": "bun research/finetune/scripts/list-prompt-variants.ts",
    "research:finetune:export-env": "bun research/finetune/scripts/setup-export-env.ts",
    "research:finetune:export-gguf": "bun research/finetune/scripts/export-gguf.ts",
    "research:finetune:smoke-gno-export": "bun research/finetune/scripts/smoke-gno-export.ts",
    "research:finetune:select-best": "bun research/finetune/scripts/select-best-checkpoint.ts",
    "research:finetune:fuse-best": "bun research/finetune/scripts/fuse-best-checkpoint.ts",
    "research:finetune:benchmark-export": "bun research/finetune/scripts/benchmark-exported-model.ts",
    "research:finetune:repeat-benchmark-compare": "bun research/finetune/scripts/repeat-benchmark-compare.ts",
    "research:finetune:compare-runs": "bun research/finetune/scripts/compare-runs.ts",
    "research:finetune:promotion-bundle": "bun research/finetune/scripts/generate-promotion-bundle.ts",
    "research:finetune:finalize": "bun research/finetune/scripts/finalize-promoted-model.ts",
    "research:finetune:promote": "bun research/finetune/scripts/promote-run.ts",
    "research:finetune:plan-sweep": "bun research/finetune/scripts/plan-alternate-sweep.ts",
    "research:finetune:mlx:train": "bun research/finetune/scripts/train-mlx.ts",
    "research:finetune:mlx:fuse": "bun research/finetune/scripts/fuse-mlx.ts",
    "research:finetune:mlx:smoke": "bun research/finetune/scripts/smoke-mlx.ts",
    "reset": "bun run src/index.ts reset --confirm",
    "docs:truth": "bun run scripts/public-truth.ts",
    "docs:verify": "bun run scripts/docs-verify.ts",
    "website:install": "cd website && bundle install",
    "website:dev": "cd website && make serve",
    "website:build": "cd website && make build",
    "website:demos": "cd website/demos && ./build-demos.sh",
    "website:og": "bun scripts/og-screenshots.ts",
    "website:sync-assets": "bun scripts/sync-assets.ts",
    "sync:agents": "scripts/sync-agents.sh",
    "build:css": "tailwindcss -i src/serve/public/globals.css -o src/serve/public/globals.built.css --minify",
    "build:spa": "bun scripts/build-spa-production.ts",
    "serve": "bun src/index.ts serve",
    "serve:dev": "bun --hot src/index.ts serve --dev",
    "version:patch": "npm version patch --no-git-tag-version",
    "version:minor": "npm version minor --no-git-tag-version",
    "version:major": "npm version major --no-git-tag-version",
    "prerelease": "bun run lint:check && bun test && bun run docs:verify && bun run verify:clipper-package && bun run test:package",
    "release:dry-run": "gh workflow run publish.yml -f publish=false",
    "release:trigger": "gh workflow run publish.yml -f publish=true",
    "prepare": "lefthook install",
    "prepack": "bun run package:clipper"
  },
  "dependencies": {
    "@codemirror/lang-markdown": "6.5.2",
    "@codemirror/theme-one-dark": "6.1.3",
    "@joplin/turndown-plugin-gfm": "1.0.67",
    "@modelcontextprotocol/client": "2.0.0",
    "@modelcontextprotocol/server": "2.0.0",
    "@radix-ui/react-collapsible": "1.1.20",
    "@radix-ui/react-dialog": "1.1.23",
    "@radix-ui/react-dropdown-menu": "2.1.24",
    "@radix-ui/react-hover-card": "1.1.23",
    "@radix-ui/react-progress": "1.1.16",
    "@radix-ui/react-scroll-area": "1.2.18",
    "@radix-ui/react-select": "2.3.7",
    "@radix-ui/react-separator": "1.1.15",
    "@radix-ui/react-slot": "1.3.3",
    "@radix-ui/react-tooltip": "1.2.16",
    "@xmldom/xmldom": "0.9.12",
    "ai": "6.0.277",
    "bun-plugin-tailwind": "0.1.2",
    "class-variance-authority": "0.7.1",
    "clsx": "2.1.1",
    "cmdk": "1.1.1",
    "codemirror": "6.0.2",
    "commander": "15.0.0",
    "embla-carousel-react": "8.6.0",
    "fflate": "0.8.3",
    "file-type": "22.0.2",
    "franc": "6.2.0",
    "jsdom": "25.0.1",
    "jsonc-parser": "3.3.1",
    "less-pager-mini": "1.12.1",
    "lucide-react": "1.41.0",
    "mammoth": "1.12.2",
    "mdast-util-from-markdown": "2.0.3",
    "mdast-util-gfm": "3.1.0",
    "micromark-extension-gfm": "3.0.0",
    "mime-types": "2.1.35",
    "minimatch": "10.2.6",
    "nanoid": "6.0.1",
    "node-llama-cpp": "3.20.0",
    "pdf-parse": "2.4.5",
    "pdfjs-dist": "6.3.289",
    "picocolors": "1.1.1",
    "react": "19.2.8",
    "react-dom": "19.2.8",
    "react-force-graph-2d": "1.29.1",
    "react-markdown": "10.1.0",
    "rehype-sanitize": "6.0.0",
    "remark-gfm": "4.0.1",
    "sharp": "0.35.4",
    "shiki": "4.4.3",
    "sqlite-vec": "0.1.9",
    "streamdown": "2.6.0",
    "tailwind-merge": "3.6.0",
    "tailwindcss": "4.3.3",
    "tesseract.js": "7.0.0",
    "turndown": "7.2.4",
    "use-stick-to-bottom": "1.1.6",
    "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
    "zod": "4.4.3"
  },
  "devDependencies": {
    "@ai-sdk/openai": "3.0.108",
    "@biomejs/biome": "2.5.12",
    "@tailwindcss/cli": "4.3.3",
    "@testing-library/react": "16.3.3",
    "@testing-library/user-event": "14.6.7",
    "@types/bun": "1.4.1",
    "@types/react": "19.2.18",
    "@types/react-dom": "19.2.7",
    "@vscode/tree-sitter-wasm": "0.3.1",
    "ajv": "8.20.0",
    "ajv-formats": "3.0.1",
    "bun": "1.4.2",
    "docx": "9.7.1",
    "evalite": "1.0.0-beta.16",
    "exceljs": "4.4.0",
    "happy-dom": "20.14.0",
    "lefthook": "2.1.12",
    "oxfmt": "0.28.0",
    "oxlint": "1.43.0",
    "oxlint-tsgolint": "0.11.5",
    "pdf-lib": "1.17.1",
    "playwright": "1.63.0",
    "pptxgenjs": "4.0.1",
    "ultracite": "7.1.5",
    "vitest": "4.1.10",
    "web-tree-sitter": "0.26.13"
  },
  "peerDependencies": {
    "typescript": "^5.9.3"
  },
  "overrides": {
    "@fastify/static": "10.1.3",
    "file-type": "22.0.2"
  },
  "engines": {
    "bun": ">=1.3.0"
  },
  "trustedDependencies": [
    "bun",
    "node-llama-cpp"
  ]
}
