clients/apps/desktop/desktop_native/napi
neuronull ebbd9ed0ba
SSH Agent v2: define napi-agent-server interface (#18880)
Building upon the prior SSH agent v2 commits, this PR introduces the high level interfaces between the napi layer, the agent, and the underlying server.

Two traits are defined to act as abstraction layers:

AuthPolicy allows the underlying server to externally request authorization to complete the various ssh operation requests it receives. The implementation of this in the BitwardenSshAgent is effectively the agent's business logic, and has unit tests accordingly.

ApprovalRequester allows the agent to externally request approval for those authorization requests.

These interfaces allow better unit test-ability and integration test-ability, and additionally are context-independent from each other; meaning the ssh agent server doesn't know about vault items, or that there is an electron app at all. Similarly, the agent knows it needs to request approval, but it doesn't have to be from an Electron app.

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2026-03-17 08:38:40 -06:00
..
scripts Re-apply desktop native debug log level debug builds and fix build workflow (#17908) 2025-12-11 12:44:51 -07:00
src SSH Agent v2: define napi-agent-server interface (#18880) 2026-03-17 08:38:40 -06:00
build.rs [PM-8789] Move desktop_native into subcrate (#9682) 2024-07-01 15:19:29 +02:00
Cargo.toml SSH Agent v2: define napi-agent-server interface (#18880) 2026-03-17 08:38:40 -06:00
index.d.ts SSH Agent v2: define napi-agent-server interface (#18880) 2026-03-17 08:38:40 -06:00
index.js [deps] Platform: Update napi to v3 (major) (#16053) 2025-12-10 09:43:51 -05:00
package.json [deps]: Update @napi-rs/cli to v3.5.1 (#18433) 2026-03-13 11:02:38 -04:00