@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 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`.