Files
SeedPass/js/packages/core/package.json
T
thePR0M3TH3ANandClaude Fable 5 e84a7e1c0e TS port slice 9: relay transport + nostr sync/restore — Milestone 5 complete
- core RelayPool over the platform WebSocket (global in Node 22+/browsers,
  no dependency): multi-relay publish with per-relay OK collection, fetch
  aggregation until EOSE with dedupe and signature verification on ingest,
  connect timeouts, dead-relay tolerance.
- Sync flows mirroring nostr/snapshot.py: publishSnapshot (chunk events ->
  manifest with HMAC identity + nonce), fetchLatestSnapshot (newest-first,
  per-chunk hash verify, falls through incomplete manifests), publishDelta,
  fetchDeltasSince (created_at replay order).
- CLI nostr group: get-pubkey (matches app-1237 fixture npub), list/add/
  remove-relay (config-backed, ws:// validation, last-relay guard), sync
  (publish local vault), restore (snapshot + delta merge -> local vault).
- Tested against an in-process NIP-01 mock relay: core round trip incl.
  corrupted-chunk rejection, and CLI end-to-end sync -> destroy local
  vault -> restore with secrets intact. Transport tests are Node-only
  (jsdom WebSocket can't connect; real browsers come with Milestone 6).
- 151 core + 32 CLI tests green. Milestone 5 CLI surface is complete.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-14 14:51:18 -04:00

33 lines
819 B
JSON

{
"name": "@seedpass/core",
"version": "0.0.1",
"description": "SeedPass protocol core: deterministic derivation, vault, sync",
"type": "module",
"sideEffects": false,
"exports": {
".": "./src/index.ts"
},
"scripts": {
"test": "vitest run && vitest run --environment jsdom",
"test:node": "vitest run",
"test:browser-env": "vitest run --environment jsdom",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@noble/curves": "^2.0.1",
"@noble/hashes": "^2.0.1",
"@scure/base": "^2.0.0",
"@scure/bip32": "^2.0.0",
"@scure/bip39": "^2.0.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@seedpass/test-vectors": "workspace:*",
"@types/ws": "^8.18.1",
"jsdom": "^30.0.1",
"typescript": "^5.7.0",
"vitest": "^3.0.0",
"ws": "^8.21.3"
}
}