Files
SeedPass/js/packages/cli/package.json
T
thePR0M3TH3ANandClaude Fable 5 841d0984b3 TS port slice 8: profiles, config, and the session agent
- Python-compatible ~/.seedpass layout: fingerprints.json (same shape,
  indent=4), per-profile dirs with parent_seed.enc (kdf/ct wrapper; unlock
  honors argon2id metadata and falls back across pbkdf2 iteration counts),
  index-key-encrypted seedpass_config.json.enc with ConfigManager defaults.
- CLI: fingerprint list/add/switch/remove (remove requires --yes),
  config get/set (JSON-parsed values, pin/password hashes redacted on read),
  profile-aware vault resolution (--vault override, else active profile).
- Session agent (the chosen unlock model): unix-socket daemon holding
  unlocked seeds in memory with TTL, 0600 socket; agent start/status/stop,
  vault unlock (password -> parent seed -> agent, never argv) and vault
  lock. Seed resolution order: SEEDPASS_MNEMONIC env, then agent. This
  daemon is the designed enforcement point for the section-9.3 lease/token
  layer.
- Tests cover the full no-env-mnemonic lifecycle: locked error -> unlock
  with password only -> provision/reveal through the agent -> status ->
  lock -> locked again. 148 core + 29 CLI tests green.

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

29 lines
663 B
JSON

{
"name": "@seedpass/cli",
"version": "0.0.1",
"description": "SeedPass command-line interface (TypeScript port) — reference-first, agent-blind by default",
"type": "module",
"bin": {
"seedpass-js": "./bin/seedpass-js.mjs"
},
"exports": {
".": "./src/index.ts"
},
"scripts": {
"test": "vitest run",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@scure/base": "^2.3.0",
"@seedpass/core": "workspace:*",
"commander": "^14.0.2"
},
"devDependencies": {
"@seedpass/test-vectors": "workspace:*",
"@types/node": "^26.2.0",
"tsx": "^4.20.0",
"typescript": "^5.7.0",
"vitest": "^3.0.0"
}
}