Skip to content

fix(splash) + chore(security): blessed splash fix + npm supply-chain cooldown + 3.3.1#21

Open
decentraliser wants to merge 3 commits into
EmblemCompany:mainfrom
decentraliser:fix/blessed-splash-cwd
Open

fix(splash) + chore(security): blessed splash fix + npm supply-chain cooldown + 3.3.1#21
decentraliser wants to merge 3 commits into
EmblemCompany:mainfrom
decentraliser:fix/blessed-splash-cwd

Conversation

@decentraliser
Copy link
Copy Markdown
Contributor

@decentraliser decentraliser commented Apr 27, 2026

Combined PR. Subsumes #23 (closed).

Changes

fix(splash): resolve blessed from script dir, suppress child stderr (5883d3c)

Original PR #21 content.

chore(security): npm supply-chain cooldown — pin deps + .npmrc release-age (55c861a)

Hardening against the Shai-Hulud / TanStack npm+PyPI supply-chain wave.

  • .npmrc: minimum-release-age=10080 (7d cooldown, enforced by npm 11+) + save-exact
  • pin all 13 third-party direct deps to exact resolved versions; @emblemvault/* kept as ^
  • regenerate package-lock.json

chore(release): 3.3.1 — supply-chain cooldown (68b1e97)

Version bump for the publish after merge.

Caveats

  • npm audit: 5 pre-existing transitive advisories (2 high) — not addressed.

Test plan

  • npm ci && npm run typecheck && npm test
  • After merge: npm publish (@emblemvault/agentwallet@3.3.1)

Splash subprocess used `node -e require('blessed')` with stdio inherit. Module resolution starts from cwd, so running emblemai from a directory whose node_modules tree lacks blessed (e.g. ~/repositories/claw-os/) leaked a `Cannot find module 'blessed'` stack trace to stderr. Auth still completed (parent try/catch swallowed the throw), but the noise misled operators and AI agents into thinking auth failed.

Set child cwd to the script directory so require() always resolves the bundled blessed dep, and ignore child stderr so any future failure stays cosmetic.

L3-37 Claude
…e-age

Hardening against the Shai-Hulud / TanStack npm+PyPI supply-chain wave.

- add .npmrc: minimum-release-age=10080 (7d cooldown) + save-exact
- pin all 13 third-party direct deps to exact resolved versions; kept @emblemvault/*
  deps as ranges
- regenerate package-lock.json (synced)
- npm audit: 5 pre-existing transitive advisories (2 high) — left for a separate pass

L3-37 Claude
@decentraliser decentraliser changed the title fix(splash): resolve blessed from script dir, suppress child stderr fix(splash) + chore(security): blessed splash fix + npm supply-chain cooldown + 3.3.1 May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant