@effect-x/ultimate-search 0.1.1 → 0.1.2

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.
Files changed (40) hide show
  1. package/README.md +26 -132
  2. package/SKILL.md +8 -20
  3. package/dist/cli.js +1291 -265
  4. package/dist/cli.js.map +1 -329
  5. package/package.json +33 -27
  6. package/src/cli.ts +0 -21
  7. package/src/commands/fetch.ts +0 -98
  8. package/src/commands/map.ts +0 -103
  9. package/src/commands/mcp/stdio.ts +0 -27
  10. package/src/commands/mcp.ts +0 -7
  11. package/src/commands/root.ts +0 -10
  12. package/src/commands/search/dual.ts +0 -91
  13. package/src/commands/search/grok.ts +0 -70
  14. package/src/commands/search/tavily.ts +0 -102
  15. package/src/commands/search.ts +0 -9
  16. package/src/config/settings.ts +0 -261
  17. package/src/providers/firecrawl/client.ts +0 -75
  18. package/src/providers/firecrawl/schema.ts +0 -31
  19. package/src/providers/grok/client.ts +0 -77
  20. package/src/providers/grok/schema.ts +0 -109
  21. package/src/providers/tavily/client.ts +0 -143
  22. package/src/providers/tavily/schema.ts +0 -207
  23. package/src/services/dual-search.ts +0 -150
  24. package/src/services/firecrawl-fetch.ts +0 -104
  25. package/src/services/grok-search.ts +0 -68
  26. package/src/services/read-only-mcp.ts +0 -278
  27. package/src/services/tavily-extract.ts +0 -66
  28. package/src/services/tavily-map.ts +0 -38
  29. package/src/services/tavily-search.ts +0 -40
  30. package/src/services/web-fetch-schema.ts +0 -74
  31. package/src/services/web-fetch.ts +0 -105
  32. package/src/shared/cli-flags.ts +0 -25
  33. package/src/shared/command-output.ts +0 -21
  34. package/src/shared/effect.ts +0 -52
  35. package/src/shared/errors.ts +0 -56
  36. package/src/shared/output.ts +0 -210
  37. package/src/shared/provider-http-client.ts +0 -73
  38. package/src/shared/render-error.ts +0 -101
  39. package/src/shared/schema.ts +0 -42
  40. package/src/shared/tracing.ts +0 -53
package/README.md CHANGED
@@ -1,56 +1,33 @@
1
1
  # @effect-x/ultimate-search
2
2
 
3
- A CLI-first web search toolkit for agents and automation.
3
+ Node-first web search CLI and read-only MCP server for agents and automation.
4
4
 
5
- It can be used in two ways:
5
+ ## Highlights
6
6
 
7
- - as an npm-executed CLI: `npx @effect-x/ultimate-search ...`
8
- - as a read-only MCP server over stdio: `npx @effect-x/ultimate-search mcp stdio`
7
+ - exposes `search`, `fetch`, and `map` commands for common agent research workflows
8
+ - supports Grok, Tavily, and Firecrawl-backed retrieval flows behind one CLI surface
9
+ - runs as a read-only MCP stdio server for tool-aware agent environments
10
+ - bundles the CLI with `tsdown` while keeping Bun for dependency management and local development
11
+ - publishes through a single-package Changesets workflow with npm provenance enabled
9
12
 
10
- After installation, the executable name is `ultimate-search`.
13
+ ## Install
11
14
 
12
- ## Features
13
-
14
- - `search grok` for synthesis-oriented web search
15
- - `search tavily` for structured search with ranking and recency controls
16
- - `search dual` for cross-checking results across Grok and Tavily
17
- - `fetch` for page retrieval with Tavily Extract first and FireCrawl fallback
18
- - `map` for site URL discovery and documentation tree exploration
19
- - `mcp stdio` for exposing the same read-only surface to MCP clients
20
-
21
- ## Installation
22
-
23
- Run without installing:
15
+ Run it without installing:
24
16
 
25
17
  ```bash
26
18
  npx @effect-x/ultimate-search --help
27
19
  ```
28
20
 
29
- Or with other package managers:
30
-
31
- ```bash
32
- pnpm dlx @effect-x/ultimate-search --help
33
- bunx @effect-x/ultimate-search --help
34
- ```
35
-
36
- Install globally:
21
+ Or install it globally:
37
22
 
38
23
  ```bash
39
24
  npm install --global @effect-x/ultimate-search
40
25
  ultimate-search --help
41
26
  ```
42
27
 
43
- ## Quick Start
44
-
45
- ### 1. Configure environment variables
46
-
47
- Copy the example file:
48
-
49
- ```bash
50
- cp .env.example .env
51
- ```
28
+ ## Usage
52
29
 
53
- At minimum, configure:
30
+ Set the provider credentials you need in your shell or `.env` file:
54
31
 
55
32
  - `GROK_API_URL`
56
33
  - `GROK_API_KEY`
@@ -58,118 +35,35 @@ At minimum, configure:
58
35
  - `TAVILY_API_KEY`
59
36
  - `FIRECRAWL_API_KEY` for the `fetch` fallback path
60
37
 
