29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
# State
|
|
|
|
## Current focus
|
|
Read-only TypeScript wrapper around KeePass `.kdbx` databases through a Python JSON bridge.
|
|
|
|
## Current API
|
|
- `openKeePassDatabase(path, options)`
|
|
- `listEntries()`
|
|
- `findEntries(query)`
|
|
- `listGroups()`
|
|
- `close()` is a no-op
|
|
|
|
## Runtime model
|
|
- TypeScript spawns Python per request
|
|
- Python uses `pykeepass`
|
|
- JSON is exchanged over stdin/stdout
|
|
- Errors from the bridge, missing files, invalid JSON, and backend exceptions are surfaced to TypeScript
|
|
- Python defaults to `.venv/bin/python3`, overridable with `PYTHON_PATH`
|
|
|
|
## Current fixture/test status
|
|
- Bundled fixtures: `tests/fixtures/data.kdbx` and `tests/fixtures/empty.kdbx`
|
|
- `tests/fixtures/data.kdbx.json` stores the password and expected tree/content
|
|
- Unit tests mock `node:child_process.spawn`
|
|
- Integration tests validate entries, groups, partial search, and OTP/TOTP output for `data.kdbx`
|
|
- Integration tests skip when `pykeepass` is unavailable
|
|
|
|
## Next step
|
|
Keep tightening failure-path coverage and keep the API minimal unless a concrete need appears.
|