Files
SeedPass/js/packages/cli/package.json
T
thePR0M3TH3ANandClaude Fable 5 1864343084 cutover: close gates 5, 6 and 7
Gate 5 (feature parity) -- document import/export ported: `entry
import-document` reads a text file (label defaults to the file stem, type
from the extension) and `entry export-document` writes one back, reproducing
Python's filename sanitization, directory-vs-file destination handling and
overwrite refusal. That was the last concrete item; the three remaining
exclusions (PGP RSA, semantic, api) are now documented decisions rather than
open work, and none of them blocks cutover.

Gate 6 (packaging) -- js/packages/cli/build.mjs bundles the CLI into a
single self-contained ESM file with no runtime dependencies beyond Node 22,
writes a .sha256 beside it, and is wired up as the package `bin` and
`prepack` so npm install/pack produce a working command. --version now
reports a real version stamped at build time. CI builds the bundle and
smoke-tests it from a directory with no node_modules -- version,
capabilities, profile creation, entry creation, reveal -- then uploads it.
Verified locally that the bundle runs standalone outside the workspace.

Gate 7 (migration and rollback) -- docs/typescript_migration_guide.md: the
migration is a no-op (same profiles), so the guide covers what to back up,
how to rehearse against a copy with SEEDPASS_APP_DIR, the two behavioral
differences users will notice, the known exclusions, and seed-only recovery.
Rollback is proven rather than asserted: new cross-impl phase K drives a
profile through the TS CLI -- several entry kinds created, one edited, one
archived -- then checks Python reopens it, sees every change, derives the
same secrets, and can still write to it afterwards.

Also adds js/packages/cli/README.md documenting the reference-first output
model and the scoped-token workflow.

193 core + 49 CLI tests green; 36/36 cross-implementation checks green.
All eight cutover gates are now green.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-14 21:33:28 -04:00

40 lines
858 B
JSON

{
"name": "@seedpass/cli",
"version": "0.1.0",
"description": "SeedPass command-line interface (TypeScript) \u2014 reference-first, agent-blind by default",
"type": "module",
"bin": {
"seedpass-js": "./dist/seedpass-js.mjs"
},
"exports": {
".": "./src/index.ts"
},
"scripts": {
"build": "node build.mjs",
"prepack": "node build.mjs",
"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",
"esbuild": "^0.28.0"
},
"license": "MIT",
"engines": {
"node": ">=22"
},
"files": [
"dist/",
"README.md"
]
}