Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
be318c6
initial implementation of vault cli
sgaddala-ks Jun 16, 2026
a9c6dfb
NSF command implementation (list, get, ln and rm) (#169)
ukumar-ks Jun 16, 2026
51510ea
Extra space remove
ukumar-ks Jun 16, 2026
b5f34af
nsf record initial commit
ukumar-ks Jun 17, 2026
0e76ce5
Align NSF permission checks with KeeperDrive MRD (canRemove/canDelete)
ukumar-ks Jun 17, 2026
3817392
Merge branch 'main' into feature-kd-part1
ukumar-ks Jun 17, 2026
86dcd13
Merge branch 'feature-kd-part1' of https://github.com/Keeper-Security…
ukumar-ks Jun 18, 2026
291651a
nsf record and folder implementation
ukumar-ks Jun 18, 2026
490e654
fixed formatting for command outputs
sgaddala-ks Jun 18, 2026
ba6a94b
Code format and optimisation
ukumar-ks Jun 18, 2026
fb7732e
nsf commands initial commit
ukumar-ks Jun 23, 2026
384b530
removed cli package and migrated to different repo
sgaddala-ks Jun 24, 2026
24eaad1
Use logger in socket connection, add socket connection to the router.…
saldoukhov Jun 16, 2026
0f4af07
added fixes for browser compatibilty
sgaddala-ks Jun 29, 2026
a11459f
added additional commands p1
sgaddala-ks Jul 1, 2026
61b1656
Bump the npm_and_yarn group across 4 directories with 3 updates (#174)
dependabot[bot] Jun 17, 2026
7276104
Supply-chain security: use npm ci in CI workflows and add min-release…
tylerccarson Jun 17, 2026
c859f53
BE-7699 Removed leading slashes from rest messages (#179)
hleekeeper Jun 18, 2026
6e79fa4
Use preserveModules for browser dist to enable proto.js tree-shaking …
tylerccarson Jun 23, 2026
8138e53
NSF command implementation (list, get, ln and rm) (#175)
ukumar-ks Jun 24, 2026
1624afc
initial implementation of vault cli
sgaddala-ks Jun 16, 2026
38c3a86
migrated functions and files from sdk to cli repository
sgaddala-ks Jul 1, 2026
2bb236b
Merge remote-tracking branch 'origin/main' into feature-shell-sdk-sup…
sgaddala-ks Jul 1, 2026
237cce2
formatting changes after running formatting.
sgaddala-ks Jul 10, 2026
f1c391f
added team key parsing while sharing record.
sgaddala-ks Jul 13, 2026
1c09853
added formatting changes
sgaddala-ks Jul 13, 2026
dc5a17b
Add get_configuration_controller and workflow API messages (#195)
tylerccarson Jul 1, 2026
626dfe3
BE-7755: preserve platform-connect side-effects in sideEffects allowlist
svelichkin-keeper Jul 1, 2026
c3a2608
BE-7755: bump keeperapi to 18.0.4
svelichkin-keeper Jul 1, 2026
c07911f
Reporting command implementation(Audit, Action and Password). (#194)
ukumar-ks Jul 2, 2026
3dda497
Regenerate protobuf files (#199)
github-actions[bot] Jul 6, 2026
ee34d76
Added the Modifying the generation script in the Protobuf Regeneratio…
hleekeeper Jul 6, 2026
bfd4a8c
Rest message update for nsf commands (#201)
ukumar-ks Jul 6, 2026
77c5578
NSF record (add, update and details) and folder (add and remove) func…
ukumar-ks Jul 10, 2026
20e3d19
NSF sdk examples implemented (#205)
ukumar-ks Jul 10, 2026
5c78473
initial implementation of vault cli
sgaddala-ks Jun 16, 2026
c65322e
Use logger in socket connection, add socket connection to the router.…
saldoukhov Jun 16, 2026
b0371b6
Bump the npm_and_yarn group across 4 directories with 3 updates (#174)
dependabot[bot] Jun 17, 2026
feddec1
BE-7699 Removed leading slashes from rest messages (#179)
hleekeeper Jun 18, 2026
6c909cc
NSF command implementation (list, get, ln and rm) (#175)
ukumar-ks Jun 24, 2026
65d48da
migrated functions and files from sdk to cli repository
sgaddala-ks Jul 1, 2026
2440ab4
formatting changes after running formatting.
sgaddala-ks Jul 10, 2026
24d582d
added parsing option for restore session.
sgaddala-ks Jul 14, 2026
2240ee8
Merge remote-tracking branch 'origin/feature-kd-share-permission-int'…
sgaddala-ks Jul 14, 2026
bfef44f
updated keeper api version
sgaddala-ks Jul 15, 2026
52d0869
updated version of keeperapi
sgaddala-ks Jul 15, 2026
558b793
Merge remote-tracking branch 'origin/feature-shell-support-sdk-rel' i…
sgaddala-ks Jul 15, 2026
45f6255
updated restore-sesion json parsing
sgaddala-ks Jul 15, 2026
798b459
added support of nsf to list command
sgaddala-ks Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 44 additions & 21 deletions KeeperSdk/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# @keeper-security/keeper-sdk-javascript

Keeper Javascript SDK for Node.js.
Keeper JavaScript SDK for **Node** and **browser** — vault API, sharing, folders, and enterprise admin APIs.

> **CLI:** Commander-style shell commands (`dispatchCliLine`, `help`, `get`, `ls`, …) live in [**@keeper-security/keeper-shell-component**](https://www.npmjs.com/package/@keeper-security/keeper-shell-component) (or this monorepo’s `commander-javascript-cli` package). This SDK package is API-only.

[![NPM](https://img.shields.io/npm/v/@keeper-security/keeper-sdk-javascript?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/@keeper-security/keeper-sdk-javascript)

Expand All @@ -10,57 +12,78 @@ Keeper Javascript SDK for Node.js.
npm install @keeper-security/keeper-sdk-javascript
```

## Quickstart
## Entry points

| Environment | Import | Notes |
| ----------- | ---------------------------------------------------------- | ------------------------------------------------------------- |
| Node | `@keeper-security/keeper-sdk-javascript` → `dist/index.js` | `ConsoleAuthUI`, `FileConfigLoader`, full auth |
| Browser | same package → `dist/browser.js` | Platform shim only; use in-memory session + `restore-session` |

## Quickstart (Node)

```typescript
import { KeeperVault, ConsoleAuthUI, FileConfigLoader } from '@keeper-security/keeper-sdk-javascript'
import {
KeeperVault,
ConsoleAuthUI,
FileConfigLoader,
} from "@keeper-security/keeper-sdk-javascript";

const vault = new KeeperVault({
authUI: new ConsoleAuthUI(),
configLoader: new FileConfigLoader('./keeper-config.json'),
})
authUI: new ConsoleAuthUI(),
sessionStorage: new FileConfigLoader("./keeper-config.json"),
});

await vault.login()
await vault.syncDown()
await vault.login("[email protected]", "password");
await vault.sync();

console.log(`Loaded ${vault.records.size} records`)
console.log(`Loaded ${vault.getRecords().length} records`);
```

## Supported functionality

`KeeperVault` exposes the operations below. Enterprise features require an enterprise administrator account.
`KeeperVault` exposes vault operations. Enterprise features require an enterprise administrator account.

- **Authentication**: Login, session token login, resume session, sync, logout
- **Records**: List, search, add, update, delete, move, history
- **Folders**: List, get, create, rename, delete, change directory, folder tree
- **Shared folders**: List shared folders, share with users, update permissions
- **Sharing**: Share and unshare records, check share info
- **Teams**: List, view, add, update, delete teams
- **Users**: List, view, add, update, delete users; lock/unlock accounts; expire passwords; manage aliases and team membership

Enterprise features need an enterprise administrator account.
- **Teams / users / roles** (enterprise admin): Available via the SDK API

## Examples

Runnable scripts for the areas above are in [`examples/sdk_example`](../examples/sdk_example):
Shell CLI (`dispatchCliLine`, categorized `help`, record/folder commands) is provided by **@keeper-security/keeper-shell-component** — see that package’s `src/keeper-cli/README.md`.

Runnable SDK scripts are in [`examples/sdk_example`](../examples/sdk_example):

```bash
cd examples/sdk_example
npm install
npm run auth:login
npm run records:list
npm run records:get # interactive; similar to CLI get + share info
npm run folders:ls
npm run shared-folders:list-sf
npm run teams:list
npm run users:list
```

Shell CLI parity (same dispatch path as the vault shell):

```bash
npm run records:list:shell-cli -- --from-json /path/to/session.json
```

## Local development

From the `KeeperSdk/` directory:
From repo root, build keeperapi first:

```bash
npm install
npm run link-local
npm run build
cd keeperapi && npm install && npm run build
cd ../KeeperSdk && npm install && npm run link-local && npm run build
```

Watch types: `npm run types` (in `KeeperSdk/`).

## Related

- [`keeperapi/README.md`](../keeperapi/README.md) — core client
- [`../README.md`](../README.md) — monorepo overview
Loading
Loading