@lincoln504/pi-research 1.6.4 → 1.6.5

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
@@ -40,18 +40,18 @@ pi install npm:@lincoln504/pi-research
40
40
  Standalone, as an [agent skill](docs/AGENT-SKILL.md) for Claude Code, Codex, and other skills-compatible agents:
41
41
 
42
42
  ```bash
43
- npm install -g @lincoln504/pi-research
43
+ npm install -g @lincoln504/pi-research --allow-scripts=better-sqlite3
44
44
  pi-research skill install
45
45
  ```
46
46
 
47
- On npm 12 or newer, allow the one install script search depends on before installing:
47
+ On npm 12 or newer, npm skips dependency install scripts by default; the flag allows the one that builds search's SQLite module — without it, every search fails with a missing-module error (the flag is harmless on older npm). `pi install` passes no flags to npm, so on npm 12 bracket any install or update with the same allowance as config — set, run, delete — because while the setting is in place it can break installs of other projects with git dependencies ([npm/cli#9783](https://github.com/npm/cli/issues/9783)):
48
48
 
49
49
  ```bash
50
50
  npm config set allow-scripts=better-sqlite3 --location=user
51
+ pi install npm:@lincoln504/pi-research
52
+ npm config delete allow-scripts --location=user
51
53
  ```
52
54
 
53
- npm 12 stopped running dependency install scripts by default, and the stealth browser's SQLite module is built by one. Skipped, the install still succeeds with a warning — but every search fails with a missing-module error. The config covers both installs; for the standalone install, `--allow-scripts=better-sqlite3` on the `npm install -g` line also works. The bare flag allows nothing, and `pi install` accepts only the config form.
54
-
55
55
  In pi it works out of the box on the session's model and pi's configuration. Standalone use ([agent skill](docs/AGENT-SKILL.md) or [SDK](docs/SDK.md)) needs a model configured. See [Configuration](docs/CONFIGURATION.md). The first install downloads the stealth browser engine, which takes a few minutes.
56
56
 
57
57
  ### How it works
@@ -43,13 +43,13 @@ model/key is missing.
43
43
  model (`PI_RESEARCH_MODEL`) + API key. See [`references/configuration.md`](references/configuration.md).
44
44
 
45
45
  ```bash
46
- npm install -g @lincoln504/pi-research
46
+ npm install -g @lincoln504/pi-research --allow-scripts=better-sqlite3
47
47
  node "<skill_dir>/scripts/run.mjs" status # verify detection
48
48
  ```
49
49
 
50
- On npm 12 or newer, first run `npm config set allow-scripts=better-sqlite3 --location=user`:
51
- npm 12 blocks the install script that builds the stealth browser's SQLite module, and
52
- without it every search fails with a missing-module error.
50
+ On npm 12 or newer the flag is needed: npm blocks the install script that builds the
51
+ stealth browser's SQLite module, and without it every search fails with a
52
+ missing-module error. It is harmless on older npm.
53
53
 
54
54
  ### Install the skill
55
55
 
@@ -2,7 +2,7 @@
2
2
  name: pi-research
3
3
  description: "Multi-agent web research for any coding agent. Use for anything requiring current information from the internet — news, trends, product/service/company facts, statistics, people, places, events, APIs, library behavior, or 'what is X / how does X work' questions. Also use to search a local knowledge store of previously researched findings before doing live research. Powered by the pi-research engine (search, stealth scraping, security databases, Stack Exchange). Not for reading local files, running project commands, or analyzing this repository's own source."
4
4
  license: MIT
5
- metadata: { "author": "Lincoln Deen", "version": "1.6.4", "package": "@lincoln504/pi-research", "engine": "pi-research-sdk", "openclaw": { "requires": { "bins": ["node"] } } }
5
+ metadata: { "author": "Lincoln Deen", "version": "1.6.5", "package": "@lincoln504/pi-research", "engine": "pi-research-sdk", "openclaw": { "requires": { "bins": ["node"] } } }
6
6
  allowed-tools: Bash(node:*)
7
7
  ---
8
8
 
@@ -17,13 +17,14 @@ For standalone use without pi, install the engine globally, then link the skill
17
17
  every coding agent detected on this machine:
18
18
 
19
19
  ```bash
20
- npm install -g @lincoln504/pi-research # the engine (puts `pi-research` on PATH)
20
+ npm install -g @lincoln504/pi-research --allow-scripts=better-sqlite3 # the engine (puts `pi-research` on PATH)
21
21
  pi-research skill install # link the skill into every detected agent
22
22
  ```
23
23
 