61
- ### 2. Run the CLI
62
-
63
- ```bash
64
- npx @effect-x/ultimate-search search grok --query "latest bun release"
65
- npx @effect-x/ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
66
- npx @effect-x/ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
67
- npx @effect-x/ultimate-search fetch --url "https://effect.website" --output llm
68
- npx @effect-x/ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
69
- ```
70
-
71
- ### 3. Start the MCP server
72
-
73
- ```bash
74
- npx @effect-x/ultimate-search mcp stdio
75
- ```
76
-
77
- Exposed read-only MCP tools:
78
-
79
- - `search_grok`
80
- - `search_tavily`
81
- - `search_dual`
82
- - `fetch`
83
- - `map`
84
-
85
- ## Usage
86
-
87
- ### Output modes
88
-
89
- - default output is human-readable text
90
- - `--output llm` emits structured JSON for agents and automation
91
- - if `AGENT=1` is set and `--output` is omitted, commands may default to `llm`
92
-
93
- ### Installed binary usage
38
+ Run a few common commands:
94
39
 
95
40
  ```bash
96
- ultimate-search --help
97
- ultimate-search search dual --query "Node.js latest release" --output llm
41
+ ultimate-search search grok --query "latest bun release"
42
+ ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
43
+ ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
44
+ ultimate-search fetch --url "https://effect.website" --output llm
45
+ ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
98
46
  ultimate-search mcp stdio
99
47
  ```
100
48
 
101
- ### Command overview
102
-
103
- - `ultimate-search search grok --query "..."`
104
- - `ultimate-search search tavily --query "..."`
105
- - `ultimate-search search dual --query "..."`
106
- - `ultimate-search fetch --url "..."`
107
- - `ultimate-search map --url "..."`
108
- - `ultimate-search mcp stdio`
109
-
110
- ## Configuration
111
-
112
- ### Required runtime variables
113
-
114
- - `GROK_API_URL`
115
- - `GROK_API_KEY`
116
- - `TAVILY_API_URL`
117
- - `TAVILY_API_KEY`
118
-
119
- ### Optional runtime variables
120
-
121
- - `GROK_MODEL`
122
- - `FIRECRAWL_API_URL`
123
- - `FIRECRAWL_API_KEY`
124
- - `AGENT`
49
+ ## Development
125
50
 
126
- ## Local Development
127
-
128
- Repository maintenance uses Bun. Published artifacts target Node.js 20+.
51
+ The repository uses Bun for dependency management and local commands. The published CLI targets Node.js 24+.
129
52
 
130
53
  ```bash
131
54
  bun install
132
- bun run build
133
- node ./dist/cli.js --help
134
- node ./dist/cli.js search grok --query "query"
135
- node ./dist/cli.js mcp stdio
136
- ```
137
-
138
- You can also run the source entry directly during development:
139
-
140
- ```bash
141
- bun run ./src/cli.ts search grok --query "query"
142
- bun run ./src/cli.ts mcp stdio
143
- ```
144
-
145
- ## Quality Checks
146
-
147
- ```bash
148
55
  bun run check
149
- bun run build
56
+ node ./dist/cli.js --help
150
57
  ```
151
58
 
152
- ## Release Workflow
153
-
154
- This repository uses Changesets and GitHub Actions for versioning and publishing.
155
-
156
- - release docs: `docs/publishing.md`
157
- - contribution guide: `CONTRIBUTING.md`
158
- - package skill instructions: `SKILL.md`
159
-
160
- Before the first publish, make sure the target GitHub repository provides:
161
-
162
- - an `NPM_TOKEN` secret
163
- - npm publish access for the `@effect-x` scope
164
- - trusted publishing / provenance setup if you want npm provenance enabled
165
-
166
- ## Skill Integration
59
+ ## Release
167
60
 
168
- The repository includes a root `SKILL.md` file for agent environments that support local skills:
61
+ This package uses Changesets plus the shared GitHub Actions release workflow.
169
62
 
170
63
  ```bash
171
- mkdir -p ~/.openclaw/workspace/skills/ultimate-search
172
- ln -sf "$(pwd)/SKILL.md" ~/.openclaw/workspace/skills/ultimate-search/SKILL.md
64
+ bun run changeset
65
+ bun run version-packages
66
+ bun run release
173
67
  ```
174
68
 
175
69
  ## License
package/SKILL.md CHANGED
@@ -9,26 +9,14 @@ Use `@effect-x/ultimate-search` as the default web search tool for agent workflo
9
9
 
10
10
  ## Primary Commands
11
11
 
12
- | Use case | Command |
13
- | --- | --- |
14
- | Grok search | `npx @effect-x/ultimate-search search grok --query "..."` |
15
- | Tavily search | `npx @effect-x/ultimate-search search tavily --query "..."` |
16
- | Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."` |
17
- | Fetch a page | `npx @effect-x/ultimate-search fetch --url "..."` |
18
- | Map a site | `npx @effect-x/ultimate-search map --url "..."` |
19
- | Start MCP stdio | `npx @effect-x/ultimate-search mcp stdio` |
20
-
21
- If the package is installed globally, you can use the `ultimate-search` binary directly.
22
-
23
- ## Environment
24
-
25
- Make sure these environment variables are available before invoking the CLI:
26
-
27
- - `GROK_API_URL`
28
- - `GROK_API_KEY`
29
- - `TAVILY_API_URL`
30
- - `TAVILY_API_KEY`
31
- - `FIRECRAWL_API_KEY` for the `fetch` fallback path
12
+ | Use case | Command |
13
+ | -------------------------- | ----------------------------------------------------------- |
14
+ | Grok search | `npx @effect-x/ultimate-search search grok --query "..."` |
15
+ | Tavily search | `npx @effect-x/ultimate-search search tavily --query "..."` |
16
+ | Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."` |
17
+ | Fetch a page | `npx @effect-x/ultimate-search fetch --url "..."` |
18
+ | Map a site | `npx @effect-x/ultimate-search map --url "..."` |
19
+ | Start MCP stdio | `npx @effect-x/ultimate-search mcp stdio` |
32
20
 
33
21
  ## Tool Selection
34
22