From 0fb76d37c8749638c4d47b593427417cfbf729db Mon Sep 17 00:00:00 2001 From: ukumar-ks Date: Mon, 17 Aug 2026 17:34:50 +0530 Subject: [PATCH 1/2] Addedpam rest message and protobuf dependency for sdk. (#239) --- KeeperSdk/package-lock.json | 87 +++++++++++++++++++++++++++++++++++ KeeperSdk/package.json | 3 +- keeperapi/package-lock.json | 4 +- keeperapi/package.json | 2 +- keeperapi/src/restMessages.ts | 39 ++++++++++++++++ 5 files changed, 131 insertions(+), 4 deletions(-) diff --git a/KeeperSdk/package-lock.json b/KeeperSdk/package-lock.json index 423b5df..5038522 100644 --- a/KeeperSdk/package-lock.json +++ b/KeeperSdk/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@keeper-security/keeperapi": "18.1.0", "asmcrypto.js": "^2.3.2", + "protobufjs": "^7.6.5", "ts-node": "^10.7.0", "typescript": "^4.6.3" }, @@ -115,6 +116,63 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz", + "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz", + "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz", + "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.2.tgz", + "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==", + "license": "BSD-3-Clause" + }, "node_modules/@tsconfig/node10": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", @@ -436,6 +494,12 @@ "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", "license": "MIT" }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -497,6 +561,29 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/protobufjs": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.5.tgz", + "integrity": "sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.5", + "@protobufjs/eventemitter": "^1.1.1", + "@protobufjs/fetch": "^1.1.1", + "@protobufjs/float": "^1.0.2", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.1", + "@types/node": ">=13.7.0", + "long": "^5.3.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", diff --git a/KeeperSdk/package.json b/KeeperSdk/package.json index 666a6ae..71424d3 100644 --- a/KeeperSdk/package.json +++ b/KeeperSdk/package.json @@ -25,8 +25,9 @@ }, "dependencies": { "@keeper-security/keeperapi": "18.1.0", - "ts-node": "^10.7.0", "asmcrypto.js": "^2.3.2", + "protobufjs": "^7.6.5", + "ts-node": "^10.7.0", "typescript": "^4.6.3" }, "devDependencies": { diff --git a/keeperapi/package-lock.json b/keeperapi/package-lock.json index a9c6ee8..8d654c2 100644 --- a/keeperapi/package-lock.json +++ b/keeperapi/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keeper-security/keeperapi", - "version": "18.1.0", + "version": "18.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@keeper-security/keeperapi", - "version": "18.1.0", + "version": "18.1.1", "license": "ISC", "dependencies": { "@noble/post-quantum": "^0.5.2", diff --git a/keeperapi/package.json b/keeperapi/package.json index 9022cdc..a402483 100644 --- a/keeperapi/package.json +++ b/keeperapi/package.json @@ -1,7 +1,7 @@ { "name": "@keeper-security/keeperapi", "description": "Keeper API Javascript SDK", - "version": "18.1.0", + "version": "18.1.1", "browser": "dist/browser/index.js", "main": "dist/index.cjs.js", "types": "dist/node/index.d.ts", diff --git a/keeperapi/src/restMessages.ts b/keeperapi/src/restMessages.ts index 5ea4a8c..8ffb407 100644 --- a/keeperapi/src/restMessages.ts +++ b/keeperapi/src/restMessages.ts @@ -12,6 +12,7 @@ import { GraphSync, PAM, Records, + Router, ServiceLogger, SsoCloud, Vault, @@ -972,11 +973,34 @@ export const automatorAdminResetMessage = ( export const getControllers = (): RestOutMessage => createOutMessage('pam/get_controllers', PAM.PAMControllersResponse) +export const modifyControllerMessage = (data: PAM.IPAMController): RestInMessage => + createInMessage(data, 'pam/modify_controller', PAM.PAMController) + +export const removeControllerMessage = ( + data: PAM.IPAMGenericUidRequest +): RestMessage => + createMessage(data, 'pam/remove_controller', PAM.PAMGenericUidRequest, PAM.PAMRemoveControllerResponse) + +export const setControllerMaxInstanceCountMessage = ( + data: PAM.IPAMSetMaxInstanceCountRequest +): RestInMessage => + createInMessage(data, 'pam/set_controller_max_instance_count', PAM.PAMSetMaxInstanceCountRequest) + export const getConfigurationControllerMessage = ( data: PAM.IPAMGenericUidRequest ): RestMessage => createMessage(data, 'pam/get_configuration_controller', PAM.PAMGenericUidRequest, PAM.PAMController) +export const addConfigurationRecordMessage = ( + data: PAM.IConfigurationAddRequest +): RestInMessage => + createInMessage(data, 'pam/add_configuration_record', PAM.ConfigurationAddRequest) + +export const setConfigurationControllerMessage = ( + data: PAM.IPAMConfigurationController +): RestInMessage => + createInMessage(data, 'pam/set_configuration_controller', PAM.PAMConfigurationController) + /* -- PAM Router (DAG GraphSync) -- */ export const pamSyncMessage = ( @@ -1007,6 +1031,11 @@ export const pamGetLeafsMessage = ( export const pamGetOnlineControllersMessage = (): RestOutMessage => createOutMessage('api/user/get_controllers', PAM.PAMOnlineControllers) +export const pamConfigureNetworkGraphMessage = ( + data: Router.IPAMNetworkConfigurationRequest +): RestInMessage => + createInMessage(data, 'api/user/configure_network_graph', Router.PAMNetworkConfigurationRequest) + export const readWorkflowConfigMessage = ( data: GraphSync.IGraphSyncRef ): RestMessage => @@ -1071,6 +1100,16 @@ export const keeperDriveRecordsAdd = ( ): RestMessage => createMessage(data, 'vault/records/v3/add', record.v3.RecordsAddRequest, Records.RecordsModifyResponse) +export const addPamConfigurationV3Message = ( + data: record.v3.IRecordsAddRequest +): RestMessage => + createMessage( + data, + 'vault/records/v3/add_pam_configuration', + record.v3.RecordsAddRequest, + Records.RecordsModifyResponse + ) + export const keeperDriveRecordsUpdate = ( data: Records.IRecordsUpdateRequest ): RestMessage => From 706908620d5b7e78a55d1b0094b47a40ea4612f8 Mon Sep 17 00:00:00 2001 From: ukumar-ks Date: Tue, 18 Aug 2026 11:09:01 +0530 Subject: [PATCH 2/2] PAM remove controller request type update --- keeperapi/src/restMessages.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keeperapi/src/restMessages.ts b/keeperapi/src/restMessages.ts index 8ffb407..1cdd010 100644 --- a/keeperapi/src/restMessages.ts +++ b/keeperapi/src/restMessages.ts @@ -977,9 +977,9 @@ export const modifyControllerMessage = (data: PAM.IPAMController): RestInMessage createInMessage(data, 'pam/modify_controller', PAM.PAMController) export const removeControllerMessage = ( - data: PAM.IPAMGenericUidRequest -): RestMessage => - createMessage(data, 'pam/remove_controller', PAM.PAMGenericUidRequest, PAM.PAMRemoveControllerResponse) + data: PAM.IPAMGenericUidsRequest +): RestMessage => + createMessage(data, 'pam/remove_controller', PAM.PAMGenericUidsRequest, PAM.PAMRemoveControllerResponse) export const setControllerMaxInstanceCountMessage = ( data: PAM.IPAMSetMaxInstanceCountRequest