24
- On npm 12 or newer, first run `npm config set allow-scripts=better-sqlite3 --location=user`:
25
- npm 12 blocks the install script that builds the stealth browser's SQLite module, and
26
- without it every search fails with a missing-module error (see the [README](../README.md#install)).
24
+ On npm 12 or newer the flag is needed: npm blocks dependency install scripts by
25
+ default, and without the one that builds the stealth browser's SQLite module every
26
+ search fails with a missing-module error. It is harmless on older npm (see the
27
+ [README](../README.md#install)).
27
28
 
28
29
  `skill install` targets only agents already set up under `$HOME`, never overwrites a
29
30
  different skill in the slot, and records what it created so `pi-research skill uninstall`
@@ -129,7 +130,7 @@ Manual. Symlink the directory into any agent's skills folder yourself:
129
130
  (`PI_RESEARCH_MODEL`) + API key. See [Configuration](CONFIGURATION.md).
130
131
 
131
132
  ```bash
132
- npm install -g @lincoln504/pi-research
133
+ npm install -g @lincoln504/pi-research --allow-scripts=better-sqlite3
133
134
  node "<skill_dir>/scripts/run.mjs" status # verify the engine is detected
134
135
  ```
135
136
 
package/docs/CHANGELOG.md CHANGED
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.6.5] - 2026-08-26
9
+
10
+ 1.6.4 verified its commands and then recommended the wrong one first: the user-level
11
+ `allow-scripts` config that "covers every install path" does cover them — at a cost
12
+ npm's own tracker had already documented, which the container runs (installing only
13
+ this package) could not see.
14
+
15
+ ### Fixed
16
+
17
+ - **The install docs led with a config setting that breaks unrelated projects.** While a user-level `allow-scripts` is set, any `npm install` or `npm ci` of a project with a git dependency fails with `EALLOWSCRIPTS` (npm/cli#9783, filed 2026-07-18): git-dependency preparation spawns an inner project-scoped install that receives the setting as `npm_config_allow_scripts`, where npm judges it as a forbidden command-line flag. The same env-forwarding breaks any install reached through `npm run-script` (npm/cli#9912, filed 2026-08-24) — including a `pi install` invoked from an npm script. The 1.6.4 remedy also never said to remove the setting, so a user following it kept the trap armed permanently. Every surface now leads with the remedy that touches nothing else: the inline `--allow-scripts=better-sqlite3` flag on the global install (a one-off — harmless on npm 11.16–11.19, where it at most silences the advisory warning, and on npm ≤11.15, where an unknown config flag is an accepted warning, measured: warning and exit 0), project-local `npm approve-scripts better-sqlite3` + `npm rebuild better-sqlite3` for the SDK path (also the repair for an install that already ran blocked), and for `pi install` — which passes no flags to npm — set the config, install, delete it again, with the reason stated at the point of use. The README prose is shorter than what it replaces (`README.md`, `docs/SDK.md`, `docs/AGENT-SKILL.md`, `agent-skill/pi-research/README.md`).
18
+ - **The manual per-agent install section showed a bare `npm install -g`.** The npm-12 note sat ~110 lines above at the top of the page, so a reader landing at the manual flow — or arriving by search — saw an unguarded command whose failure mode is a search that dies with a missing-module error and an install that reported success. The flag now rides on the command itself, which needs no note (`docs/AGENT-SKILL.md`).
19
+ - **The 1.6.3 "Verified" line named one job for two failures.** It credited "the ubuntu-latest job that caught the failure" directly below a bullet whose failure was seen on macos-latest; the release contained two failures on two runners (the lock race on ubuntu, the cleanup crash on macos). The line now names both, so the record matches the commits (`docs/CHANGELOG.md`).
20
+
21
+ ### Verified
22
+
23
+ - 2938 unit tests over 233 files, lint, and type-check green.
24
+ - The flag-on-the-line and approve+rebuild forms are the same forms 1.6.4 measured working in npm 12.0.2 containers. The older-npm acceptance of the flag was measured directly (an unknown config flag warns and exits 0, so the install line is safe on the npm shipped with the minimum supported Node). The set-install-delete bracket reuses the config form 1.6.4 verified reaching `pi install`, with the removal step and its reason taken from npm/cli#9783's workaround guidance.
25
+
8
26
  ## [1.6.4] - 2026-08-26
9
27
 
10
28
  The npm 12 install remedy shipped in 1.6.2 was put through real installs in
@@ -38,7 +56,7 @@ identified a real race in the lock acquire loop rather than a slow runner.
38
56
 
39
57
  ### Verified
40
58
 
41
- - 2938 unit tests over 233 files, lint, type-check, and the full CI matrix green on the fix commit — including the ubuntu-latest job that caught the failure.
59
+ - 2938 unit tests over 233 files, lint, type-check, and the full CI matrix green on the fix commits — including the ubuntu-latest job that caught the lock race and the macos-latest job that caught the cleanup crash.
42
60
 
43
61
  ## [1.6.2] - 2026-08-24
44
62
 
package/docs/SDK.md CHANGED
@@ -13,18 +13,18 @@ run the `pi` extension, which keeps its own private copy your scripts can't impo
13
13
  npm install @lincoln504/pi-research
14
14
  ```
15
15
 
16
- On npm 12 or newer, allow the one install script search depends on before installing:
16
+ On npm 12 or newer, npm skips dependency install scripts by default and a project-scoped
17
+ install rejects the `--allow-scripts` flag — record the one script search depends on in
18
+ your project instead, then run it:
17
19
 
18
20
  ```bash
19
- npm config set allow-scripts=better-sqlite3 --location=user
21
+ npm approve-scripts better-sqlite3 # pins the approval in your allowScripts field
22
+ npm rebuild better-sqlite3
20
23
  ```
21
24
 
22
- npm 12 blocks dependency install scripts by default, and a project-scoped install
23
- rejects the `--allow-scripts` flag — hence the config form. Skipped, the install
24
- succeeds but every search fails with a missing-module error. To repair an install
25
- that already ran blocked: `npm approve-scripts better-sqlite3` (pins the approval
26
- in your project's `allowScripts` field), then `npm rebuild better-sqlite3` —
27
- rerunning `npm install` does not rebuild the already-extracted package.
25
+ Without that script every search fails with a missing-module error, and rerunning
26
+ `npm install` does not run it — `npm rebuild` does. The same pair repairs an install
27
+ that already ran blocked.
28
28
 
29
29
  Then pick the model: pass `model` to `initResearchSDK`, or set `PI_RESEARCH_MODEL`
30
30
  (env or `~/.pi/research/config.env`). The SDK never follows the model selected
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lincoln504/pi-research",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "Web research for your agents with smart and safe tooling + knowledge store",
5
5
  "type": "module",
6
6
  "private": false,