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
- 2,056Niche · −30% score
- Versions published
- 55
- First published
- Mar 2026
- Publisher
- msahebsara
Effective trust discount applied: −30% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Looks clean — keep monitoringNo high-signal indicators in the stored static report. PkgRadar will re-check on the next ingest pass.
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":["@viewportai/[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":["@viewportai/[email protected]"],"fail_on":"review"}'Why flagged
What the scanner saw
No high-signal static finding in the saved report.
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk low · score 0 · status changed
Evidence
Static findings
No findings stored for this release.
Manifest
Package metadata
Scripts31
buildtscchecknpm run check:file-size && npm run check:protocol-matrix && npm run typecheck && npm run lint && npm run format:check && npm run testcheck:file-sizenode ./scripts/check-file-sizes.mjscheck:protocol-matrixnode ./scripts/check-protocol-matrix.mjsdevtsx watch src/index.tsdev:daemontsx watch src/index.ts start --foregrounddev:installbash ./scripts/install-dev.sh --yes --no-service --no-prereqs --no-hooksdev:linkbash ./scripts/install-dev.sh --link --yes --no-service --no-prereqs --no-hooksdev:reinstallnpm run dev:uninstall && npm run dev:installdev:uninstallbash ./scripts/uninstall.sh --servicedev:uninstall:allbash ./scripts/uninstall.sh --service --purge-homeformatprettier --write "{src,tests}/**/*.ts"format:checkprettier --check "{src,tests}/**/*.ts"linteslint src/ tests/ --no-error-on-unmatched-patternpostpacknode ./scripts/vendor-context-engine.mjs cleanprepacknpm run build && node ./scripts/vendor-context-engine.mjs preparestart:foregroundnpm run build && node dist/index.js start --foregroundtestbash ./scripts/test.shtest:coveragevitest run --coverage --pool=forkstest:e2evitest run tests/e2etest:e2e:fullstackVIEWPORT_RUN_NET_E2E=1 vitest run tests/e2e/cli-fullstack-workflow.test.tstest:setupvitest run tests/cli/setup-command.test.ts tests/cli/service-commands.test.ts tests/startup-prereqs.test.ts tests/core/built-in-agents.test.tstest:unitvitest run --pool=forkstest:verifynpm run test -- --verifytest:watchvitesttypechecktsc --noEmitverify:envbash ./scripts/test-env.shverify:env:servicebash ./scripts/test-env.sh --serviceverify:installbash ./scripts/install-verify.shverify:linux:cibash ./scripts/verify-linux-ci.sh- …and 1 more.
Dependencies15
@anthropic-ai/claude-agent-sdk^0.2.63@fastify/cors^10.0.1@fastify/websocket^11.0.1@hpke/core^1.9.0@hpke/dhkem-x25519^1.8.0@openai/codex-sdk^0.107.0@viewportai/context-engine^0.0.1ajv^8.20.0better-sqlite3^11.10.0fastify^5.2.1jsonata^2.1.0pino^9.6.0pino-pretty^13.1.3yaml^2.8.3zod^4.0.0