Commit graph

6 commits

Author SHA1 Message Date
987acf8816
feat!: make RSA keys ephemeral by default
Some checks failed
NYX Security Scan / nyx-scan (pull_request) Failing after 5m51s
BREAKING CHANGE: keyDir now defaults to null (ephemeral) instead of
'client_keys'. Clients that relied on keys persisting across restarts
must now pass keyDir explicitly.

The Python SDK defaults to key_dir=None: a key pair is generated in
memory for the session and never written to disk. The JS port defaulted
to 'client_keys' and always persisted, so merely constructing a client
wrote an RSA private key into the working directory. That is a weaker
default than the client it ports, and one users never asked for.

  - keyDir?: string | null, defaulting to undefined. null and undefined
    both mean ephemeral, matching Python's None.
  - Persistent mode is unchanged when keyDir is set: load the existing
    pair from that directory, otherwise generate and save one there.
  - Browsers are always ephemeral; they have no filesystem.

Key rotation follows the same rule. It previously hardcoded
'client_keys' as its fallback directory, so an ephemeral client would
have started writing private keys to disk on the first rotation tick.
Rotated keys are now persisted only where keyDir or keyRotationDir is
explicitly configured.

Tests assert the intent (that saveKeys is never called) rather than
probing the filesystem, since a leftover client_keys/ from the old
default would otherwise make them pass or fail for the wrong reason.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 11:19:03 +02:00
opencode-agent[bot]
d3aa0e264c Node.js min bumped to 22.22.2
All checks were successful
NYX Security Scan / nyx-scan (pull_request) Successful in 5m11s
Co-authored-by: alpha-nerd <alpha-nerd@users.noreply.bitfreedom.net>
2026-06-26 12:36:50 +00:00
43165f86f2
fix: base_url
doc: created
2026-04-16 16:44:26 +02:00
3b1792e613 doc: update for latest changes 2026-04-01 15:15:18 +02:00
fd1a3b50cb feature: port from python client lib 2026-01-17 12:02:08 +01:00
129c6cd004
Hello World 2026-01-17 11:56:00 +01:00