@apmantza/greedysearch-pi 1.8.2 → 1.8.4
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/CHANGELOG.md +17 -0
- package/README.md +10 -1
- package/bin/launch.mjs +366 -366
- package/bin/search.mjs +388 -388
- package/extractors/common.mjs +291 -291
- package/extractors/gemini.mjs +146 -146
- package/extractors/google-ai.mjs +125 -125
- package/extractors/perplexity.mjs +147 -145
- package/extractors/selectors.mjs +54 -54
- package/index.ts +256 -278
- package/package.json +1 -1
- package/src/github.mjs +237 -237
- package/src/reddit.mjs +210 -0
- package/src/search/chrome.mjs +222 -222
- package/src/search/constants.mjs +37 -37
- package/src/search/defaults.mjs +14 -14
- package/src/search/engines.mjs +62 -62
- package/src/search/fetch-source.mjs +35 -3
- package/src/search/output.mjs +58 -58
- package/src/search/sources.mjs +445 -445
- package/src/search/synthesis-runner.mjs +63 -63
- package/src/search/synthesis.mjs +223 -223
- package/src/tools/deep-research-handler.ts +36 -36
- package/src/tools/greedy-search-handler.ts +53 -57
- package/src/tools/shared.ts +135 -130
- package/src/types.ts +103 -103
- package/test.mjs +423 -377
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.8.4 (2026-04-27)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- **Double-escaped enum params (issue #2)** — `pi-coding-agent` v0.70.2 wraps string enum values in extra quotes (e.g. `"all"` → `"\"all\""`) before validation, causing `greedy_search`, `deep_research`, and `coding_task` to reject every call with a validation error. Fixed by switching `engine`, `depth`, and `mode` parameters from strict `Type.Union([Type.Literal(...)])` to `Type.String()` (so the call passes validation), then stripping the extra quotes in each handler via a shared `stripQuotes()` utility.
|
|
7
|
+
|
|
8
|
+
### Tests
|
|
9
|
+
- **Unit tests added** — `node test.mjs unit` runs 13 fast, Chrome-free tests covering `stripQuotes` and param normalization for all affected tools. Included in `quick` and `smoke` modes.
|
|
10
|
+
- **CI now runs unit tests** — GitHub Actions workflow runs `node test.mjs unit` after install on all three OS targets (ubuntu, windows, macos).
|
|
11
|
+
|
|
12
|
+
## v1.8.3 (2026-04-24)
|
|
13
|
+
|
|
14
|
+
### Fixes
|
|
15
|
+
- **Perplexity extraction fixed** — The copy button selector was returning the first matching button ("Copy question") instead of the answer copy button. Changed `.find()` to `.filter().pop()` to get the last matching button, which correctly copies the answer text. Fixes `--full` flag returning only the query text instead of the full answer.
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
- **Reddit JSON API support** — Reddit post URLs now use Reddit's public `.json` API instead of HTML scraping. Gets structured post data + top comments with nesting. Falls back to HTTP fetch if API fails.
|
|
19
|
+
|
|
3
20
|
## v1.8.2 (2026-04-20)
|
|
4
21
|
|
|
5
22
|
### Cross-Platform Testing
|
package/README.md
CHANGED
|
@@ -57,11 +57,20 @@ node ~/.pi/agent/git/GreedySearch-pi/bin/launch.mjs --kill
|
|
|
57
57
|
- Chrome
|
|
58
58
|
- Node.js 20.11.0+ (22+ recommended)
|
|
59
59
|
|
|
60
|
+
## Source fetching
|
|
61
|
+
|
|
62
|
+
When using `depth: "standard"` or `depth: "deep"`, source content is fetched and synthesized:
|
|
63
|
+
|
|
64
|
+
- **Reddit** — Uses Reddit's public `.json` API for posts and comments (no scraping)
|
|
65
|
+
- **GitHub** — Uses GitHub REST API for repos, READMEs, and file trees
|
|
66
|
+
- **General web** — Mozilla Readability extraction with browser fallback for bot-blocked pages
|
|
67
|
+
- **Metadata** — title, author/byline, site name, publish date, language, excerpt
|
|
68
|
+
|
|
60
69
|
## Project layout
|
|
61
70
|
|
|
62
71
|
- `bin/` - runtime CLIs (`search.mjs`, `launch.mjs`, `cdp.mjs`, `coding-task.mjs`)
|
|
63
72
|
- `extractors/` - engine-specific automation
|
|
64
|
-
- `src/` - ranking/fetching/formatting internals
|
|
73
|
+
- `src/` - ranking/fetching/formatting internals (includes `reddit.mjs`, `github.mjs`, `fetcher.mjs`)
|
|
65
74
|
- `skills/` - Pi skill metadata
|
|
66
75
|
|
|
67
76
|
## Testing
|