@apmantza/greedysearch-pi 1.8.1 → 1.8.3
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 +18 -0
- package/README.md +27 -2
- package/bin/launch.mjs +366 -288
- package/bin/search.mjs +148 -20
- package/extractors/common.mjs +291 -279
- package/extractors/gemini.mjs +146 -145
- package/extractors/google-ai.mjs +125 -124
- package/extractors/perplexity.mjs +147 -141
- package/extractors/selectors.mjs +54 -52
- package/index.ts +179 -35
- package/package.json +53 -46
- 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 +6 -2
- 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 +51 -40
- package/src/tools/deep-research-handler.ts +36 -36
- package/src/tools/greedy-search-handler.ts +57 -57
- package/src/tools/shared.ts +130 -130
- package/src/types.ts +103 -103
- package/test.mjs +377 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.8.3 (2026-04-24)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- **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.
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
- **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.
|
|
10
|
+
|
|
11
|
+
## v1.8.2 (2026-04-20)
|
|
12
|
+
|
|
13
|
+
### Cross-Platform Testing
|
|
14
|
+
- **Node.js test runner (`test.mjs`)** — Added cross-platform test runner that works on Windows, macOS, and Linux without requiring bash. Runs smoke tests, quick tests, and edge case tests.
|
|
15
|
+
- **Updated npm scripts** — `npm test` now runs the Node.js test runner (was bash-only). Original bash tests available via `npm run test:bash`.
|
|
16
|
+
|
|
17
|
+
### Project Metadata
|
|
18
|
+
- **Added `engines` field** — Package now specifies `node: ">=20.11.0"` requirement for `import.meta.dirname` support.
|
|
19
|
+
- **Updated README** — Added Testing section documenting both Node.js and bash test runners, clarified Node.js 20.11.0+ requirement.
|
|
20
|
+
|
|
3
21
|
## v1.8.0 (2026-04-16)
|
|
4
22
|
|
|
5
23
|
### Fixes
|
package/README.md
CHANGED
|
@@ -55,15 +55,40 @@ node ~/.pi/agent/git/GreedySearch-pi/bin/launch.mjs --kill
|
|
|
55
55
|
## Requirements
|
|
56
56
|
|
|
57
57
|
- Chrome
|
|
58
|
-
- Node.js 22+
|
|
58
|
+
- Node.js 20.11.0+ (22+ recommended)
|
|
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
|
|
59
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
|
|
|
76
|
+
## Testing
|
|
77
|
+
|
|
78
|
+
Cross-platform test runner (Windows + Unix):
|
|
79
|
+
```bash
|
|
80
|
+
npm test # run all tests
|
|
81
|
+
npm run test:quick # skip slow tests
|
|
82
|
+
npm run test:smoke # basic health check
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Full bash test suite (Unix only):
|
|
86
|
+
```bash
|
|
87
|
+
npm run test:bash # comprehensive tests
|
|
88
|
+
./test.sh parallel # race condition tests
|
|
89
|
+
./test.sh flags # flag/option tests
|
|
90
|
+
```
|
|
91
|
+
|
|
67
92
|
## Changelog
|
|
68
93
|
|
|
69
94
|
See `CHANGELOG.md`.
|