@hasna/search 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,82 +1,50 @@
1
1
  # @hasna/search
2
2
 
3
- Unified search aggregator — query 12 search providers simultaneously and get normalized, deduplicated results. CLI + MCP server + REST API + Web Dashboard.
4
-
5
- ## Providers
6
-
7
- | Provider | API | Key Required |
8
- |----------|-----|--------------|
9
- | Google | SerpAPI | `SERP_API_KEY` |
10
- | SerpAPI (multi-engine) | SerpAPI | `SERP_API_KEY` |
11
- | Exa.ai | Exa API | `EXA_API_KEY` |
12
- | Perplexity | Perplexity API | `PERPLEXITY_API_KEY` |
13
- | Brave Search | Brave Search API | `BRAVE_API_KEY` |
14
- | Bing | Bing Web Search v7 | `BING_API_KEY` |
15
- | Twitter/X | Twitter API v2 | `X_BEARER_TOKEN` |
16
- | Reddit | Reddit OAuth | `REDDIT_CLIENT_ID` + `REDDIT_CLIENT_SECRET` |
17
- | YouTube | YouTube Data API v3 | `YOUTUBE_API_KEY` |
18
- | Hacker News | Algolia HN API | No key needed |
19
- | GitHub | GitHub REST API | `GITHUB_TOKEN` |
20
- | arXiv | arXiv API | No key needed |
3
+ Unified search aggregator — 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@hasna/search)](https://www.npmjs.com/package/@hasna/search)
6
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
21
7
 
22
8
  ## Install
23
9
 
24
10
  ```bash
25
- bun add -g @hasna/search
11
+ npm install -g @hasna/search
26
12
  ```
27
13
 
28
- ## Usage
29
-
30
- ### CLI
14
+ ## CLI Usage
31
15
 
32
16
  ```bash
33
- # Unified search across all configured providers
34
- search "typescript best practices"
35
-
36
- # Search specific providers
37
- search "query" --providers google,exa,perplexity
38
-
39
- # Use a search profile
40
- search "query" --profile research
41
-
42
- # Provider-specific search
43
- search:youtube "bun runtime" --transcribe
17
+ search --help
18
+ ```
44
19
 
45
- # Manage providers
46
- search providers list
47
- search providers enable brave
20
+ ## MCP Server
48
21
 
49
- # Search history
50
- search history
22
+ ```bash
23
+ search-mcp
51
24
  ```
52
25
 
53
- ### MCP Server
26
+ 31 tools available.
54
27
 
55
- ```bash
56
- # Install for Claude Code
57
- search mcp --claude
28
+ ## REST API
58
29
 
59
- # Or run directly
60
- search-mcp
30
+ ```bash
31
+ search-serve
61
32
  ```
62
33
 
63
- ### REST API + Dashboard
34
+ ## Cloud Sync
35
+
36
+ This package supports cloud sync via `@hasna/cloud`:
64
37
 
65
38
  ```bash
66
- search-serve --port 19800
67
- # Open http://localhost:19800
39
+ cloud setup
40
+ cloud sync push --service search
41
+ cloud sync pull --service search
68
42
  ```
69
43
 
70
- ## Features
44
+ ## Data Directory
71
45
 
72
- - Multi-provider concurrent search
73
- - Result normalization and deduplication
74
- - Search profiles (research, social, video, code, academic)
75
- - Search history and saved searches
76
- - YouTube video transcription (via microservice-transcriber)
77
- - Export results as JSON, CSV, or Markdown
78
- - Web dashboard with dark/light mode
46
+ Data is stored in `~/.hasna/search/`.
79
47
 
80
48
  ## License
81
49
 
82
- Apache-2.0
50
+ Apache-2.0 -- see [LICENSE](LICENSE)
package/dist/cli/index.js CHANGED
@@ -11167,7 +11167,7 @@ var init_database = __esm(() => {
11167
11167
  var require_package = __commonJS((exports, module) => {
11168
11168
  module.exports = {
11169
11169
  name: "@hasna/search",
11170
- version: "0.0.4",
11170
+ version: "0.0.5",
11171
11171
  description: "Unified search aggregator \u2014 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
11172
11172
  type: "module",
11173
11173
  main: "dist/index.js",
@@ -11196,7 +11196,8 @@ var require_package = __commonJS((exports, module) => {
11196
11196
  "dev:cli": "bun run src/cli/index.tsx",
11197
11197
  "dev:mcp": "bun run src/mcp/index.ts",
11198
11198
  "dev:serve": "bun run src/server/index.ts",
11199
- prepublishOnly: "bun run build"
11199
+ prepublishOnly: "bun run build",
11200
+ postinstall: "mkdir -p $HOME/.hasna/search 2>/dev/null || true"
11200
11201
  },
11201
11202
  keywords: [
11202
11203
  "search",
package/dist/mcp/index.js CHANGED
@@ -15604,7 +15604,7 @@ var init_database = __esm(() => {
15604
15604
  var require_package = __commonJS((exports, module) => {
15605
15605
  module.exports = {
15606
15606
  name: "@hasna/search",
15607
- version: "0.0.4",
15607
+ version: "0.0.5",
15608
15608
  description: "Unified search aggregator \u2014 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
15609
15609
  type: "module",
15610
15610
  main: "dist/index.js",
@@ -15633,7 +15633,8 @@ var require_package = __commonJS((exports, module) => {
15633
15633
  "dev:cli": "bun run src/cli/index.tsx",
15634
15634
  "dev:mcp": "bun run src/mcp/index.ts",
15635
15635
  "dev:serve": "bun run src/server/index.ts",
15636
- prepublishOnly: "bun run build"
15636
+ prepublishOnly: "bun run build",
15637
+ postinstall: "mkdir -p $HOME/.hasna/search 2>/dev/null || true"
15637
15638
  },
15638
15639
  keywords: [
15639
15640
  "search",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/search",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Unified search aggregator — 12 providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,7 +29,8 @@
29
29
  "dev:cli": "bun run src/cli/index.tsx",
30
30
  "dev:mcp": "bun run src/mcp/index.ts",
31
31
  "dev:serve": "bun run src/server/index.ts",
32
- "prepublishOnly": "bun run build"
32
+ "prepublishOnly": "bun run build",
33
+ "postinstall": "mkdir -p $HOME/.hasna/search 2>/dev/null || true"
33
34
  },
34
35
  "keywords": [
35
36
  "search",
@@ -70,7 +71,7 @@
70
71
  "author": "Andrei Hasna <andrei@hasna.com>",
71
72
  "license": "Apache-2.0",
72
73
  "dependencies": {
73
- "@hasna/cloud": "^0.1.0",
74
+ "@hasna/cloud": "^0.1.24",
74
75
  "@modelcontextprotocol/sdk": "^1.12.1",
75
76
  "chalk": "^5.4.1",
76
77
  "commander": "^13.1.0",