{
  "name": "@hasna/search",
  "version": "0.0.15",
  "description": "Unified search — local file index (find files by name/path/content/regex in ms, trigram FTS) + 12 web providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "search": "dist/cli/index.js",
    "search-mcp": "dist/mcp/index.js",
    "search-serve": "dist/server/index.js"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./storage": {
      "types": "./dist/storage.d.ts",
      "import": "./dist/storage.js"
    }
  },
  "files": [
    "dist",
    "LICENSE",
    "README.md"
  ],
  "scripts": {
    "clean": "rm -rf dist",
    "build": "bun run clean && cd dashboard && bun run build && cd .. && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk && bun build src/mcp/index.ts --outdir dist/mcp --target bun && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts src/storage.ts --outdir dist --target bun && tsc --emitDeclarationOnly --outDir dist",
    "build:no-dashboard": "bun run clean && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk && bun build src/mcp/index.ts --outdir dist/mcp --target bun && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts src/storage.ts --outdir dist --target bun && tsc --emitDeclarationOnly --outDir dist",
    "typecheck": "tsc --noEmit",
    "test": "bun test",
    "dev:cli": "bun run src/cli/index.tsx",
    "dev:mcp": "bun run src/mcp/index.ts",
    "dev:serve": "bun run src/server/index.ts",
    "prepublishOnly": "bun run build",
    "postinstall": "mkdir -p $HOME/.hasna/search 2>/dev/null || true"
  },
  "keywords": [
    "search",
    "local-search",
    "file-search",
    "code-search",
    "grep",
    "trigram",
    "fts5",
    "indexing",
    "meta-search",
    "aggregator",
    "google",
    "exa",
    "perplexity",
    "brave",
    "bing",
    "twitter",
    "reddit",
    "youtube",
    "hackernews",
    "github",
    "arxiv",
    "mcp",
    "ai",
    "coding-agent",
    "claude",
    "cli",
    "dashboard"
  ],
  "publishConfig": {
    "registry": "https://registry.npmjs.org",
    "access": "public"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/hasna/search.git"
  },
  "bugs": {
    "url": "https://github.com/hasna/search/issues"
  },
  "engines": {
    "bun": ">=1.0.0"
  },
  "author": "Andrei Hasna <andrei@hasna.com>",
  "license": "Apache-2.0",
  "dependencies": {
    "@hasna/events": "^0.1.7",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "chalk": "^5.4.1",
    "commander": "^13.1.0",
    "ink": "^5.2.0",
    "pg": "^8.21.0",
    "react": "^18.3.1",
    "zod": "^3.24.2"
  },
  "devDependencies": {
    "@types/bun": "^1.3.14",
    "@types/pg": "^8.11.11",
    "@types/react": "^18.3.31",
    "typescript": "^5.7.3"
  }
}
