Package evidence
[email protected]
Install-time lifecycle script: postinstall="node tools/fix-node-pty-permissions.mjs"
Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Weekly downloads
- 325
- Versions published
- 3
- First published
- Apr 2026
- Publisher
- ferterahadi
Recommended action
Review before promotingMixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"review"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"review"}'Why flagged
What the scanner saw
Install-time lifecycle script: postinstall="node tools/fix-node-pty-permissions.mjs"
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (2 events)
- new → available · risk review · score 5 · status changed
- new → available · risk review · score 5 · status changed
Evidence
Static findings
1 static · 0 from release diff · showing high-signal first.
No high-signal findings — see all findings below.
Show all 1 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| low | Install-time lifecycle script | package.json | postinstall="node tools/fix-node-pty-permissions.mjs" | 5 |
Manifest
Package metadata
Scripts19
buildnode tools/clean-dist.mjs && tsc -p tsconfig.build.json && node tools/prepare-assets.mjs && vite build --config apps/web/vite.config.tsbuild:webvite build --config apps/web/vite.config.tschangelognode tools/generate-changelog.mjschangelog:previewnode tools/generate-changelog.mjs --dry-rundev:webvite --config apps/web/vite.config.tspostinstallnode tools/fix-node-pty-permissions.mjsprepacknpm run buildpromo:agent:capturenode apps/web/promo/agent-repair-loop/capture-live-app.mjspromo:agent:rendernpm run promo:agent:capture && npm run promo:agent:render:webm && npm run promo:agent:render:gifpromo:agent:render:gifremotion render apps/web/promo/agent-repair-loop/index.tsx CanaryLabAgentPromo docs/assets/canary-lab-repair-loop.gif --codec=gif --concurrency=1 --public-dir=apps/web/promo/agent-repair-loop/publicpromo:agent:render:webmremotion render apps/web/promo/agent-repair-loop/index.tsx CanaryLabAgentPromo docs/assets/canary-lab-ai-agent-promo.webm --codec=vp8 --crf=18 --concurrency=1 --public-dir=apps/web/promo/agent-repair-loop/publicpromo:agent:verifynode apps/web/promo/agent-repair-loop/verify-video.mjspublish:packagenode tools/publish-package.mjssmoke:packnode tools/smoke-pack.mjstagnode tools/tag-release.mjstag:forcenode tools/tag-release.mjs --forcetestvitest runtest:coveragevitest run --coveragetest:watchvitest
Dependencies21
@babel/parser^7.29.2@dnd-kit/core^6.3.1@dnd-kit/sortable^10.0.0@dnd-kit/utilities^3.2.2@fastify/multipart^10.0.0@fastify/static^9.1.3@fastify/websocket^11.2.0@modelcontextprotocol/sdk^1.29.0@playwright/mcp^0.0.75@playwright/test^1.54.2ast-types^0.16.1dotenv^16.6.1fastify^5.8.5mammoth^1.12.0node-pty^1.1.0pdf-parse^2.4.5recast^0.23.11shiki^4.0.2typescript^5.9.3ws^8.20.0zod^4.4.3