From 2c764b5a5eaddbf701a67d0e8436238e00976319 Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Fri, 19 Dec 2025 04:10:48 -0500 Subject: [PATCH 01/71] chore: Update all non-major dependencies (v3.x.x) (#4416) Signed-off-by: Renovate Bot Co-authored-by: Renovate Bot Co-authored-by: Pablo Carle Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/package-lock.json | 271 ++++++++++------- api-catalog-ui/frontend/package.json | 28 +- gradle/versions.gradle | 28 +- integration-tests/build.gradle | 2 +- .../package-lock.json | 285 ++++++++++++------ .../package.json | 2 +- .../package-lock.json | 259 +++++++++------- zowe-cli-id-federation-plugin/package.json | 14 +- zss-sample-service/package-lock.json | 285 ++++++++++++------ zss-sample-service/package.json | 2 +- 10 files changed, 719 insertions(+), 457 deletions(-) diff --git a/api-catalog-ui/frontend/package-lock.json b/api-catalog-ui/frontend/package-lock.json index 26bdfe5a8e..fc06da68e9 100644 --- a/api-catalog-ui/frontend/package-lock.json +++ b/api-catalog-ui/frontend/package-lock.json @@ -41,21 +41,21 @@ "react-app-polyfill": "3.0.0", "react-dom": "18.3.1", "react-error-boundary": "5.0.0", - "react-hook-form": "7.66.1", + "react-hook-form": "7.68.0", "react-redux": "9.2.0", - "react-router": "7.9.6", + "react-router": "7.11.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", "redux-logger": "3.0.6", - "redux-observable": "3.0.0-rc.2", + "redux-observable": "3.0.0-rc.3", "redux-persist": "6.0.0", "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.94.2", + "sass": "1.97.0", "stream": "0.0.3", - "swagger-ui-react": "5.30.2", + "swagger-ui-react": "5.31.0", "url": "0.11.4", "util": "0.12.5", "uuid": "10.0.0" @@ -68,23 +68,23 @@ "@babel/preset-react": "7.28.5", "@cfaester/enzyme-adapter-react-18": "0.8.0", "@eslint/compat": "1.4.1", - "@eslint/js": "9.39.1", - "@reduxjs/toolkit": "2.11.0", + "@eslint/js": "9.39.2", + "@reduxjs/toolkit": "2.11.2", "@testing-library/dom": "10.4.1", "@testing-library/jest-dom": "6.9.1", - "@testing-library/react": "16.3.0", + "@testing-library/react": "16.3.1", "@testing-library/user-event": "14.6.1", "ajv": "8.17.1", "ansi-regex": "6.2.2", - "body-parser": "1.20.3", - "caniuse-lite": "1.0.30001756", + "body-parser": "1.20.4", + "caniuse-lite": "1.0.30001760", "concurrently": "9.2.1", "cors": "2.8.5", "cross-env": "7.0.3", "cypress": "13.17.0", "cypress-file-upload": "5.0.8", "enzyme": "3.11.0", - "eslint": "9.39.1", + "eslint": "9.39.2", "eslint-config-airbnb": "19.0.4", "eslint-config-prettier": "9.1.2", "eslint-plugin-cypress": "4.3.0", @@ -94,7 +94,7 @@ "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-prettier": "5.5.4", "eslint-plugin-react": "7.37.5", - "express": "4.21.2", + "express": "4.22.1", "globals": "15.15.0", "html-loader": "5.1.0", "jest": "29.7.0", @@ -109,7 +109,7 @@ "mini-css-extract-plugin": "2.9.4", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.6.2", + "prettier": "3.7.4", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -121,7 +121,7 @@ "start-server-and-test": "2.1.3", "tmpl": "1.0.5", "undici": "6.19.8", - "yaml": "2.8.1" + "yaml": "2.8.2" }, "engines": { "node": "=20.19.6", @@ -2664,22 +2664,6 @@ "node": ">= 6" } }, - "node_modules/@cypress/request/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/@cypress/request/node_modules/uuid": { "version": "8.3.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/uuid/-/uuid-8.3.2.tgz", @@ -3029,9 +3013,9 @@ "license": "MIT" }, "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "version": "9.39.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "license": "MIT", "engines": { @@ -5668,9 +5652,9 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.11.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@reduxjs/toolkit/-/toolkit-2.11.0.tgz", - "integrity": "sha512-hBjYg0aaRL1O2Z0IqWhnTLytnjDIxekmRxm1snsHjHaKVmIF1HiImWqsq+PuEbn6zdMlkIj9WofK1vR8jjx+Xw==", + "version": "2.11.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", + "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6752,9 +6736,9 @@ "license": "MIT" }, "node_modules/@testing-library/react": { - "version": "16.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@testing-library/react/-/react-16.3.0.tgz", - "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", + "version": "16.3.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@testing-library/react/-/react-16.3.1.tgz", + "integrity": "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw==", "dev": true, "license": "MIT", "dependencies": { @@ -9117,24 +9101,24 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -9151,6 +9135,27 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", @@ -9158,6 +9163,16 @@ "dev": true, "license": "MIT" }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -9516,9 +9531,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001756", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", - "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", + "version": "1.0.30001760", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", "funding": [ { "type": "opencollective", @@ -12317,9 +12332,9 @@ } }, "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "version": "9.39.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", "dependencies": { @@ -12329,7 +12344,7 @@ "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -13229,40 +13244,40 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -23366,9 +23381,9 @@ } }, "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "version": "3.7.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", "bin": { @@ -23645,12 +23660,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -23771,21 +23786,52 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react/-/react-18.3.1.tgz", @@ -23962,9 +24008,9 @@ "license": "MIT" }, "node_modules/react-hook-form": { - "version": "7.66.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-hook-form/-/react-hook-form-7.66.1.tgz", - "integrity": "sha512-2KnjpgG2Rhbi+CIiIBQQ9Df6sMGH5ExNyFl4Hw9qO7pIqMBR8Bvu9RQyjl3JM4vehzCh9soiNUM/xYMswb2EiA==", + "version": "7.68.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-hook-form/-/react-hook-form-7.68.0.tgz", + "integrity": "sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -24096,9 +24142,9 @@ } }, "node_modules/react-router": { - "version": "7.9.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.9.6.tgz", - "integrity": "sha512-Y1tUp8clYRXpfPITyuifmSoE2vncSME18uVLgaqyxh9H35JWpIfzHo+9y3Fzh5odk/jxPW29IgLgzcdwxGqyNA==", + "version": "7.11.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.11.0.tgz", + "integrity": "sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -24118,12 +24164,16 @@ } }, "node_modules/react-router/node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "version": "1.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", "license": "MIT", "engines": { "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/react-scripts": { @@ -26328,9 +26378,9 @@ } }, "node_modules/redux-observable": { - "version": "3.0.0-rc.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/redux-observable/-/redux-observable-3.0.0-rc.2.tgz", - "integrity": "sha512-gG/pWIKgSrcTyyavm2so5tc7tuyCQ47p3VdCAG6wt+CV0WGhDr50cMQHLcYKxFZSGgTm19a8ZmyfJGndmGDpYg==", + "version": "3.0.0-rc.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/redux-observable/-/redux-observable-3.0.0-rc.3.tgz", + "integrity": "sha512-L6uoVPQQp3yeeEiANvTxE/XsKhBTYOjH7VNpdmgAsHioxPFceWa9+KEQTkk8qlE+FC7hUALSEM6grSpVxC01Bw==", "license": "MIT", "peerDependencies": { "redux": ">=5 <6", @@ -27464,9 +27514,9 @@ "license": "CC0-1.0" }, "node_modules/sass": { - "version": "1.94.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.94.2.tgz", - "integrity": "sha512-N+7WK20/wOr7CzA2snJcUSSNTCzeCGUTFY3OgeQP3mZ1aj9NMQ0mSTXwlrnd89j33zzQJGqIN52GIOmYrfq46A==", + "version": "1.97.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.97.0.tgz", + "integrity": "sha512-KR0igP1z4avUJetEuIeOdDlwaUDvkH8wSx7FdSjyYBS3dpyX3TzHfAMO0G1Q4/3cdjcmi3r7idh+KCmKqS+KeQ==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -29652,9 +29702,9 @@ } }, "node_modules/swagger-ui-react": { - "version": "5.30.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/swagger-ui-react/-/swagger-ui-react-5.30.2.tgz", - "integrity": "sha512-0tS9GOcswKuQrIpCyvDoCDs6xS8B6MRC+iE7P99WfVXDhAIU+U7iFHuS4e7zucSh9qXvcL7KsXs623c+4oBe6w==", + "version": "5.31.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/swagger-ui-react/-/swagger-ui-react-5.31.0.tgz", + "integrity": "sha512-E/sTgKADThzpVksaGXbhED0pQCYdajiBNOzvSAan+RhV7pdoi2qvdwWhZsIo8nRvHk9UXJ0nkuxrud854ICr7A==", "license": "Apache-2.0", "dependencies": { "@babel/runtime-corejs3": "^7.27.1", @@ -29668,7 +29718,7 @@ "ieee754": "^1.2.1", "immutable": "^3.x.x", "js-file-download": "^0.4.12", - "js-yaml": "=4.1.0", + "js-yaml": "=4.1.1", "lodash": "^4.17.21", "prop-types": "^15.8.1", "randexp": "^0.5.3", @@ -32131,9 +32181,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "bin": { @@ -32141,6 +32191,9 @@ }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { diff --git a/api-catalog-ui/frontend/package.json b/api-catalog-ui/frontend/package.json index 0a7342c50f..8f0e542ef5 100644 --- a/api-catalog-ui/frontend/package.json +++ b/api-catalog-ui/frontend/package.json @@ -37,21 +37,21 @@ "react-app-polyfill": "3.0.0", "react-dom": "18.3.1", "react-error-boundary": "5.0.0", - "react-hook-form": "7.66.1", + "react-hook-form": "7.68.0", "react-redux": "9.2.0", - "react-router": "7.9.6", + "react-router": "7.11.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", "redux-logger": "3.0.6", - "redux-observable": "3.0.0-rc.2", + "redux-observable": "3.0.0-rc.3", "redux-persist": "6.0.0", "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.94.2", + "sass": "1.97.0", "stream": "0.0.3", - "swagger-ui-react": "5.30.2", + "swagger-ui-react": "5.31.0", "url": "0.11.4", "util": "0.12.5", "uuid": "10.0.0" @@ -90,23 +90,23 @@ "@babel/preset-react": "7.28.5", "@cfaester/enzyme-adapter-react-18": "0.8.0", "@eslint/compat": "1.4.1", - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@testing-library/dom": "10.4.1", "@testing-library/jest-dom": "6.9.1", - "@testing-library/react": "16.3.0", + "@testing-library/react": "16.3.1", "@testing-library/user-event": "14.6.1", - "@reduxjs/toolkit": "2.11.0", + "@reduxjs/toolkit": "2.11.2", "ajv": "8.17.1", "ansi-regex": "6.2.2", - "body-parser": "1.20.3", - "caniuse-lite": "1.0.30001756", + "body-parser": "1.20.4", + "caniuse-lite": "1.0.30001760", "concurrently": "9.2.1", "cors": "2.8.5", "cross-env": "7.0.3", "cypress": "13.17.0", "cypress-file-upload": "5.0.8", "enzyme": "3.11.0", - "eslint": "9.39.1", + "eslint": "9.39.2", "eslint-config-airbnb": "19.0.4", "eslint-config-prettier": "9.1.2", "eslint-plugin-cypress": "4.3.0", @@ -116,7 +116,7 @@ "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-prettier": "5.5.4", "eslint-plugin-react": "7.37.5", - "express": "4.21.2", + "express": "4.22.1", "globals": "15.15.0", "html-loader": "5.1.0", "jest": "29.7.0", @@ -131,7 +131,7 @@ "mini-css-extract-plugin": "2.9.4", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.6.2", + "prettier": "3.7.4", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -143,7 +143,7 @@ "start-server-and-test": "2.1.3", "tmpl": "1.0.5", "undici": "6.19.8", - "yaml": "2.8.1" + "yaml": "2.8.2" }, "overrides": { "nth-check": "2.1.1", diff --git a/gradle/versions.gradle b/gradle/versions.gradle index e07d6b66e7..11431fb1c4 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -7,11 +7,11 @@ dependencyResolutionManagement { version('springBoot', '3.5.8') version('springBootGraphQl', '3.5.8') - version('springCloudNetflix', '4.3.0') - version('springCloudCommons', '4.3.0') - version('springCloudCB', '3.3.0') - version('springCloudGateway', '4.3.2') - version('springFramework', '6.2.14') + version('springCloudNetflix', '4.3.1') + version('springCloudCommons', '4.3.1') + version('springCloudCB', '3.3.1') + version('springCloudGateway', '4.3.3') + version('springFramework', '6.2.15') version('springRetry', '2.0.12') version('modulith', '1.4.5') @@ -19,7 +19,7 @@ dependencyResolutionManagement { version('glassfishHk2', '3.1.1') version('zosUtils', '2.1.0') - version('aws', '1.12.794') + version('aws', '1.12.795') version('awaitility', '4.3.0') version('bouncyCastle', '1.83') version('caffeine', '3.2.3') @@ -49,7 +49,7 @@ dependencyResolutionManagement { version('jakartaInject', '2.0.1') version('jakartaServlet', '6.1.0') version('javaxAnnotation', '1.3.2') - version('openTelemetry-starter', '2.22.0') + version('openTelemetry-starter', '2.23.0') // Eureka requires this specific version of Jakarta JAXB bindings version('jaxbApi') { @@ -73,12 +73,12 @@ dependencyResolutionManagement { version('junitJupiter', '5.14.1') version('junitPlatform', '1.14.1') version('jxpath', '1.4.0') - version('lettuce', '6.8.1.RELEASE') + version('lettuce', '6.8.2.RELEASE') // force version in build.gradle file - compatibility with Slf4j - version('log4j', '2.25.2') + version('log4j', '2.25.3') version('lombok', '1.18.42') version('mailapi', '1.6.8') - version('netty', '4.2.7.Final') + version('netty', '4.2.9.Final') // netty reactor contains a bug: https://github.com/reactor/reactor-netty/issues/3559 > https://github.com/reactor/reactor-netty/pull/3581 version('nettyReactor', '1.3.1') version('nimbusJoseJwt', '10.6') @@ -96,17 +96,17 @@ dependencyResolutionManagement { version('thymeleaf', '3.1.3.RELEASE') version('velocity', '2.4.1') version('woodstoxCore', '7.1.1') - version('jgit', '7.4.0.202509020913-r') + version('jgit', '7.5.0.202512021534-r') version('gradleNode', '7.1.0') version('sonarGradlePlugin', '5.1.0.4882') version('gradleRelease', '3.1.0') version('gradleLicencer', '0.6.1') - version('gradleJibPlugin', '3.5.1') + version('gradleJibPlugin', '3.5.2') version('reactorBom', '2023.0') version('gradleTestLogger', '4.0.0') version('testLogger', '4.0.0') version('micronautPlatform', '4.9.0') - version('micronaut', '4.10.9') + version('micronaut', '4.10.12') version('micronautPlugin', '4.6.1') version('shadow', '8.1.1') version('checkstyle', '10.17.0') @@ -280,7 +280,7 @@ dependencyResolutionManagement { plugin('micronaut_library', 'io.micronaut.library').versionRef('micronautPlugin') // Pure Java dependencies - do not use in Spring unless really necessary - version('logback', '1.5.21') + version('logback', '1.5.22') version('mockitoCore', '5.21.0') version('mockitoInline', '5.2.0') diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index 2ad45a4863..c748ed3536 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -25,7 +25,7 @@ configurations.all { dependencies { testImplementation project(':apiml-security-common') testImplementation project(':zaas-client') - testImplementation group: 'org.springframework.graphql', name: 'spring-graphql-test', version: '1.4.3' + testImplementation group: 'org.springframework.graphql', name: 'spring-graphql-test', version: '1.4.4' testImplementation libs.spring.boot.starter.actuator diff --git a/onboarding-enabler-nodejs-sample-app/package-lock.json b/onboarding-enabler-nodejs-sample-app/package-lock.json index d8e5eb0d98..31f54c73fc 100644 --- a/onboarding-enabler-nodejs-sample-app/package-lock.json +++ b/onboarding-enabler-nodejs-sample-app/package-lock.json @@ -10,7 +10,7 @@ "license": "EPL-2.0", "dependencies": { "@zowe/apiml-onboarding-enabler-nodejs": "file:../onboarding-enabler-nodejs", - "express": "4.21.2" + "express": "4.22.1" }, "engines": { "node": "=20.19.6", @@ -102,16 +102,27 @@ "node": ">= 0.8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -160,22 +171,6 @@ "ms": "2.0.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/depd/-/depd-2.0.0.tgz", @@ -193,6 +188,20 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ee-first/-/ee-first-1.1.1.tgz", @@ -207,12 +216,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -221,6 +228,19 @@ "version": "1.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, "engines": { "node": ">= 0.4" } @@ -239,39 +259,39 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -284,6 +304,21 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express/node_modules/qs": { + "version": "6.14.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/finalhandler": { "version": "1.3.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.1.tgz", @@ -321,20 +356,27 @@ "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -343,32 +385,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { + "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -377,9 +411,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -391,6 +426,7 @@ "version": "2.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -437,6 +473,15 @@ "node": ">= 0.10" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", @@ -505,9 +550,10 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -662,36 +708,75 @@ "node": ">= 0.8.0" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" diff --git a/onboarding-enabler-nodejs-sample-app/package.json b/onboarding-enabler-nodejs-sample-app/package.json index 7c8c4cba6c..cc40171afc 100755 --- a/onboarding-enabler-nodejs-sample-app/package.json +++ b/onboarding-enabler-nodejs-sample-app/package.json @@ -16,7 +16,7 @@ "license": "EPL-2.0", "dependencies": { "@zowe/apiml-onboarding-enabler-nodejs": "file:../onboarding-enabler-nodejs", - "express": "4.21.2" + "express": "4.22.1" }, "overrides": { "tough-cookie": "5.1.2" diff --git a/zowe-cli-id-federation-plugin/package-lock.json b/zowe-cli-id-federation-plugin/package-lock.json index b6964e439e..9144c1a179 100644 --- a/zowe-cli-id-federation-plugin/package-lock.json +++ b/zowe-cli-id-federation-plugin/package-lock.json @@ -12,17 +12,17 @@ "csv-parse": "5.6.0" }, "devDependencies": { - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@types/jest": "29.5.14", - "@types/node": "20.19.25", - "@typescript-eslint/eslint-plugin": "8.47.0", - "@typescript-eslint/parser": "8.47.0", + "@types/node": "20.19.27", + "@typescript-eslint/eslint-plugin": "8.50.0", + "@typescript-eslint/parser": "8.50.0", "@zowe/cli": "8.29.5", "@zowe/cli-test-utils": "8.29.4", "@zowe/imperative": "8.29.4", "copyfiles": "2.4.1", "env-cmd": "10.1.0", - "eslint": "9.39.1", + "eslint": "9.39.2", "eslint-plugin-jest": "28.14.0", "eslint-plugin-license-header": "0.8.0", "eslint-plugin-unused-imports": "4.3.0", @@ -36,9 +36,9 @@ "jest-junit": "16.0.0", "jest-stare": "2.5.3", "madge": "8.0.0", - "ts-jest": "29.4.5", + "ts-jest": "29.4.6", "ts-node": "10.9.2", - "typedoc": "0.28.14", + "typedoc": "0.28.15", "typescript": "5.9.3" }, "engines": { @@ -743,9 +743,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "version": "9.39.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "license": "MIT", "engines": { @@ -780,16 +780,16 @@ } }, "node_modules/@gerrit0/mini-shiki": { - "version": "3.12.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@gerrit0/mini-shiki/-/mini-shiki-3.12.2.tgz", - "integrity": "sha512-HKZPmO8OSSAAo20H2B3xgJdxZaLTwtlMwxg0967scnrDlPwe6j5+ULGHyIqwgTbFCn9yv/ff8CmfWZLE9YKBzA==", + "version": "3.20.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@gerrit0/mini-shiki/-/mini-shiki-3.20.0.tgz", + "integrity": "sha512-Wa57i+bMpK6PGJZ1f2myxo3iO+K/kZikcyvH8NIqNNZhQUbDav7V9LQmWOXhf946mz5c1NZ19WMsGYiDKTryzQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^3.12.2", - "@shikijs/langs": "^3.12.2", - "@shikijs/themes": "^3.12.2", - "@shikijs/types": "^3.12.2", + "@shikijs/engine-oniguruma": "^3.20.0", + "@shikijs/langs": "^3.20.0", + "@shikijs/themes": "^3.20.0", + "@shikijs/types": "^3.20.0", "@shikijs/vscode-textmate": "^10.0.2" } }, @@ -1645,40 +1645,40 @@ } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.12.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.12.2.tgz", - "integrity": "sha512-hozwnFHsLvujK4/CPVHNo3Bcg2EsnG8krI/ZQ2FlBlCRpPZW4XAEQmEwqegJsypsTAN9ehu2tEYe30lYKSZW/w==", + "version": "3.20.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.20.0.tgz", + "integrity": "sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.12.2", + "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.12.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/langs/-/langs-3.12.2.tgz", - "integrity": "sha512-bVx5PfuZHDSHoBal+KzJZGheFuyH4qwwcwG/n+MsWno5cTlKmaNtTsGzJpHYQ8YPbB5BdEdKU1rga5/6JGY8ww==", + "version": "3.20.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/langs/-/langs-3.20.0.tgz", + "integrity": "sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.12.2" + "@shikijs/types": "3.20.0" } }, "node_modules/@shikijs/themes": { - "version": "3.12.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/themes/-/themes-3.12.2.tgz", - "integrity": "sha512-fTR3QAgnwYpfGczpIbzPjlRnxyONJOerguQv1iwpyQZ9QXX4qy/XFQqXlf17XTsorxnHoJGbH/LXBvwtqDsF5A==", + "version": "3.20.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/themes/-/themes-3.20.0.tgz", + "integrity": "sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.12.2" + "@shikijs/types": "3.20.0" } }, "node_modules/@shikijs/types": { - "version": "3.12.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/types/-/types-3.12.2.tgz", - "integrity": "sha512-K5UIBzxCyv0YoxN3LMrKB9zuhp1bV+LgewxuVwHdl4Gz5oePoUFrr9EfgJlGlDeXCU1b/yhdnXeuRvAnz8HN8Q==", + "version": "3.20.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/types/-/types-3.20.0.tgz", + "integrity": "sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==", "dev": true, "license": "MIT", "dependencies": { @@ -2063,9 +2063,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.19.25", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-20.19.25.tgz", - "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", + "version": "20.19.27", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", "dev": true, "license": "MIT", "dependencies": { @@ -2108,18 +2108,17 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", - "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", + "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/type-utils": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "graphemer": "^1.4.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/type-utils": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" @@ -2132,7 +2131,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.47.0", + "@typescript-eslint/parser": "^8.50.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -2161,16 +2160,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.47.0.tgz", - "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.50.0.tgz", + "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "debug": "^4.3.4" }, "engines": { @@ -2186,14 +2185,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", - "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", + "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.47.0", - "@typescript-eslint/types": "^8.47.0", + "@typescript-eslint/tsconfig-utils": "^8.50.0", + "@typescript-eslint/types": "^8.50.0", "debug": "^4.3.4" }, "engines": { @@ -2208,14 +2207,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", - "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", + "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0" + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2226,9 +2225,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", - "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", + "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", "dev": true, "license": "MIT", "engines": { @@ -2243,15 +2242,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", - "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", + "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/utils": "8.47.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -2281,9 +2280,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.47.0.tgz", - "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.50.0.tgz", + "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", "dev": true, "license": "MIT", "engines": { @@ -2295,21 +2294,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", - "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", + "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.47.0", - "@typescript-eslint/tsconfig-utils": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", + "@typescript-eslint/project-service": "8.50.0", + "@typescript-eslint/tsconfig-utils": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", + "tinyglobby": "^0.2.15", "ts-api-utils": "^2.1.0" }, "engines": { @@ -2363,16 +2361,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.47.0.tgz", - "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.50.0.tgz", + "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0" + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2387,13 +2385,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.47.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", - "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", + "version": "8.50.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", + "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/types": "8.50.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -7611,9 +7609,9 @@ } }, "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "version": "9.39.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", "dependencies": { @@ -7623,7 +7621,7 @@ "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -8001,6 +7999,24 @@ "bser": "2.1.1" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fecha": { "version": "4.2.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fecha/-/fecha-4.2.3.tgz", @@ -8326,13 +8342,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/handlebars/-/handlebars-4.7.8.tgz", @@ -12292,6 +12301,36 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tmpl/-/tmpl-1.0.5.tgz", @@ -12359,9 +12398,9 @@ } }, "node_modules/ts-jest": { - "version": "29.4.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-jest/-/ts-jest-29.4.5.tgz", - "integrity": "sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==", + "version": "29.4.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-jest/-/ts-jest-29.4.6.tgz", + "integrity": "sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==", "dev": true, "license": "MIT", "dependencies": { @@ -12537,13 +12576,13 @@ } }, "node_modules/typedoc": { - "version": "0.28.14", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typedoc/-/typedoc-0.28.14.tgz", - "integrity": "sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==", + "version": "0.28.15", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typedoc/-/typedoc-0.28.15.tgz", + "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^3.12.0", + "@gerrit0/mini-shiki": "^3.17.0", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", diff --git a/zowe-cli-id-federation-plugin/package.json b/zowe-cli-id-federation-plugin/package.json index 706a2b038d..0559731148 100644 --- a/zowe-cli-id-federation-plugin/package.json +++ b/zowe-cli-id-federation-plugin/package.json @@ -49,17 +49,17 @@ "csv-parse": "5.6.0" }, "devDependencies": { - "@eslint/js": "9.39.1", + "@eslint/js": "9.39.2", "@types/jest": "29.5.14", - "@types/node": "20.19.25", - "@typescript-eslint/eslint-plugin": "8.47.0", - "@typescript-eslint/parser": "8.47.0", + "@types/node": "20.19.27", + "@typescript-eslint/eslint-plugin": "8.50.0", + "@typescript-eslint/parser": "8.50.0", "@zowe/cli": "8.29.5", "@zowe/cli-test-utils": "8.29.4", "@zowe/imperative": "8.29.4", "copyfiles": "2.4.1", "env-cmd": "10.1.0", - "eslint": "9.39.1", + "eslint": "9.39.2", "eslint-plugin-jest": "28.14.0", "eslint-plugin-license-header": "0.8.0", "eslint-plugin-unused-imports": "4.3.0", @@ -73,9 +73,9 @@ "jest-junit": "16.0.0", "jest-stare": "2.5.3", "madge": "8.0.0", - "ts-jest": "29.4.5", + "ts-jest": "29.4.6", "ts-node": "10.9.2", - "typedoc": "0.28.14", + "typedoc": "0.28.15", "typescript": "5.9.3" }, "overrides": { diff --git a/zss-sample-service/package-lock.json b/zss-sample-service/package-lock.json index c82c115588..d4e5f90867 100644 --- a/zss-sample-service/package-lock.json +++ b/zss-sample-service/package-lock.json @@ -8,7 +8,7 @@ "name": "zss-sample-service", "version": "0.0.0", "dependencies": { - "express": "4.21.2" + "express": "4.22.1" } }, "node_modules/accepts": { @@ -59,16 +59,27 @@ "node": ">= 0.8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -118,22 +129,6 @@ "ms": "2.0.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/depd/-/depd-2.0.0.tgz", @@ -151,6 +146,20 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ee-first/-/ee-first-1.1.1.tgz", @@ -165,12 +174,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -179,6 +186,19 @@ "version": "1.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, "engines": { "node": ">= 0.4" } @@ -197,39 +217,39 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -242,6 +262,21 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express/node_modules/qs": { + "version": "6.14.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/finalhandler": { "version": "1.3.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.1.tgz", @@ -279,20 +314,27 @@ "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -301,32 +343,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { + "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -335,9 +369,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -349,6 +384,7 @@ "version": "2.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -395,6 +431,15 @@ "node": ">= 0.10" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", @@ -463,9 +508,10 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -606,36 +652,75 @@ "node": ">= 0.8.0" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" diff --git a/zss-sample-service/package.json b/zss-sample-service/package.json index 8169caec21..280284884a 100644 --- a/zss-sample-service/package.json +++ b/zss-sample-service/package.json @@ -6,6 +6,6 @@ "start": "node server.js" }, "dependencies": { - "express": "4.21.2" + "express": "4.22.1" } } From ccffa6d8f3678a5d4261defe17c7bdec0fe10cc7 Mon Sep 17 00:00:00 2001 From: Pablo Carle Date: Fri, 19 Dec 2025 11:21:21 +0100 Subject: [PATCH 02/71] chore: update docker-compose (#4410) Signed-off-by: Pablo Carle Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- docker-compose.yml | 30 ------------------- ...nment-configuration-docker-modulith-ha.yml | 6 +--- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 15740b8b44..bee398a835 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,18 +36,6 @@ services: - APIML_SERVICE_DISCOVERYSERVICEURLS=https://apiml:10011/eureka,https://apiml-2:10011/eureka - APIML_SERVICE_HOSTNAME=discoverable-client-2 - api-catalog-services: - image: ghcr.io/zowe/api-catalog-services:latest - networks: - - apiml_net - - apiml_shared - container_name: api-catalog-services - volumes: - - /api-defs:/api-defs # Update to an existing local directory - environment: - - APIML_SERVICE_DISCOVERYSERVICEURLS=https://apiml:10011/eureka,https://apiml-2:10011/eureka - - APIML_SERVICE_HOSTNAME=api-catalog-services - apiml-2: image: ghcr.io/zowe/apiml:latest ports: @@ -65,24 +53,6 @@ services: - APIML_SERVICE_HOSTNAME=apiml-2 - APIML_DISCOVERY_ALLPEERSURLS=https://apiml:10011/eureka,https://apiml-2:10011/eureka - logbackService=ZWEAGW2 - caching-service: - image: ghcr.io/zowe/caching-service:latest - networks: - - apiml_net - - apiml_shared - container_name: caching-service - environment: - - APIML_SERVICE_HOSTNAME=caching-service - - APIML_SERVICE_DISCOVERYSERVICEURLS=https://apiml:10011/eureka,https://apiml-2:10011/eureka - caching-service-2: - image: ghcr.io/zowe/caching-service:latest - networks: - - apiml_net - - apiml_shared - container_name: caching-service-2 - environment: - - APIML_SERVICE_HOSTNAME=caching-service-2 - - APIML_SERVICE_DISCOVERYSERVICEURLS=https://apiml:10011/eureka,https://apiml-2:10011/eureka mock-services: image: ghcr.io/zowe/mock-services:latest networks: diff --git a/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml b/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml index 47ae5abdb6..49875b01be 100644 --- a/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml +++ b/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml @@ -11,12 +11,8 @@ gatewayServiceConfiguration: externalPort: 10010 instances: 2 servicesEndpoint: gateway/api/v1/services - bucketCapacity: 20 + bucketCapacity: 40 authProvider: zosmf -centralGatewayServiceConfiguration: - scheme: https - host: central-gateway-service - port: 10010 discoveryServiceConfiguration: scheme: https user: user From e0c2235427db01061f452095360c160d4c6fdb81 Mon Sep 17 00:00:00 2001 From: Andrea Tabone <39694626+taban03@users.noreply.github.com> Date: Fri, 19 Dec 2025 11:55:00 +0100 Subject: [PATCH 03/71] chore: Node.js enabler polishing (#4436) Signed-off-by: Andrea Tabone Signed-off-by: Gowtham Selvaraj --- onboarding-enabler-nodejs/src/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/onboarding-enabler-nodejs/src/index.js b/onboarding-enabler-nodejs/src/index.js index 7aaf4be742..bd39b4af3a 100644 --- a/onboarding-enabler-nodejs/src/index.js +++ b/onboarding-enabler-nodejs/src/index.js @@ -34,6 +34,8 @@ function readTlsProps() { } } +// this export to use directly the variable, instead of the get method, is +// kept only for legacy reasons, to avoid breaking changes. // eslint-disable-next-line import/no-mutable-exports export let tlsOptions = tlsOpts; @@ -51,7 +53,7 @@ function init() { filename: 'service-configuration', cwd: 'config/', requestMiddleware: (requestOpts, done) => { - done(Object.assign(requestOpts, tlsOptions)); + done(Object.assign(requestOpts, tlsOpts)); }, }); tlsOptions = tlsOpts; @@ -60,6 +62,7 @@ function init() { init(); +// noinspection JSUnusedGlobalSymbols export function getTlsOptions() { return tlsOptions; } @@ -67,6 +70,7 @@ export function getTlsOptions() { /** * Function that uses the eureka-js-client library to register the application to Eureka */ +// noinspection JSUnusedGlobalSymbols export function connectToEureka() { if (!client) { throw new Error('Eureka client not initialized'); @@ -81,6 +85,7 @@ export function connectToEureka() { /** * Unregister the Eureka client from Eureka (i.e. when the application down) */ +// noinspection JSUnusedGlobalSymbols export function unregisterFromEureka() { if (!client) { throw new Error('Eureka client not initialized'); From 484f4861859a845886d0a725f1b894bbb89dc453 Mon Sep 17 00:00:00 2001 From: Pablo Carle Date: Mon, 29 Dec 2025 17:02:09 +0100 Subject: [PATCH 04/71] fix: remove reversecategorize filter from attls (#4441) Signed-off-by: Pablo Carle Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .../ApiCatalogAuthenticationTest.java | 11 +++++++---- .../config/NewSecurityConfiguration.java | 19 ++++++------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/integration-tests/src/test/java/org/zowe/apiml/functional/apicatalog/ApiCatalogAuthenticationTest.java b/integration-tests/src/test/java/org/zowe/apiml/functional/apicatalog/ApiCatalogAuthenticationTest.java index 95d0151141..c37503dc29 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/functional/apicatalog/ApiCatalogAuthenticationTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/functional/apicatalog/ApiCatalogAuthenticationTest.java @@ -17,7 +17,11 @@ import io.restassured.specification.RequestSpecification; import org.apache.commons.lang3.StringUtils; import org.apache.http.client.utils.URIBuilder; -import org.junit.jupiter.api.*; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledIfSystemProperty; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -33,7 +37,6 @@ import java.net.URISyntaxException; import java.util.LinkedList; -import java.util.List; import java.util.stream.Stream; import static io.restassured.RestAssured.given; @@ -109,12 +112,12 @@ static void setUp() throws Exception { RestAssured.useRelaxedHTTPSValidation(); SslContext.prepareSslAuthentication(ItSslConfigFactory.integrationTests()); - List apiCatalogInstances = DiscoveryUtils.getInstances(CATALOG_SERVICE_ID); + var apiCatalogInstances = DiscoveryUtils.getInstances(CATALOG_SERVICE_ID); if (StringUtils.isEmpty(apiCatalogServiceUrl)) { apiCatalogServiceUrl = apiCatalogInstances.stream() .filter(catalogInstance -> catalogInstance.getPort() == catalogConfig.getPort()) .findFirst() - .map(i -> String.format("%s", i.getUrl())) + .map(i -> String.format("%s", i.getUrl()).replace("https://", "http://").replace("http://", ConfigReader.environmentConfiguration().getApiCatalogServiceConfiguration().getScheme() + "://")) .orElseThrow(() -> new RuntimeException("Cannot determine API Catalog service from Discovery")); } } diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java index 782a7a4145..d1cef3c6c8 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java @@ -54,7 +54,12 @@ import org.zowe.apiml.security.common.handler.FailedAccessTokenHandler; import org.zowe.apiml.security.common.handler.FailedAuthenticationHandler; import org.zowe.apiml.security.common.handler.SuccessfulAccessTokenHandler; -import org.zowe.apiml.security.common.login.*; +import org.zowe.apiml.security.common.login.BasicAuthFilter; +import org.zowe.apiml.security.common.login.LoginFilter; +import org.zowe.apiml.security.common.login.NonCompulsoryAuthenticationProcessingFilter; +import org.zowe.apiml.security.common.login.ShouldBeAlreadyAuthenticatedFilter; +import org.zowe.apiml.security.common.login.X509AuthAwareFilter; +import org.zowe.apiml.security.common.login.X509ForwardingAwareAuthenticationFilter; import org.zowe.apiml.security.common.verify.CertificateValidator; import org.zowe.apiml.zaas.controllers.AuthController; import org.zowe.apiml.zaas.controllers.SafResourceAccessController; @@ -520,12 +525,6 @@ public SecurityFilterChain certificateOrAuthEndpointsFilterChain(HttpSecurity ht ) .logout(AbstractHttpConfigurer::disable); // logout filter in this chain not needed - if (isServerAttlsEnabled) { - http - // filter out API ML certificate - .addFilterBefore(reversedCategorizeCertFilter(), org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter.class); - } - return http.authenticationProvider(compoundAuthProvider) // for authenticating credentials .authenticationProvider(tokenAuthenticationProvider) // for authenticating Tokens .authenticationProvider(new CertificateAuthenticationProvider()) @@ -587,12 +586,6 @@ private X509ForwardingAwareAuthenticationFilter x509ForwardingAwareAuthenticatio } } - private CategorizeCertsFilter reversedCategorizeCertFilter() { - CategorizeCertsFilter out = new CategorizeCertsFilter(publicKeyCertificatesBase64, certificateValidator); - out.setCertificateForClientAuth(crt -> out.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); - out.setApimlCertificate(crt -> !out.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); - return out; - } } /** From 5343f022666d05b3bfe6bdba9c0be4c20d5ca514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sala=C4=8D?= Date: Tue, 30 Dec 2025 12:41:07 +0100 Subject: [PATCH 05/71] chore: Remove cloud gateway config from docker (#4443) Signed-off-by: Richard Salac Signed-off-by: Gowtham Selvaraj --- config/docker/cloud-gateway-service.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 config/docker/cloud-gateway-service.yml diff --git a/config/docker/cloud-gateway-service.yml b/config/docker/cloud-gateway-service.yml deleted file mode 100644 index f10c29e9e1..0000000000 --- a/config/docker/cloud-gateway-service.yml +++ /dev/null @@ -1,19 +0,0 @@ -apiml: - service: - hostname: gateway-service -eureka: - client: - serviceUrl: - defaultZone: https://discovery-service:10011/eureka/ -server: - address: 0.0.0.0 - ssl: - keyAlias: localhost - keyStore: /docker/all-services.keystore.p12 - trustStore: /docker/all-services.truststore.p12 -spring: - output: - ansi: - enabled: always - profiles: - include: debug From fa1c3ec0d00eabbcf72dea3f65b3099e999f2858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sala=C4=8D?= Date: Tue, 30 Dec 2025 13:23:21 +0100 Subject: [PATCH 06/71] fix: Loading jwks with nonstrict certificate validation (#4442) Signed-off-by: Richard Salac Signed-off-by: Gowtham Selvaraj --- .../zaas/security/service/token/HttpsJwksProvider.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/HttpsJwksProvider.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/HttpsJwksProvider.java index b9d3229b25..7f0711a69f 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/HttpsJwksProvider.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/HttpsJwksProvider.java @@ -13,22 +13,20 @@ import lombok.RequiredArgsConstructor; import org.jose4j.http.Get; import org.jose4j.jwk.HttpsJwks; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; - -import javax.net.ssl.SSLContext; +import org.zowe.apiml.product.web.HttpConfig; @Component @RequiredArgsConstructor public class HttpsJwksProvider { - @Qualifier("secureSslContextWithoutKeystore") - private final SSLContext secureSslContextWithoutKeystore; + private final HttpConfig httpConfig; public HttpsJwks getFor(String url) { var httpsJwks = new HttpsJwks(url); var get = new Get(); - get.setSslSocketFactory(secureSslContextWithoutKeystore.getSocketFactory()); + get.setSslSocketFactory(httpConfig.getSecureSslContextWithoutKeystore().getSocketFactory()); + get.setHostnameVerifier(httpConfig.getSecureHostnameVerifier()); httpsJwks.setSimpleHttpGet(get); return httpsJwks; } From 9daea3aaa3be55a64aaf9b4868a956280969a883 Mon Sep 17 00:00:00 2001 From: Andrea Tabone <39694626+taban03@users.noreply.github.com> Date: Fri, 2 Jan 2026 19:15:36 +0100 Subject: [PATCH 07/71] chore: Include testing of Node.JS and Python enabler sample apps and enhance NodeJS enabler to read p12 (#4430) Signed-off-by: Andrea Tabone Signed-off-by: ac892247 Signed-off-by: Richard Salac Co-authored-by: ac892247 Co-authored-by: Richard Salac Signed-off-by: Gowtham Selvaraj --- .github/workflows/integration-tests.yml | 67 + .../nodejs-service/service-configuration.yml | 45 + .../python-service/service-configuration.yml | 45 + integration-tests/build.gradle | 31 + .../discovery/NodeEnablerIntegrationTest.java | 39 +- .../PythonEnablerIntegrationTest.java | 67 + .../util/categories/PythonEnablerTest.java | 32 + keystore/docker/all-services.cer | 58 + keystore/docker/all-services.ext | 2 + keystore/docker/all-services.keystore.key | 28 + keystore/docker/all-services.keystore.p12 | Bin 5854 -> 5881 bytes keystore/docker/all-services.pem | 86 + .../Dockerfile | 45 + .../package-lock.json | 219 +- .../package.json | 4 +- onboarding-enabler-nodejs/README.md | 7 +- onboarding-enabler-nodejs/package-lock.json | 2381 ++++++++--------- onboarding-enabler-nodejs/package.json | 4 +- onboarding-enabler-nodejs/src/EurekaClient.js | 2 + onboarding-enabler-nodejs/src/index.js | 29 +- .../Dockerfile | 42 + onboarding-enabler-python-sample-app/Pipfile | 2 +- .../src/app.py | 4 +- 23 files changed, 1912 insertions(+), 1327 deletions(-) create mode 100644 config/docker/nodejs-service/service-configuration.yml create mode 100644 config/docker/python-service/service-configuration.yml create mode 100644 integration-tests/src/test/java/org/zowe/apiml/integration/discovery/PythonEnablerIntegrationTest.java create mode 100644 integration-tests/src/test/java/org/zowe/apiml/util/categories/PythonEnablerTest.java create mode 100644 keystore/docker/all-services.cer create mode 100644 keystore/docker/all-services.keystore.key create mode 100644 keystore/docker/all-services.pem create mode 100644 onboarding-enabler-nodejs-sample-app/Dockerfile create mode 100644 onboarding-enabler-python-sample-app/Dockerfile diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 83cef9f972..17f146716f 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -23,6 +23,31 @@ jobs: with: ref: ${{ github.head_ref }} - uses: ./.github/actions/setup + + - name: Build Nodejs Sample App + run: | + cd onboarding-enabler-nodejs-sample-app + cp ../config/docker/nodejs-service/service-configuration.yml ./config/service-configuration.yml + cp -r ../.licence ./.licence + cp -r ../keystore ./keystore + cp -r ../onboarding-enabler-nodejs ./onboarding-enabler-nodejs + docker build -t nodesampleapp . + docker tag nodesampleapp ghcr.io/balhar-jakub/nodejs-sample-app:${{ env.JOB_ID }} + echo "${{ secrets.PERSONAL_JB_TOKEN }}" | docker login ghcr.io -u balhar-jakub --password-stdin + docker push ghcr.io/balhar-jakub/nodejs-sample-app:${{ env.JOB_ID }} + + - name: Build Python Sample App + run: | + cd onboarding-enabler-python-sample-app + cp ../config/docker/python-service/service-configuration.yml ./src/config/service-configuration.yml + cp -r ../keystore ./keystore + cp -r ../onboarding-enabler-python ./onboarding-enabler-python + docker build -t pythonsampleapp . + docker tag pythonsampleapp ghcr.io/balhar-jakub/nodejs-sample-app:python${{ env.JOB_ID }} + echo "${{ secrets.PERSONAL_JB_TOKEN }}" | docker login ghcr.io -u balhar-jakub --password-stdin + docker push ghcr.io/balhar-jakub/nodejs-sample-app:python${{ env.JOB_ID }} + + - name: Build with Gradle run: > ./gradlew clean jib -Djib.serialize=true -Partifactory_user=${{ secrets.ARTIFACTORY_USERNAME }} -Partifactory_password=${{ secrets.ARTIFACTORY_PASSWORD }} -Pzowe.docker.password=${{ secrets.PERSONAL_JB_TOKEN }} -Pzowe.docker.username=balhar-jakub -Pzowe.docker.container=ghcr.io/balhar-jakub/ -Pzowe.docker.tag=${{ env.JOB_ID }} @@ -2068,6 +2093,48 @@ jobs: - uses: ./.github/actions/teardown + CITestsNodeJsAndPythonServices: + needs: PublishJibContainers + container: ubuntu:latest + runs-on: ubuntu-latest + timeout-minutes: 15 + + services: + apiml: + image: ghcr.io/balhar-jakub/apiml:${{ github.run_id }}-${{ github.run_number }} + volumes: + - /api-defs:/api-defs + mock-services: + image: ghcr.io/balhar-jakub/mock-services:${{ github.run_id }}-${{ github.run_number }} + nodejs-sample-app: + image: ghcr.io/balhar-jakub/nodejs-sample-app:${{ github.run_id }}-${{ github.run_number }} + python-sample-app: + image: ghcr.io/balhar-jakub/nodejs-sample-app:python${{ github.run_id }}-${{ github.run_number }} + + + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + + - uses: ./.github/actions/setup + + - name: Run Node.JS and Python Services Tests + run: > + ./gradlew :integration-tests:runNodeAndPythonSampleServiceTests --info -Denvironment.config=-docker-modulith + -Denvironment.modulith=true + + - name: Store results + uses: actions/upload-artifact@v4 + if: always() + with: + name: CITestsNodeJsAndPythonServices-${{ env.JOB_ID }} + path: | + integration-tests/build/reports/** + results/** + + - uses: ./.github/actions/teardown + PublishResults: needs: [ CITests,CITestsWithInfinispan,CITestsZaas,GatewayProxy,CITestsHA, diff --git a/config/docker/nodejs-service/service-configuration.yml b/config/docker/nodejs-service/service-configuration.yml new file mode 100644 index 0000000000..5e856ab9ff --- /dev/null +++ b/config/docker/nodejs-service/service-configuration.yml @@ -0,0 +1,45 @@ +eureka: + ssl: true + host: apiml + ipAddress: 127.0.0.1 + port: 10011 + servicePath: '/eureka/apps/' + maxRetries: 30 + requestRetryDelay: 1000 + registryFetchInterval: 5 + + +instance: + app: hwexpress + vipAddress: hwexpress + instanceId: nodejs-sample-app:hwexpress:10020 + homePageUrl: https://nodejs-sample-app:10020/ + hostName: 'nodejs-sample-app' + ipAddr: '127.0.0.1' + secureVipAddress: hwexpress + port: + $: 10020 + '@enabled': false + securePort: + $: 10020 + '@enabled': "true" + + dataCenterInfo: + '@class': com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo + name: MyOwn + metadata: + apiml.catalog.tile.id: 'cademoapps' + apiml.catalog.tile.title: 'Sample API Mediation Layer Applications' + apiml.catalog.tile.description: 'Applications which demonstrate how to make a service integrated to the API Mediation Layer ecosystem' + apiml.catalog.tile.version: '1.0.0' + apiml.routes.api_v1.gatewayUrl: "api/v1" + apiml.routes.api_v1.serviceUrl: "/api/v1" + apiml.apiInfo.0.apiId: org.zowe.hwexpress + apiml.apiInfo.0.gatewayUrl: "api/v1" + apiml.apiInfo.0.swaggerUrl: https://nodejs-sample-app:10020/swagger.json + apiml.service.title: 'Zowe Sample Node Service' + apiml.service.description: 'The Proxy Server is an HTTP HTTPS, and Websocket server built upon NodeJS and ExpressJS.' + +ssl: + p12File: ../keystore/docker/all-services.keystore.p12 + keyPassword: password diff --git a/config/docker/python-service/service-configuration.yml b/config/docker/python-service/service-configuration.yml new file mode 100644 index 0000000000..00ebaa84fd --- /dev/null +++ b/config/docker/python-service/service-configuration.yml @@ -0,0 +1,45 @@ +eureka: + ssl: true + host: apiml + ipAddress: 127.0.0.1 + port: 10011 + servicePath: '/eureka' + maxRetries: 30 + requestRetryDelay: 1000 + registryFetchInterval: 5 + + +instance: + app: pythonservice + scheme: https + vipAddress: pythonservice + instanceId: python-sample-app:pythonservice:10018 + homePageUrl: https://python-sample-app:10018/pythonservice + hostName: 'python-sample-app' + ipAddr: '127.0.0.1' + port: 10018 + securePort: 10018 + secureVipAddress: pythonservice + statusPageUrl: https://python-sample-app:10018/pythonservice/application/info + healthCheckUrl: https://python-sample-app:10018/pythonservice/application/health + nonSecurePortEnabled': false + securePortEnabled: true + metadata: + apiml.catalog.tile.id: 'cademoapps' + apiml.catalog.tile.title: 'Sample Python Hello World' + apiml.catalog.tile.description: 'Applications Hello' + apiml.routes.api_v1.gatewayUrl: "api/v1" + apiml.routes.api_v1.serviceUrl: "/pythonservice" + apiml.apiInfo.0.apiId: org.zowe.pythonservice + apiml.apiInfo.0.gatewayUrl: "api/v1" + apiml.apiInfo.0.swaggerUrl: https://python-sample-app:10018/pythonservice/apidoc + apiml.apiInfo.0.version: 1.0.0 + apiml.service.title: 'Zowe Sample Python Service' + apiml.service.description: 'Sample API services to demonstrate Python Onboarding Enabler' + +ssl: + certificate: ../keystore/docker/all-services.cer + keystore: ../keystore/docker/all-services.keystore.key + caFile: ../keystore/docker/all-services.pem + keyPassword: password + diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index c748ed3536..be31ed7b8d 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -194,6 +194,8 @@ task runAllIntegrationTestsForZoweNonHaTestingOnZos(type: Test) { 'HATest', 'ChaoticHATest', 'OidcOauth2Test', + 'NodeEnablerTest', + 'PythonEnablerTest', 'MultipleRegistrationsTest', 'NotForMainframeTest', 'ApiCatalogStandaloneTest', @@ -236,6 +238,8 @@ task runAllIntegrationTestsForZoweHaTestingOnZos(type: Test) { 'TestsNotMeantForZowe', 'DiscoverableClientDependentTest', 'OidcOauth2Test', + 'NodeEnablerTest', + 'PythonEnablerTest', 'MultipleRegistrationsTest', 'NotForMainframeTest', 'ApiCatalogStandaloneTest', @@ -285,6 +289,8 @@ task runAllIntegrationTestsForZoweModulithNonHaTestingOnZos(type: Test) { 'ChaoticHATest', 'OidcOauth2Test', 'MultipleRegistrationsTest', + 'NodeEnablerTest', + 'PythonEnablerTest', 'NotForMainframeTest', 'ApiCatalogStandaloneTest', 'SAFProviderTest', @@ -330,6 +336,8 @@ task runAllIntegrationTestsForZoweModulithHaTestingOnZos(type: Test) { 'DiscoverableClientDependentTest', 'OidcOauth2Test', 'MultipleRegistrationsTest', + 'NodeEnablerTest', + 'PythonEnablerTest', 'NotForMainframeTest', 'ApiCatalogStandaloneTest', 'SAFProviderTest', @@ -338,6 +346,7 @@ task runAllIntegrationTestsForZoweModulithHaTestingOnZos(type: Test) { 'SafIdTokenTest', 'ChaoticHATest', 'GraphQLTest', + 'GraphQLTest', 'ZaasTest' // These tests require ZAAS as a separate service with its own port and specific paths that are not part of the public API ) } @@ -364,6 +373,8 @@ task runAllIntegrationTestsForZoweTesting(type: Test) { 'EnvironmentCheck', 'AdditionalLocalTest', 'TestsNotMeantForZowe', + 'NodeEnablerTest', + 'PythonEnablerTest', 'DiscoverableClientDependentTest', 'HATest', 'ChaoticHATest', @@ -391,6 +402,8 @@ task runCITests(type: Test) { 'MainframeDependentTests', 'SAFAuthTest', 'AttlsTest', + 'NodeEnablerTest', + 'PythonEnablerTest', 'RegistrationTest', 'ServiceIdPrefixReplacerTest', 'HATest', @@ -425,6 +438,7 @@ task runContainerModulithTests(type: Test) { 'RegistrationTest', 'ServiceIdPrefixReplacerTest', 'NodeEnablerTest', + 'PythonEnablerTest', 'HATest', 'ChaoticHATest', 'InfinispanStorageTest', @@ -460,6 +474,7 @@ task runContainerTests(type: Test) { 'RegistrationTest', 'ServiceIdPrefixReplacerTest', 'NodeEnablerTest', + 'PythonEnablerTest', 'HATest', 'ChaoticHATest', 'InfinispanStorageTest', @@ -510,6 +525,7 @@ task runBaseTests(type: Test) { 'RegistrationTest', 'ServiceIdPrefixReplacerTest', 'NodeEnablerTest', + 'PythonEnablerTest', 'HATest', 'ChaoticHATest', 'InfinispanStorageTest', @@ -731,3 +747,18 @@ task runChaoticHATests(type: Test) { } } + +task runNodeAndPythonSampleServiceTests(type: Test) { + group "Integration tests" + description "Run tests verifying onboarding of Node.JS and Python Sample services" + + outputs.cacheIf { false } + + systemProperties System.getProperties() + useJUnitPlatform { + includeTags( + 'NodeEnablerTest', + 'PythonEnablerTest' + ) + } +} diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/NodeEnablerIntegrationTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/NodeEnablerIntegrationTest.java index 09ae698070..0360032998 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/NodeEnablerIntegrationTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/NodeEnablerIntegrationTest.java @@ -12,15 +12,18 @@ import io.restassured.RestAssured; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.zowe.apiml.util.TestWithStartedInstances; import org.zowe.apiml.util.categories.*; import org.zowe.apiml.util.http.HttpRequestUtils; import java.net.URI; import static io.restassured.RestAssured.given; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; import static org.apache.http.HttpStatus.SC_OK; +import static org.awaitility.Awaitility.await; import static org.hamcrest.Matchers.is; /** @@ -31,27 +34,33 @@ @GatewayTest @NotAttlsTest @NodeEnablerTest -class NodeEnablerIntegrationTest implements TestWithStartedInstances { +class NodeEnablerIntegrationTest { private static final String APP_INFO_HEALTH = "/hwexpress/api/v1/status/"; - private static final String JSON_CONTENT_TYPE = "application/json;charset=utf-8"; + + private static final URI MEDIATION_CLIENT_URI = HttpRequestUtils.getUriFromGateway(APP_INFO_HEALTH); @BeforeAll public static void beforeClass() { RestAssured.useRelaxedHTTPSValidation(); } - @Test - void givenEnablerIsOnboarded_whenRequestingPublicEndpoint_returnStatus() { - URI uri = HttpRequestUtils.getUriFromGateway(APP_INFO_HEALTH); - - given() - .when() - .get(uri) - .then() - .statusCode(is(SC_OK)) - .contentType(is(JSON_CONTENT_TYPE)) - .body("status", is("UP")); - } + @Nested + class WhenServiceIsRegisteredInDiscovery { + @Test + void gatewayRouteReturnsUpStatus() { + await() + .atMost(2, MINUTES) + .pollInterval(1, SECONDS) + .untilAsserted(() -> + given() + .when() + .get(MEDIATION_CLIENT_URI) + .then() + .statusCode(SC_OK) + .body("status", is("UP"))); + + } + } } diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/PythonEnablerIntegrationTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/PythonEnablerIntegrationTest.java new file mode 100644 index 0000000000..595431718d --- /dev/null +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/discovery/PythonEnablerIntegrationTest.java @@ -0,0 +1,67 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.integration.discovery; + +import io.restassured.RestAssured; +import io.restassured.http.ContentType; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.zowe.apiml.util.categories.*; +import org.zowe.apiml.util.http.HttpRequestUtils; + +import java.net.URI; + +import static io.restassured.RestAssured.given; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; +import static org.apache.http.HttpStatus.SC_OK; +import static org.awaitility.Awaitility.await; +import static org.hamcrest.Matchers.is; + +/** + * Test that Python enabler is properly integrated with the API ML (Discovery, Gateway) + */ +@TestsNotMeantForZowe +@NotForMainframeTest +@GatewayTest +@NotAttlsTest +@PythonEnablerTest +class PythonEnablerIntegrationTest { + + private static final String APP_INFO_HEALTH = "/pythonservice/api/v1/application/health"; + + @BeforeAll + public static void beforeClass() { + RestAssured.useRelaxedHTTPSValidation(); + } + + @Nested + class WhenServiceIsRegisteredInDiscovery { + @Test + void gatewayRouteReturnsUpStatus() { + URI uri = HttpRequestUtils.getUriFromGateway(APP_INFO_HEALTH); + + await() + .atMost(2, MINUTES) + .pollInterval(1, SECONDS) + .untilAsserted(() -> + given() + .when() + .get(uri) + .then() + .statusCode(is(SC_OK)) + .contentType(ContentType.JSON) + .body("status", is("UP"))); + + } + } +} diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/categories/PythonEnablerTest.java b/integration-tests/src/test/java/org/zowe/apiml/util/categories/PythonEnablerTest.java new file mode 100644 index 0000000000..b6e715b9aa --- /dev/null +++ b/integration-tests/src/test/java/org/zowe/apiml/util/categories/PythonEnablerTest.java @@ -0,0 +1,32 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.util.categories; + +import org.junit.jupiter.api.Tag; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.TYPE; + +/** + * A category marker for tests for additional local services and special cases + * reproducible only in the local environment. + * + * These tests will not run by default with other integration tests. + */ +@Tag("PythonEnablerTest") +@Target({ TYPE, METHOD }) +@Retention(RetentionPolicy.RUNTIME) +public @interface PythonEnablerTest { +} diff --git a/keystore/docker/all-services.cer b/keystore/docker/all-services.cer new file mode 100644 index 0000000000..ce826d9983 --- /dev/null +++ b/keystore/docker/all-services.cer @@ -0,0 +1,58 @@ +-----BEGIN CERTIFICATE----- +MIIF6TCCBNGgAwIBAgIUIh7+Cdi0ufdM4hPSBUcK+cg1lTMwDQYJKoZIhvcNAQEL +BQAwgZ4xCzAJBgNVBAYTAkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlBy +YWd1ZTEUMBIGA1UEChMLWm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRp +b24gTGF5ZXIxOTA3BgNVBAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENl +cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNTEyMjkxNTA5NThaFw0zMDEyMjgxNTA5 +NThaMGoxCzAJBgNVBAYTAkNaMRAwDgYDVQQIDAdDemVjaGlhMQ8wDQYDVQQHDAZQ +cmFndWUxETAPBgNVBAoMCEJyb2FkY29tMQwwCgYDVQQLDANNU0QxFzAVBgNVBAMM +Dlpvd2UgQ29tcG9uZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +q9kjK8492YN5buAag7SvLvHqg+LLeuLHUUE5ocg6Lxri9p76eRoEk5BwinGPq8VL +RTZmD1mGv/miM52LKsIy1zMVhyrwiaFpI8DYKbg9Xc2u2X060JglWylOS5brJ5Ge +D3wSsUVTGzV9x1pHsjnEgswnx4UuE/1KCvcr64ZgEXYcsTfdzr1U9XyBluDuc602 +0d/Exsv+yXlKof/TRMzDQEvI9ZDWzNa1FAyZY+raSRlctL+6rxBxiWTZPWSCmsED +SjhsuQiz4dACTh7ezD4nlBgNL9rgZgQhYDYl/cgqtQQHDzn96qVRBKDnySq0PkPE +rsYLa+nMGZmaFM6Yn4HqHQIDAQABo4ICUDCCAkwwHQYDVR0lBBYwFAYIKwYBBQUH +AwIGCCsGAQUFBwMBMIIB6QYDVR0RBIIB4DCCAdyCCWxvY2FsaG9zdIIJMTI3LjAu +MC4xggx6YWFzLXNlcnZpY2WCDnphYXMtc2VydmljZS0yghRhcGktY2F0YWxvZy1z +ZXJ2aWNlc4IWYXBpLWNhdGFsb2ctc2VydmljZXMtMoIPY2FjaGluZy1zZXJ2aWNl +ghFjYWNoaW5nLXNlcnZpY2UtMoIRZGlzY292ZXJ5LXNlcnZpY2WCE2Rpc2NvdmVy +eS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJsZS1jbGllbnSCFWRpc2NvdmVyYWJsZS1j +bGllbnQtMYIVZGlzY292ZXJhYmxlLWNsaWVudC0yghVkaXNjb3ZlcmFibGUtY2xp +ZW50LTOCFWRpc2NvdmVyYWJsZS1jbGllbnQtNIINbW9jay1zZXJ2aWNlc4IPbW9j +ay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXByb3h5gg9nYXRld2F5LXNlcnZpY2WCEWdh +dGV3YXktc2VydmljZS0yghdjZW50cmFsLWdhdGV3YXktc2VydmljZYIZY2VudHJh +bC1nYXRld2F5LXNlcnZpY2UtMoIFYXBpbWyCB2FwaW1sLTKCEW5vZGVqcy1zYW1w +bGUtYXBwghFweXRob24tc2FtcGxlLWFwcDAdBgNVHQ4EFgQUYXbKgGVXo42/0hJQ +c92AP0zsjecwHwYDVR0jBBgwFoAUJGkuNtjHnz0uLUR9YrAaZDGIsDYwDQYJKoZI +hvcNAQELBQADggEBAE54QEacJHA5Ip5cKpIawZSlaAuWziyOGU4QPYu+/wa1UXTB +zrNSMRUjKPfpnRmFVXKS4wNYLNjV7ILAjbPm88FnyN99woEUX9aCBmO3cnELk6X0 +wWSQLblhplya6mOBhvjtwH0xdPHdEOHPY6UhYCYtH3QNEgcng3LcHQxW7AlcNW47 +GVf6MwbMRkez6MPZJQynkLfV1fx524G4T5KCXeSZexm3vN9bpBY1SmMT8cNxw1zW +OHj7qWdv1M4bc8p6DkE1XrBqx4TDm1IEsZig8hB3bQ2kxgNQIbwfxmRBkwutj72N +yjiYSIRdHauaLv0YFMy5WnMypQIQBp16BK89UbE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIID+zCCAuOgAwIBAgIES2Kd2TANBgkqhkiG9w0BAQsFADCBnjELMAkGA1UEBhMC +Q1oxDzANBgNVBAgTBlByYWd1ZTEPMA0GA1UEBxMGUHJhZ3VlMRQwEgYDVQQKEwta +b3dlIFNhbXBsZTEcMBoGA1UECxMTQVBJIE1lZGlhdGlvbiBMYXllcjE5MDcGA1UE +AxMwWm93ZSBEZXZlbG9wbWVudCBJbnN0YW5jZXMgQ2VydGlmaWNhdGUgQXV0aG9y +aXR5MB4XDTIwMTAyMDA3MzkyOVoXDTMwMTAxODA3MzkyOVowgZ4xCzAJBgNVBAYT +AkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlByYWd1ZTEUMBIGA1UEChML +Wm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRpb24gTGF5ZXIxOTA3BgNV +BAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENlcnRpZmljYXRlIEF1dGhv +cml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHkJhhd/rrtmm4B +XCU/ZMq/4F8T3QYXGnDfmRLSN2GzGpb1YEK2RaEVBBKh8QI5baiD3vSzhK1VoO3L +qEMOpPxgwoUTz8wDzf4u18i7qSREdSDTJIo9Qj5DT8w4wHpGBpFtNVU/5bTwNAPw +khg5CdRJpiOQV3O4MFmnt94VLcMQnywISja2Mv+RC3eZjr86OepDLpyfi2UuQ/Us +hKvVvUM+Bxcl9TkWzFJ6lqYvVBPo5Epa3v8qIeOfmkOzO8id5LT/AWqgOYUGFhox +4Lsvj8txOc3SYTXbY9IOrKXggX5NwhTW038j+1n1zXlVeAr5xhASymAzwbV/QQ3l +GsWig1ECAwEAAaM/MD0wDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAgQwHQYD +VR0OBBYEFCRpLjbYx589Li1EfWKwGmQxiLA2MA0GCSqGSIb3DQEBCwUAA4IBAQCt +0YxLl4u7RZkntKSBjDiQXoFL6xkzvvoEAGtNztCVW78NHgA86MkuWmQ+eBSBxHda +NzjtLHHSwFfzHaaXoc/kNS2iTyHbntKheJ6YHi6mCA71nA5m+AUS3yV+iO5qFusc +jeYXXuwbP06i2v5J/yYtEyEARl2Wo9mOCOTOAl7e+V9qhYgRh1EbWO0pYTeRpya+ +MCHI+xEPSmUaguEtxvGTdtmhDuKuS1Ndo5j72ceevy0uP5el3scsJnB1puGhQCh1 +waG/jp8kndRbB3V3YjIqbA9MxxpMzpiOC5S0uQQ3t2sqV6p4q7Dj5o4GgfDu+RK3 +EDOis6zm74HV4CIcw9Ka +-----END CERTIFICATE----- diff --git a/keystore/docker/all-services.ext b/keystore/docker/all-services.ext index 484a1dacc0..61365c56b6 100644 --- a/keystore/docker/all-services.ext +++ b/keystore/docker/all-services.ext @@ -27,3 +27,5 @@ DNS.21 = central-gateway-service DNS.22 = central-gateway-service-2 DNS.23 = apiml DNS.24 = apiml-2 +DNS.25 = nodejs-sample-app +DNS.26 = python-sample-app diff --git a/keystore/docker/all-services.keystore.key b/keystore/docker/all-services.keystore.key new file mode 100644 index 0000000000..688344e66f --- /dev/null +++ b/keystore/docker/all-services.keystore.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCr2SMrzj3Zg3lu +4BqDtK8u8eqD4st64sdRQTmhyDovGuL2nvp5GgSTkHCKcY+rxUtFNmYPWYa/+aIz +nYsqwjLXMxWHKvCJoWkjwNgpuD1dza7ZfTrQmCVbKU5LlusnkZ4PfBKxRVMbNX3H +WkeyOcSCzCfHhS4T/UoK9yvrhmARdhyxN93OvVT1fIGW4O5zrTbR38TGy/7JeUqh +/9NEzMNAS8j1kNbM1rUUDJlj6tpJGVy0v7qvEHGJZNk9ZIKawQNKOGy5CLPh0AJO +Ht7MPieUGA0v2uBmBCFgNiX9yCq1BAcPOf3qpVEEoOfJKrQ+Q8Suxgtr6cwZmZoU +zpifgeodAgMBAAECggEAD+btdsHEfmrIo2ZwfayMI3N2aJLlkm8G07GN9DcTj0VV +KE4ozmkGcGNGzsDYcyQ0JWj1w8jci8o9ZLpY5PGIg9pxzQq/rHS3xnuzZRTr9NCy +M+T/OstBdbCaUqtaAlTaxAMOtcG9AYEPLRHhHZBz60iaC7/6thXTsrURpt9N53+X +y7WhGcLetfudb95bbwwn8AURXZJYF78u6lgjNfXKvPORgV9dNdq8Xmae2FO+euY3 +KjM3Dz9qRvo0eAwmDxdlTEDRbC4WgXWf7g3F397stQM0Aa3/W4G6y41ir+Sv4u6E +/fqdgj7nQQczGoDnQMBbFXS14ljzeKXDXU8FTh1KzwKBgQDyAkWMz1GP32JOED9c +DQloSnceoNM4C/oWmQzjopJv6XM0C2P2oCs6q3ZyPeQxf+Vz729eXJcYl0PDSjuJ +DMlp2unrYBLqm/ff0WncEo6Ws1HZ8tXzhdgAkNnVo4Hesl/s5yvXWK62Ot079+j5 +oQT4QWP4DngyLk5j4z7uAsiMKwKBgQC1yH0OmfwTZb6KFYfJxGQQ4VJtxGNLKH6w +mp+VnFFi8p6ldvX0BsPTWGX6R0k3T8pPoEGN1uWZ7+SInEfu+Fh2I3dhikkQe+Rx +xsg4dM2Ipi/ArXP8XhxeuXHKRdPoyK/MYRn4hZPY/eDK4KSfdv7v+n0Do2W/QJM0 +i1TsJFmW1wKBgEB/Ln36eqg3RoG7fsdPiiRLRDfbcK9NMdd37qF0IEbHFrbWGkwO +H7dBHw4PRJOUnFgrhajGUFZzadHQJNG/oKYfe5wJPMFd08/IhcfrAilTnQrS1wZR +s2FjOUrgiqoJK9t9OIfp0JYsVe23glWU/jgTZUskwA/Pm4CvfYP9JemFAoGAfCDF +/EV7kodEP6gKC+WV6szha2DR6I1jTRaYaCHQlT9Uw2ni8tn3uAZBxFAPF7zdSdgF +S2R1bdMYe4wztmNQjIMVTr6Nu7rNuD9jkuF3Q5svOmN2stpUhv4cTGG4HNmE6YtY +n5Ie7eoWKJKS9uzbkmS6HtThcmIW4qdNut3rawsCgYBb92UuvwWP5fV0zNnlY76C +FeOkMFsptPmqhBz/8sLrZZ95C7raqSD0RSNDzxEnLx3EDokF3GBUuI7/68/aWXNt +4pKaTKZ/Y+SqaeV0vcgjCYYTTAJaSnarTFzcp8vMWzq/MWufv7Jf/oLOTuWPSy34 +DG3vyVXu7q8tL7F0/GJ96Q== +-----END PRIVATE KEY----- diff --git a/keystore/docker/all-services.keystore.p12 b/keystore/docker/all-services.keystore.p12 index 038113fd09faf901e203d383d125ac1b2d38ba25..0bc51859d28079ac1c12d55e30f9e94c0f407c11 100644 GIT binary patch delta 5823 zcmY+IRaBgdl18y6xYH0E65J&?jk_gCaF^huasP3LAi>=U?(XjH!CeCc_c?dgtaH~q z)vCR#>hXK1b>;_VfXyF#0|yKLPpL#iW(bxEzC(w72b=8=&PMPDr~iYK+5AEOUxEHn zpnnwTKk6qU>i=z_p}@jr`-AxYfuGn6{yhdlXH#Kg|8I-N_7MSVY}PtTN?J-b1C0tSqc%tIBiM|x5 zxadosAl+Wb526jYppnD7(u-9-fsH>KSKa7dzAxxp`1DW?VL!5B4?RLZBj<@-Rk^iISXu?y zfBAwsc^g37M??m0o$*O}AI(IL4P-#HGT(?_MMnJy&EnL(emCxnt^VDbEZmGp>sFoA z7b#4-8Li4GVxTzBRFn_Oeyk;4ah>fB8Wfpl=IT-c=w%L*tIW%qt`f^_5L&Kg(7hcI z6$)t`?S5I){v9Mj!;~>^8q@JCTN4;t^m8h78hIll-QvSXZy(u$uD2$hh|X~*4O?Q7 zEM2psX?9?;eGFm}e7v6Z%b37+Q;^Yh2(UDuh}y5hdiU-}6*rU8XzezZE~T|XD)YH%g4Az)A_bKDv64>LYn){kIUkMG}f&|YvG#|Xbd4YS}rSFA{N>%{w!^U zWsNuJe9tT2IsYnZ&caWz`R-0VuPS@;{)j^cLi575!Z+0+$AqMm*c;~kUBTWbNLm^< zZ}XjQ{42b3*#0^GV?*Jm^))`HMp^*C?Z;wVdJjU*hSQL}+ZZ@CuYAbA~VyJ7~3s#?5*eh}mg?@7VW5efYfa&|b6w>ILnpzY(z z#%z^;OZJdPgY{m&&FApP)JBYaHqCxMhR=&0zb-mHuO?UCP!}PHG1VCfmZk>SGk--W z>232AiZa0ocXJ>65n_-XwQf9)M6|~~f=FVLwb3b@RI*H^#I0ld{qnWYLVi2qZOf~D z%RWKEEv(Oiv0KUd%H}I&hd0Woh|McC9R&{lsEeg;P3quKC3ZC#okYRevp4#{p%|=# z#A7zh!he)gHpR`LKebIm{pV|8;5`DBWcZfIp zQ(X9IeL6&sQ*K5GHuHwFvrF7Pi}8qzU51VF-(W<>W5*+l&j;a&efTfKX9pwT^~@xO zM`X|L2a`!0R&kc9L_oPD*!;1!{vCUVnC*`>^ADPUgN6C0494Gs7ztw(Do}kNhtV6} zLMx(9smd&mZyNqLW}_(p4N~d^L4x+^pSExaV(u$=zW!LBo!F-m?x}QfTA~xyKkNc{ z#k=u_?G|(D)>a;tHV@}|^U>ewXneVR%mA#^*WcojFDHfCwoBR5xs7ZPR>Dc#rRKz? z8=_|BqfPQ2cC{|knp&J$alZiOx^N{2tfUgo;k+wOj38$k_M@)=RBwiNdGQ&~RUuAb z%INM#43?E%${{>&eTP@9o*v&Qj%s1lWR@KI%NfcbDt1AW`nq&_b`L#F!Yj*w$bme| z?BVRXsk$!M`47kk_s{FZ1-~jF81rVKlXZ^NqQ#iJvvhTYUcy-AgLs>SS%Z520-gCa z0cPd04pC$m^N0ji&x^NP>p(Od=7Oq~jPggJTYNx_&|LX7i{7l8W3b zd%@XvO5BG{$J5m65+Ad94b)O)#I+x&RajM7GJIJY&nGdH#r0Ran^%_zje}9PdTfpl zth0D9AkHz{es@gVV_y@!o>16JRxZ=Hrg$*oLNhP7PB8((kKAMgg9$#te7&4ROrzRC zcCNyB<0bvx&==V58GMH}iO@i8Z{q3`kiqSJVS3-;jery>&N??|gf&KHy-LXbP$nfY zW_Nimp7>YYck$u!F^;i+N!z842_1aD@nHtb2}V1a*=jw6xV{OBx*<`q!x-RFfv%Hq zN1bmh)E@xg_|y+CECIs&1@~ma<1y934h&P~d2ek)b9NJ`*8*R)9Lm*c=BqZzeO#gV zBOV9)=m{Z`oVN}|;*yJ0qtfCh%dchKp?TZ9SIA+!vEzCr_Yz`m;0sAsCHFVi5TWE3 zSW!0aRu40c#bU~zT4zJ7wnSMEY1}A3ggIh29~6L*q=CAJ2KlpFJ4?sy#ypGy1i!a3 zS;f0Z&H4?hvuL7CS*(f=nrmmVHIKsSrdx{$%&X)2US zm3r+f!TKSfwypbk=JvdxKW{kLopgHNhr{?<3SH+m3;WH{=8HHvi5hvz1-os;H3W}L z!~Xtl%vU%7e{3JW=;-|WiDz|QLB%N9M6{~sJlBZJ?QIn;6{sb*un5K&;{Hmw;n)SF zccQ=+S_IwOQ|wLMqT8J=_T5K$+*>synTe(dJQ1l;K4T+i5nXpimB|TxLp7J{<}{{4A+|r$Oz<*s1^P?D6{y-7a3+ zE6{)1Kgd|F!$EW+NTm-Ndg5_;)9lq!xP6JCmwe+9m-xyUV9k`;Y?K-3I6YRo=Q}qs zX5FbRTdX;tLMqAgBWz9Zqc_^nB#au)(hPFKA3O)@v((_XKTo$0!za~15>PJF4nx}(i< z7-`>N((~bHi}N}mYAa1d`^*;rFi>K+ayz{BNGd>IZ55t0>#|hL8G7FIWE2e| ze|NOT@ZCwzgW0!17w;axF(~kB+nK|c5BX=PQ}F`u7G|2lasHT}qy%?`z{ok|a(YWC zg$Tbzh=PiH*D~N6luX2zNhfFN2`zz=BK2Mt&&uy#+Eabpn5cJa+lis* z+r*jlszA6&!*`LvF}_0RdDRVe{u!bgt#AV|n%9FsA|n^|O4d$JadV(m051HC1G`q{ z8eBWHu2`{HC`AL*Ph$;G(YP}gdLjwAWHb$m@&Xae6}5NmTM=t#?X!jDD* zF&io?CccordHLt8^9=MWD4@<;F~2uLWde?eq0M)cf<<76awX8rn*JUdb6Ri@E{|`A zi)6F0XJNxgZ3)~}cWLj`!BZ9NsLy*eDQCN9Uuf9fs}8W)aKcGk`^%Z1SWFYXu9v@@ zu33sXR*49aW$aYkx}R8v0-x z^<-L}#5I8q!G=YfOfyc-hKUOmwCeD4DZ^CaQs>D%C+FPCE8PZP6YU%mERln?DW?WY8dM4f z@?q!P5V1mp!8*~+#>Z&x`_hF*&Yg%tzGp-p24bV7_m^%-#Lf%(<(Li_uQU5+fvYQb}!;D+!U>ty`ZDt;=L0M|Vuiwpvw@ z-vc(4ExiZ2sffq~)P&nH0C%+!JwNZL*1S-N$0d>JsiAeOOegZp#UYg?ZTxTh#(uJ? zKRAXdBF%cPn0d8S>s+Wf%aF}>7VPfGQy0IMTeD=F3nGVWwkz21Yl(VYm{tLkDOjR| zPtV3dHMtGB=ou>X`$FEGbMB}D!>kUOzJQvTDqQ`pcQ};5myvd}B1NyJlH`u0TxZ38 zef(Fcw9SWU!64vdF36f9l3N@s(!DvOGgfU8s+z8iO(`3)X?M5XYj8M6>Zw9?!8`br zr`l-rl}lVw8_R&9m2KQXK2>v-w4=?pQPC;Ev3(w5Eop4PTW3vzm|w7(fLi3_3222N z``T*5H04cLqvdP<2@ls(v5EbwxJMnE(yohZ`HtuW&BXyXDn6Tl2u<((xY)uM!wa*~ zc>^qV2BQ{NDcwf%4?7wvyDuToD|ncN3H_3axOhJb2GLr!0N!6&LvR6XSR=ZHZV$rs z;__klo5d(JE;I>^gSxpn84D9w&H%O65z6#A^5hD|Z9aQ?Ms(VSxGc4DFJ8LadC#WE z7q$gZ@4Nb~(MhH26q--JjK;^dt+_KPTaJ9wikp~ZxCSa;eZo_;b?cyc|)T}bGs3I5R`mWKO+Pc~>MJ-axItCdt4Y?X@-j$3o zpk5_}Kz*w?n3)7Qsud6+gMfSU^}(_XQx$1v%LSceO=Bs^i7ai&v7n}}1%$FKrOQzd z2u2H0FdP-3`Q#+YeMOQ}6qqV8(GtG)Dt)LN{JDF$oA5|G( zbT11i503G42^;?;h;D@wb5RvHULvtQ5m(XjOCLu3R2##vY?mVS z>AixK2_285E1^p;0IU({Zg-Di%*ViBAAHIjcK8LYeZ0*-R3PGjP738w3XT&4Z(B%A zlE4wvw#)W>-#Gj$wZkGA(|UJszF|N#6Uy?ivEYWZ#wfDs_?-diQ%9p$rVXyDk_;;X zYlN7L$)!y%If6j{%Az0c<9%BK^D8l$ol+4w$L_ofA3aA}I2GlWb$+OkME~UReF6fkrFU zVr0)oTVS6-H&NJo7Kxjn$2Dw*0*Q3`KmMGN%@HhF>GKcOAB(&Ih9q`~i6`HIA&%lA z^nHEx)z_I&;KTQXXA-?L96LUROb;-{rGcgB0Zfk4mS30URR$YjZC0PrH&-GK@MIQ+uW5F|6aIE&=Scg4(MK^k zjdZF$i(2qd4PUYvknOlvJ}rb@;6UefNqEVV#1F<2Pw(2%0N-_-2SS$3qh3528y>XlFHHPG%QO`N*6g+B+zVj98*g(gJ*7Th^$$hsXXaE;Rl zzF_+c;7i!l+BUcn>J8yp-VROT&$Kue*U75(`F0A^{1}$Aze~0tr+#6!aTE=2AyMuY z=3LbEY#T}XQ9=-l+1+)eU zDuzgg_YDCD0ic2fr38Wnp)i64oiKt0nFb3ghDe6@4FL=a0Ro_c1wb%@1w51f1t1&p zwKVuP`&S~LXB9B}$VFc+(qn=G0w)jx0U(iz9e*%r=%K#8ju4rORP&NkQD0YZEt*TTqT;KSA| zSL-CyMal1(7L~JfHk$(B^GTwJv27 zOBHGgp(KsLShN31NlWHlHZ+CEq0Js2BHxeX(I+c<}7dJ=UH9GHzZu6M4z+J z2l!)wqt;@x=Ut?-cuLQcL}whmVio0f3n&H&npX_@0w%#9d*>51k%U7i`F}HO^2Cwg z-03)k6RC-!EAk}Y0eRHA(qu@(>Og;j?SJHM-D68{75fMgC!^RSOD7NCwcfa`%?>Ta zR+m(aZl9oeVwUC1p(ryEKkv4E6!ynkHQk6p^Y))g?6B}iE19bpXQVA|2Q58_AN_1; z@9>^FgasHd7M`#Rok4K>!G9yrpBMjzjTf&uwamjLdr)g<73H`Uj-EKnoxGq$ULKBn zJIZq*$rf z8yAhrvV-22VAMbtPGcICbJ3nsldv93%kho7En?xvh&3k!xOA}rHGc&sTe?09XJ$z9 zi_*o$h&6Wwpzt{&vA#1-{7wnZw!~k>j9z#ztJ+J>&h%tdp`HM!I5y{v$K2dEp;b|t z?rng;fpS&Ep2%}u`26nOH79>+2)dB!$Q9m3gQcr7mhuI5c><@(H;0) zL$HG9Jt0E5J;#nIXgId=6O}X!=<`+SA4RbiS-^PMV50o;6I4V`R{5)$hMlc};2`Yw2 zhW8Bt2^29D9+RB~6hI*c2`Yw2hW8Bt2^BFE1QJwfZDk-aH#IRdH8(LaF*r0ZFoF=l z1_>&LNQUvn*G5HP;2ZDLPN!GAQ5gA&8MNgGH64yneP zy{s)1ga%C4npib3Ug;e0ZL8uJ{TzZ|;23%PE)0DLZdW`*P(dc%%$D%{5e#K=QyRO3 zF1qY6NjoxlI2Lan7w%AIH7SO@3qg5q_y*?p?ANzMq<<)R|&)^ zn04kl0RCf2Y>$i|;R{FUs?4xk zU_m&BfQZEKP=zFe{5(#TwY8cQ3rNFsT!N*R|07MrWyQB2ygS3j4+{`c8<9(`8-9_@ zhfIm3_J4Jp47{nwV+ccwmtCtLPqXDNcib>=v!K*Cv-1Byx*%+V(WdQmM{^2j{u?|x z5RVlL|3>?dW4zzLT;Yf^gjhCTl6pO*nd#!Y?{7FeAfwsaxy`A>k?$Rs#T!5&tWudC zM__-a7kD>~h(ibBz@5qpF)cigHSU$ipUUp}Xn&go{_F<=`J@LtyRd^+%Tg*hZH(m~ z5llmzdjaQkTPVK0CuM!4y69}qwn9I6H4&)A8J&PNr1MVv$|* zXA-j=!Ks@{pGv-K$vBe+E7pQ3_OScc!7)F&x_4tZv@2eld?I^)L9Xf0;FJ}%tc;2V zqJRIy8Co72`105$izp#y&G+`eJF+Y}N@Ehwz=*Ee;IJR)Q-VNf<6~Qvfe7i|s3Vkx zgc{e~lM36Gkb=Uhf;oD$H}djM*efkCVW-c}SozittR>vwcIfk<34~FYMK!CK>8P6$ zdxmvfw7+_|CzL&eLgT8WUu9(`Q6u^3wX^mp0%_aU{+~5Q!Wey}0EF@No4vhEbANtd zitQtNl*MeRSLY1~;}M?i0Z?)+5RO&-4QF*(RaA!OZr$Grvqbs?6SnX(F?h-L=|}mQ z*|a0|fyU!#WMGP5`H^OBlsC*r{zNse>~^|qDsBY}`xav;xw>Gy15Y?D_gkR=p~yAE z7(W`G0sztoPPqNhun2oltjCe2)qjiW@1;|}A4lllQW+NwUSHc|)##cp&F2=Y6^>U_ z6M5!W&HoQJd_!x(UVx%432V>LtskLBxlGCI#Era%DU%_8f>L()QQJsSv*;8rI%xU* zNwoi`rBHRyCTSr-$6t~-rGU8Fwp|*MXux3#4^#m*@~~{x83QozKmtIoSbs%nR@ji9 zaC@USY!Qbs%sK(Ugy4STEef=PUBcI@V(T`3$$&RGrm6`x3~8mmgWA@;j>?mdwoT&CO$Dg2)oRId8 z@RgLHbz{3X>j=uUslzE57Jppw`J~0ErbU%_eUBrbB0ioO^#`+`8~2B&%THWAHpC z4-kyySc*}#dz|@bf!AJ1<+K-19c#!(eW(vke$Ds^cNr1l$bVOu9?@ajJU_;4!3{p~ z6l~sDPH~A`))dG|cp`BNs@x?q$j03Q~XQ{rbn>} zHjIPmaJ|EKyuz6%GenLL9+NE+6I9uYWK$v?skIWhx6ieF#lok+v;B zj#+J|6P>mu;)V#G7n0Wcg&thP+vfIv__E-EkJ%(M2`LxAKnsWjHnqlm7SjY`u|N7} zWXQyb2iyGmO~z=HIsMVBBZ}PZHcf;M|3+0NRqvo)_-B;&uIa7gv3xEvhi+lb+8HeI z-qSCxB7d5u(2V>*BJf=2PC}x&{MhaasM>U*YLqD*e z9f(#Fun_ifnp?OhtsJ50Li>)32NNh`XJed%UsVZ4vUHD2u^jC%#}E7M4>fx$1-2Vd zXjqqVh}e4ZVwSoWJfwYEcuKIGT9Nz_6Bel|)PE6Zoz%aEP5TS(uLfRSFvZ0W&BEj6ue^QC~%MF5FwZvNt#+FjxTV_vkJu#yJio7tejB&O;P%G`5#Yjcwy@~kD`SaH z5lAPe9Jg71`CK7{+f{?B6w=1h#k>klTx*M4iO;GJ22cSW5fe3jK-iK3AW2Ar!6hhO zyb-QJ5#MN!7Sw$PodwVbM2F0dB-g-6M}Hh^VjqFybzeLs`-h5}-{!aV94R5$LY)iE z@jQxe4+oD<>I?93wOwIu^n*fkbeR3 zB%sGNvH7E{rSxKFTZlOpVQS8DpoP12&Bb^_O%HUUKRlieW94Riy?lQN3IklhbrGB3 zhfs4RA#HR2R1SIJnUQwH5i;5p`U{!_{r1$$M+DN}oN#|t4@NMXj?vzZ0=~8vp**z4c!r z)CW0N{_lHIrA|)}T+*PPm=qBmAuoc;Im@*;BUPkP%SkfeDvEZx$ypi>MipNh;d@%( z+4y)~C;RbdXAFuf&$DECAKstWn&=gl<#onGThgd9avZeSf%7k#4$&DjbBi z>8nzf`-)CJrRN0!(L9r7Fr5-T9YGcJ$UzN}05Lp;mkkWi&*xbuir4B|^WFH*%BQ_$ zRpZ=0AmBt?Iq-i(;5Wp|Vyb~lAANlHCDy6HM?-o1A_JnCo^&sLw$kfMByILlR36Kw z@;p^_&Jx#SqjMZ*B!6tF(fVmcAfODT3`t|wi#m8hSjlA}5B^^RmH&<5o6S6g(kXotJyxU)NH9$k>Y{sFb>x-dLAB=x}!6*?AKr%TxN zq*TDCQHbs&Dz$N4hNL)uCm&sUY42x?gE6=U9Ge5jN7$`GE3GXS`f8%}el~v)w<~)~ zin`oOUacXmn}1DlG$CsHM1F{_z=EK}->tZ_|R1AZ~hS-!1q-+xLM7QI%=u!>vVqF9lAn^pl` zlW2>x?TN%sY$;xB9>?7k2&Q!kEooUWU3dlvl$qFxDBb+az;lrHiDmZ_lW(2iI1IjM z>?qtgD4HTMM5V^kMfZR5ra%cF^_e@zBMu_ z{YK<6Kz|Fa&RmYqZD0Cq#|k;>Sh$UKe<4mj!RF@Ymy~aUsS0w@7YA@Anfrm~WnZqG z^g#F>b69BIo<7VWmf=o24~p#{zC8+&rKLykFW^jr-tX$#TfS!k&kc~o-zgQHJ#P-F z(a3cW-UqBAX=qI0$IGu%g#(!ZMD*TrRied*d4KpXMnhne8>iz{8l67dBC=z_=Go1C zBMZ}MMP%60T6TzJG4xQl5Qq;qMKMSco=hDwoVs)MOgIwKs8z&o>`j}@s660iESaPF zI?Od@%siR97RWf$c-FS7iRIC07RIDj#p8PNeN>*@A1n!q#saV>G;BIPfL9qO=$v|X z)PLQpGeriFm+NnWzN8$qtQ=~nb!4CXPpv}T-s>=2;p!ZK-IPz;UTV+&f^XB`l$O0Z z=}R(T8h`sVlyu92uRj(LJUV{L+V36`1T)mpVRwlsR|4qr(h%=a*4D;N2r`J+t)Of3 zO6&cq)D*_A;FAasDw-tr-pylk&CZ<}hJO<7q@+Jgf?_mN6S;nCPJApmUJep2;G*;n zUbFSOJN-v{mdBhFs}FYQs-5&$1PA{~=pT+?u3Z9nJqS}yZ)yB?x-H#E&d8eyF%cCI zuV08|_LI5K3GtNG`u`ii9iS?Aa|&U)3VVKe1zHgiX3_t&%ZQ0Jl3)pZ^nq$DB!5C! zG;72tXm^oR^_H{li`Zg}*re|AOG_#vVHG!MoCt5_p~sm1R7`94*26B*_u3Y?;N8t( zvo)|P16VHPBhScmq4!$qTk-l%vxR>E+9tUnaKT_1Lz;Nkn&ulT`dvK`M945bFd;Ar z1_dh)0|FWa00b1H+BCggi9(S|(B*NO1QhDZP4F5XKb3fcVPEOK4ab}h JaN7a`2mosH&hP*L diff --git a/keystore/docker/all-services.pem b/keystore/docker/all-services.pem new file mode 100644 index 0000000000..99c58e0950 --- /dev/null +++ b/keystore/docker/all-services.pem @@ -0,0 +1,86 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCr2SMrzj3Zg3lu +4BqDtK8u8eqD4st64sdRQTmhyDovGuL2nvp5GgSTkHCKcY+rxUtFNmYPWYa/+aIz +nYsqwjLXMxWHKvCJoWkjwNgpuD1dza7ZfTrQmCVbKU5LlusnkZ4PfBKxRVMbNX3H +WkeyOcSCzCfHhS4T/UoK9yvrhmARdhyxN93OvVT1fIGW4O5zrTbR38TGy/7JeUqh +/9NEzMNAS8j1kNbM1rUUDJlj6tpJGVy0v7qvEHGJZNk9ZIKawQNKOGy5CLPh0AJO +Ht7MPieUGA0v2uBmBCFgNiX9yCq1BAcPOf3qpVEEoOfJKrQ+Q8Suxgtr6cwZmZoU +zpifgeodAgMBAAECggEAD+btdsHEfmrIo2ZwfayMI3N2aJLlkm8G07GN9DcTj0VV +KE4ozmkGcGNGzsDYcyQ0JWj1w8jci8o9ZLpY5PGIg9pxzQq/rHS3xnuzZRTr9NCy +M+T/OstBdbCaUqtaAlTaxAMOtcG9AYEPLRHhHZBz60iaC7/6thXTsrURpt9N53+X +y7WhGcLetfudb95bbwwn8AURXZJYF78u6lgjNfXKvPORgV9dNdq8Xmae2FO+euY3 +KjM3Dz9qRvo0eAwmDxdlTEDRbC4WgXWf7g3F397stQM0Aa3/W4G6y41ir+Sv4u6E +/fqdgj7nQQczGoDnQMBbFXS14ljzeKXDXU8FTh1KzwKBgQDyAkWMz1GP32JOED9c +DQloSnceoNM4C/oWmQzjopJv6XM0C2P2oCs6q3ZyPeQxf+Vz729eXJcYl0PDSjuJ +DMlp2unrYBLqm/ff0WncEo6Ws1HZ8tXzhdgAkNnVo4Hesl/s5yvXWK62Ot079+j5 +oQT4QWP4DngyLk5j4z7uAsiMKwKBgQC1yH0OmfwTZb6KFYfJxGQQ4VJtxGNLKH6w +mp+VnFFi8p6ldvX0BsPTWGX6R0k3T8pPoEGN1uWZ7+SInEfu+Fh2I3dhikkQe+Rx +xsg4dM2Ipi/ArXP8XhxeuXHKRdPoyK/MYRn4hZPY/eDK4KSfdv7v+n0Do2W/QJM0 +i1TsJFmW1wKBgEB/Ln36eqg3RoG7fsdPiiRLRDfbcK9NMdd37qF0IEbHFrbWGkwO +H7dBHw4PRJOUnFgrhajGUFZzadHQJNG/oKYfe5wJPMFd08/IhcfrAilTnQrS1wZR +s2FjOUrgiqoJK9t9OIfp0JYsVe23glWU/jgTZUskwA/Pm4CvfYP9JemFAoGAfCDF +/EV7kodEP6gKC+WV6szha2DR6I1jTRaYaCHQlT9Uw2ni8tn3uAZBxFAPF7zdSdgF +S2R1bdMYe4wztmNQjIMVTr6Nu7rNuD9jkuF3Q5svOmN2stpUhv4cTGG4HNmE6YtY +n5Ie7eoWKJKS9uzbkmS6HtThcmIW4qdNut3rawsCgYBb92UuvwWP5fV0zNnlY76C +FeOkMFsptPmqhBz/8sLrZZ95C7raqSD0RSNDzxEnLx3EDokF3GBUuI7/68/aWXNt +4pKaTKZ/Y+SqaeV0vcgjCYYTTAJaSnarTFzcp8vMWzq/MWufv7Jf/oLOTuWPSy34 +DG3vyVXu7q8tL7F0/GJ96Q== +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIF6TCCBNGgAwIBAgIUIh7+Cdi0ufdM4hPSBUcK+cg1lTMwDQYJKoZIhvcNAQEL +BQAwgZ4xCzAJBgNVBAYTAkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlBy +YWd1ZTEUMBIGA1UEChMLWm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRp +b24gTGF5ZXIxOTA3BgNVBAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENl +cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNTEyMjkxNTA5NThaFw0zMDEyMjgxNTA5 +NThaMGoxCzAJBgNVBAYTAkNaMRAwDgYDVQQIDAdDemVjaGlhMQ8wDQYDVQQHDAZQ +cmFndWUxETAPBgNVBAoMCEJyb2FkY29tMQwwCgYDVQQLDANNU0QxFzAVBgNVBAMM +Dlpvd2UgQ29tcG9uZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +q9kjK8492YN5buAag7SvLvHqg+LLeuLHUUE5ocg6Lxri9p76eRoEk5BwinGPq8VL +RTZmD1mGv/miM52LKsIy1zMVhyrwiaFpI8DYKbg9Xc2u2X060JglWylOS5brJ5Ge +D3wSsUVTGzV9x1pHsjnEgswnx4UuE/1KCvcr64ZgEXYcsTfdzr1U9XyBluDuc602 +0d/Exsv+yXlKof/TRMzDQEvI9ZDWzNa1FAyZY+raSRlctL+6rxBxiWTZPWSCmsED +SjhsuQiz4dACTh7ezD4nlBgNL9rgZgQhYDYl/cgqtQQHDzn96qVRBKDnySq0PkPE +rsYLa+nMGZmaFM6Yn4HqHQIDAQABo4ICUDCCAkwwHQYDVR0lBBYwFAYIKwYBBQUH +AwIGCCsGAQUFBwMBMIIB6QYDVR0RBIIB4DCCAdyCCWxvY2FsaG9zdIIJMTI3LjAu +MC4xggx6YWFzLXNlcnZpY2WCDnphYXMtc2VydmljZS0yghRhcGktY2F0YWxvZy1z +ZXJ2aWNlc4IWYXBpLWNhdGFsb2ctc2VydmljZXMtMoIPY2FjaGluZy1zZXJ2aWNl +ghFjYWNoaW5nLXNlcnZpY2UtMoIRZGlzY292ZXJ5LXNlcnZpY2WCE2Rpc2NvdmVy +eS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJsZS1jbGllbnSCFWRpc2NvdmVyYWJsZS1j +bGllbnQtMYIVZGlzY292ZXJhYmxlLWNsaWVudC0yghVkaXNjb3ZlcmFibGUtY2xp +ZW50LTOCFWRpc2NvdmVyYWJsZS1jbGllbnQtNIINbW9jay1zZXJ2aWNlc4IPbW9j +ay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXByb3h5gg9nYXRld2F5LXNlcnZpY2WCEWdh +dGV3YXktc2VydmljZS0yghdjZW50cmFsLWdhdGV3YXktc2VydmljZYIZY2VudHJh +bC1nYXRld2F5LXNlcnZpY2UtMoIFYXBpbWyCB2FwaW1sLTKCEW5vZGVqcy1zYW1w +bGUtYXBwghFweXRob24tc2FtcGxlLWFwcDAdBgNVHQ4EFgQUYXbKgGVXo42/0hJQ +c92AP0zsjecwHwYDVR0jBBgwFoAUJGkuNtjHnz0uLUR9YrAaZDGIsDYwDQYJKoZI +hvcNAQELBQADggEBAE54QEacJHA5Ip5cKpIawZSlaAuWziyOGU4QPYu+/wa1UXTB +zrNSMRUjKPfpnRmFVXKS4wNYLNjV7ILAjbPm88FnyN99woEUX9aCBmO3cnELk6X0 +wWSQLblhplya6mOBhvjtwH0xdPHdEOHPY6UhYCYtH3QNEgcng3LcHQxW7AlcNW47 +GVf6MwbMRkez6MPZJQynkLfV1fx524G4T5KCXeSZexm3vN9bpBY1SmMT8cNxw1zW +OHj7qWdv1M4bc8p6DkE1XrBqx4TDm1IEsZig8hB3bQ2kxgNQIbwfxmRBkwutj72N +yjiYSIRdHauaLv0YFMy5WnMypQIQBp16BK89UbE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIID+zCCAuOgAwIBAgIES2Kd2TANBgkqhkiG9w0BAQsFADCBnjELMAkGA1UEBhMC +Q1oxDzANBgNVBAgTBlByYWd1ZTEPMA0GA1UEBxMGUHJhZ3VlMRQwEgYDVQQKEwta +b3dlIFNhbXBsZTEcMBoGA1UECxMTQVBJIE1lZGlhdGlvbiBMYXllcjE5MDcGA1UE +AxMwWm93ZSBEZXZlbG9wbWVudCBJbnN0YW5jZXMgQ2VydGlmaWNhdGUgQXV0aG9y +aXR5MB4XDTIwMTAyMDA3MzkyOVoXDTMwMTAxODA3MzkyOVowgZ4xCzAJBgNVBAYT +AkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlByYWd1ZTEUMBIGA1UEChML +Wm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRpb24gTGF5ZXIxOTA3BgNV +BAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENlcnRpZmljYXRlIEF1dGhv +cml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHkJhhd/rrtmm4B +XCU/ZMq/4F8T3QYXGnDfmRLSN2GzGpb1YEK2RaEVBBKh8QI5baiD3vSzhK1VoO3L +qEMOpPxgwoUTz8wDzf4u18i7qSREdSDTJIo9Qj5DT8w4wHpGBpFtNVU/5bTwNAPw +khg5CdRJpiOQV3O4MFmnt94VLcMQnywISja2Mv+RC3eZjr86OepDLpyfi2UuQ/Us +hKvVvUM+Bxcl9TkWzFJ6lqYvVBPo5Epa3v8qIeOfmkOzO8id5LT/AWqgOYUGFhox +4Lsvj8txOc3SYTXbY9IOrKXggX5NwhTW038j+1n1zXlVeAr5xhASymAzwbV/QQ3l +GsWig1ECAwEAAaM/MD0wDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAgQwHQYD +VR0OBBYEFCRpLjbYx589Li1EfWKwGmQxiLA2MA0GCSqGSIb3DQEBCwUAA4IBAQCt +0YxLl4u7RZkntKSBjDiQXoFL6xkzvvoEAGtNztCVW78NHgA86MkuWmQ+eBSBxHda +NzjtLHHSwFfzHaaXoc/kNS2iTyHbntKheJ6YHi6mCA71nA5m+AUS3yV+iO5qFusc +jeYXXuwbP06i2v5J/yYtEyEARl2Wo9mOCOTOAl7e+V9qhYgRh1EbWO0pYTeRpya+ +MCHI+xEPSmUaguEtxvGTdtmhDuKuS1Ndo5j72ceevy0uP5el3scsJnB1puGhQCh1 +waG/jp8kndRbB3V3YjIqbA9MxxpMzpiOC5S0uQQ3t2sqV6p4q7Dj5o4GgfDu+RK3 +EDOis6zm74HV4CIcw9Ka +-----END CERTIFICATE----- diff --git a/onboarding-enabler-nodejs-sample-app/Dockerfile b/onboarding-enabler-nodejs-sample-app/Dockerfile new file mode 100644 index 0000000000..0f6125944a --- /dev/null +++ b/onboarding-enabler-nodejs-sample-app/Dockerfile @@ -0,0 +1,45 @@ +####################################################################### +# This program and the accompanying materials are made available +# under the terms of the Eclipse Public License v2.0 which +# accompanies this distribution, and is available at +# https://www.eclipse.org/legal/epl-v20.html +# +# SPDX-License-Identifier: EPL-2.0 +# +# Copyright Contributors to the Zowe Project. +####################################################################### + +# base image tag +ARG ZOWE_BASE_IMAGE=3-ubuntu + +FROM node:20-alpine +RUN npm install -g npm@10.9.4 + +LABEL name="nodesampleapp" +LABEL vendor="Zowe" +LABEL description="NodeJS sample service for APIML onboarding" + +WORKDIR / +COPY .licence ./.licence +COPY onboarding-enabler-nodejs ./onboarding-enabler-nodejs +COPY keystore ./keystore + +WORKDIR /onboarding-enabler-nodejs +RUN npm ci --legacy-peer-deps + +WORKDIR /app +COPY package*.json ./ + +RUN pwd +RUN ls -al +RUN npm ci --legacy-peer-deps + +# ===== copy the app and config +COPY src ./src +COPY config/service-configuration.yml ./config/service-configuration.yml + +# ===== expose service port +EXPOSE 10020 + +# ===== start +CMD ["npm", "run", "start"] diff --git a/onboarding-enabler-nodejs-sample-app/package-lock.json b/onboarding-enabler-nodejs-sample-app/package-lock.json index 31f54c73fc..bbea49b482 100644 --- a/onboarding-enabler-nodejs-sample-app/package-lock.json +++ b/onboarding-enabler-nodejs-sample-app/package-lock.json @@ -13,8 +13,8 @@ "express": "4.22.1" }, "engines": { - "node": "=20.19.6", - "npm": "=10.9.4" + "node": ">=20.19.6", + "npm": ">=10.9.4" } }, "../onboarding-enabler-nodejs": { @@ -46,8 +46,8 @@ "sinon-chai": "4.0.1" }, "engines": { - "node": ">=20.19.2", - "npm": ">=10.9.2" + "node": ">=20.19.6", + "npm": ">=10.9.4" } }, "node_modules/@zowe/apiml-onboarding-enabler-nodejs": { @@ -58,6 +58,7 @@ "version": "1.3.8", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -69,25 +70,27 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -98,6 +101,7 @@ "version": "3.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -135,6 +139,7 @@ "version": "0.5.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -146,27 +151,31 @@ "version": "1.0.5", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "version": "0.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "version": "1.0.7", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -175,6 +184,7 @@ "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -183,6 +193,7 @@ "version": "1.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -205,12 +216,14 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -248,12 +261,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -304,32 +319,18 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.3.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "statuses": "2.0.1", + "statuses": "~2.0.2", "unpipe": "~1.0.0" }, "engines": { @@ -340,6 +341,7 @@ "version": "0.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -348,6 +350,7 @@ "version": "0.5.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -435,24 +438,30 @@ } }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -463,12 +472,14 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -486,6 +497,7 @@ "version": "0.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -494,6 +506,7 @@ "version": "1.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -501,7 +514,8 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -510,6 +524,7 @@ "version": "1.6.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -521,6 +536,7 @@ "version": "1.52.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -529,6 +545,7 @@ "version": "2.1.35", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -539,12 +556,14 @@ "node_modules/ms": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -565,6 +584,7 @@ "version": "2.4.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -576,6 +596,7 @@ "version": "1.3.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -590,6 +611,7 @@ "version": "2.0.7", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -599,11 +621,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -616,19 +639,21 @@ "version": "1.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" @@ -651,58 +676,55 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "0.19.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "range-parser": "~1.2.1", - "statuses": "2.0.1" + "statuses": "~2.0.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.16.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "~0.19.1" }, "engines": { "node": ">= 0.8.0" @@ -711,7 +733,8 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/side-channel": { "version": "1.1.0", @@ -786,9 +809,10 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -797,6 +821,7 @@ "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -805,6 +830,7 @@ "version": "1.6.18", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -817,6 +843,7 @@ "version": "1.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -824,7 +851,8 @@ "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -832,7 +860,8 @@ "node_modules/vary": { "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } diff --git a/onboarding-enabler-nodejs-sample-app/package.json b/onboarding-enabler-nodejs-sample-app/package.json index cc40171afc..f03f1bfdea 100755 --- a/onboarding-enabler-nodejs-sample-app/package.json +++ b/onboarding-enabler-nodejs-sample-app/package.json @@ -22,7 +22,7 @@ "tough-cookie": "5.1.2" }, "engines": { - "npm": "=10.9.4", - "node": "=20.19.6" + "npm": ">=10.9.4", + "node": ">=20.19.6" } } diff --git a/onboarding-enabler-nodejs/README.md b/onboarding-enabler-nodejs/README.md index d51b70a204..c76eca9984 100644 --- a/onboarding-enabler-nodejs/README.md +++ b/onboarding-enabler-nodejs/README.md @@ -101,12 +101,17 @@ Below is an example of the configuration. apiml.service.title: 'Zowe Sample Node Service' apiml.service.description: 'The Proxy Server is an HTTP HTTPS, and Websocket server built upon NodeJS and ExpressJS.' + ssl: + p12File: ssl/localhost.keystore.p12 + keyPassword: password + ``` + A certificate and private key (PEM format) configuration is also supported: + ```yaml ssl: certificate: ssl/localhost.keystore.cer keystore: ssl/localhost.keystore.key caFile: ssl/localhost.pem keyPassword: password - ``` Alternatively, you can also pass the config as a json to the client: ```js diff --git a/onboarding-enabler-nodejs/package-lock.json b/onboarding-enabler-nodejs/package-lock.json index 9213ef7abb..73a6bc2c93 100644 --- a/onboarding-enabler-nodejs/package-lock.json +++ b/onboarding-enabler-nodejs/package-lock.json @@ -33,29 +33,36 @@ "sinon-chai": "4.0.1" }, "engines": { - "node": ">=20.19.2", - "npm": ">=10.9.2" + "node": ">=20.19.6", + "npm": ">=10.9.4" } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.28.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -106,14 +113,13 @@ } }, "node_modules/@sinonjs/samsam": { - "version": "8.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sinonjs/samsam/-/samsam-8.0.2.tgz", - "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==", + "version": "8.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sinonjs/samsam/-/samsam-8.0.3.tgz", + "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", - "lodash.get": "^4.4.2", "type-detect": "^4.1.0" } }, @@ -142,13 +148,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.9.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-22.9.1.tgz", - "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", + "version": "25.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-25.0.3.tgz", + "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~7.16.0" } }, "node_modules/@types/vinyl": { @@ -169,14 +175,40 @@ "dev": true, "license": "ISC" }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "version": "3.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/ajv": { @@ -240,32 +272,13 @@ } }, "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "version": "1.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, "node_modules/ansi-gray": { @@ -502,6 +515,21 @@ "dev": true, "license": "MIT" }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -514,13 +542,6 @@ "js-tokens": "^3.0.2" } }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", - "dev": true, - "license": "MIT" - }, "node_modules/babel-core": { "version": "6.26.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-core/-/babel-core-6.26.3.tgz", @@ -549,40 +570,6 @@ "source-map": "^0.5.7" } }, - "node_modules/babel-core/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-core/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-core/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-core/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/babel-generator": { "version": "6.26.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-generator/-/babel-generator-6.26.1.tgz", @@ -600,16 +587,6 @@ "trim-right": "^1.0.1" } }, - "node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", @@ -808,9 +785,9 @@ "license": "MIT" }, "node_modules/babel-istanbul/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { @@ -1229,16 +1206,6 @@ "semver": "^5.3.0" } }, - "node_modules/babel-preset-env/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/babel-register": { "version": "6.26.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-register/-/babel-register-6.26.0.tgz", @@ -1298,23 +1265,6 @@ "lodash": "^4.17.4" } }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/babel-types/-/babel-types-6.26.0.tgz", @@ -1361,12 +1311,19 @@ "license": "MIT" }, "node_modules/bare-events": { - "version": "2.5.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bare-events/-/bare-events-2.5.0.tgz", - "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "version": "2.8.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", "dev": true, "license": "Apache-2.0", - "optional": true + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -1440,9 +1397,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1527,17 +1484,47 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -1559,7 +1546,7 @@ "node": ">=0.10.0" } }, - "node_modules/caller-path/node_modules/callsites": { + "node_modules/callsites": { "version": "0.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", @@ -1569,16 +1556,6 @@ "node": ">=0.10.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/camelcase/-/camelcase-6.3.0.tgz", @@ -1593,9 +1570,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001683", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001683.tgz", - "integrity": "sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==", + "version": "1.0.30001762", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", "dev": true, "funding": [ { @@ -1706,19 +1683,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/circular-json": { "version": "0.3.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/circular-json/-/circular-json-0.3.3.tgz", @@ -1728,27 +1692,24 @@ "license": "MIT" }, "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "restore-cursor": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "version": "2.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10" - } + "license": "ISC" }, "node_modules/cliui": { "version": "7.0.4", @@ -1893,9 +1854,9 @@ } }, "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "version": "1.9.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true, "license": "MIT" }, @@ -1974,9 +1935,9 @@ } }, "node_modules/coveralls/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { @@ -2059,21 +2020,13 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "2.6.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "ms": "2.0.0" } }, "node_modules/decamelize": { @@ -2168,20 +2121,35 @@ } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "1.5.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "esutils": "^2.0.2" + "esutils": "^2.0.2", + "isarray": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/each-props": { - "version": "3.0.0", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/each-props": { + "version": "3.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/each-props/-/each-props-3.0.0.tgz", "integrity": "sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==", "dev": true, @@ -2219,9 +2187,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.63", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", - "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==", + "version": "1.5.267", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, @@ -2233,9 +2201,9 @@ "license": "MIT" }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "license": "MIT", "dependencies": { @@ -2243,14 +2211,11 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -2265,6 +2230,19 @@ "node": ">= 0.4" } }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es5-ext": { "version": "0.10.64", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/es5-ext/-/es5-ext-0.10.64.tgz", @@ -2508,23 +2486,6 @@ "resolve": "^1.1.6" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/eslint-plugin-import": { "version": "1.16.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", @@ -2553,16 +2514,6 @@ "eslint": "2.x - 3.x" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "1.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/doctrine/-/doctrine-1.3.0.tgz", @@ -2576,39 +2527,51 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/eslint/node_modules/ajv": { - "version": "4.11.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "license": "MIT", "dependencies": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/eslint/node_modules/ansi-escapes": { - "version": "1.4.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/eslint/node_modules/argparse": { @@ -2621,49 +2584,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/eslint/node_modules/cli-cursor": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true, - "license": "ISC" - }, - "node_modules/eslint/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint/node_modules/esprima": { "version": "4.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esprima/-/esprima-4.0.1.tgz", @@ -2688,356 +2608,85 @@ "node": ">=4.0" } }, - "node_modules/eslint/node_modules/figures": { - "version": "1.7.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dev": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/inquirer": { - "version": "0.12.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-escapes": "^1.1.0", - "ansi-regex": "^2.0.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "readline2": "^1.0.1", - "run-async": "^0.1.0", - "rx-lite": "^3.1.2", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "dev": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "estraverse": "^5.1.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=0.10" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/onetime": { - "version": "1.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/progress": { - "version": "1.1.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/progress/-/progress-1.1.8.tgz", - "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/eslint/node_modules/restore-cursor": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", - "dev": true, - "license": "MIT", - "dependencies": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/run-async": { - "version": "0.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.3.0" - } - }, - "node_modules/eslint/node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint/node_modules/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", - "dev": true, - "license": "MIT", - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint/node_modules/table": { - "version": "3.8.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/table/-/table-3.8.3.tgz", - "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^4.7.0", - "ajv-keywords": "^1.0.0", - "chalk": "^1.1.1", - "lodash": "^4.0.0", - "slice-ansi": "0.0.4", - "string-width": "^2.0.0" - } - }, - "node_modules/eslint/node_modules/table/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/table/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/table/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/espree": { - "version": "3.5.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/espree/node_modules/acorn-jsx": { - "version": "3.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^3.0.4" - } - }, - "node_modules/espree/node_modules/acorn-jsx/node_modules/acorn": { - "version": "3.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">=4.0" } }, "node_modules/esrecurse": { @@ -3093,6 +2742,16 @@ "es5-ext": "~0.10.14" } }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/execa/-/execa-8.0.1.tgz", @@ -3264,9 +2923,9 @@ } }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { @@ -3274,19 +2933,17 @@ } }, "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "version": "1.7.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, "node_modules/file-entry-cache": { @@ -3402,18 +3059,12 @@ "node": ">=0.10.0" } }, - "node_modules/flat-cache/node_modules/write": { - "version": "0.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/write/-/write-0.2.1.tgz", - "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, "node_modules/for-in": { "version": "1.0.2", @@ -3486,7 +3137,7 @@ }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, @@ -3547,17 +3198,22 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3566,6 +3222,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/get-stream/-/get-stream-8.0.1.tgz", @@ -3590,34 +3260,38 @@ } }, "node_modules/glob": { - "version": "5.0.15", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "version": "7.2.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { + "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "2 || 3", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "version": "5.1.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, "node_modules/glob-stream": { @@ -3640,6 +3314,19 @@ "node": ">=10.13.0" } }, + "node_modules/glob-stream/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/glob-watcher": { "version": "6.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-watcher/-/glob-watcher-6.0.0.tgz", @@ -3710,13 +3397,13 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3886,6 +3573,45 @@ "node": ">=0.4.0" } }, + "node_modules/gulp-eslint/node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/gulp-eslint/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gulp-eslint/node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gulp-eslint/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -3934,6 +3660,29 @@ "node": ">=4" } }, + "node_modules/gulp-eslint/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, "node_modules/gulp-eslint/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/color-convert/-/color-convert-1.9.3.tgz", @@ -3968,16 +3717,44 @@ "node": ">=4.8" } }, - "node_modules/gulp-eslint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/gulp-eslint/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/gulp-eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, + "node_modules/gulp-eslint/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true, + "license": "MIT" + }, "node_modules/gulp-eslint/node_modules/eslint": { "version": "6.8.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint/-/eslint-6.8.0.tgz", @@ -4034,41 +3811,14 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/gulp-eslint/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/gulp-eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gulp-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/gulp-eslint/node_modules/eslint/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/gulp-eslint/node_modules/espree": { @@ -4100,14 +3850,20 @@ "node": ">=4" } }, - "node_modules/gulp-eslint/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/gulp-eslint/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, "engines": { - "node": ">=4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gulp-eslint/node_modules/file-entry-cache": { @@ -4138,26 +3894,6 @@ "node": ">=4" } }, - "node_modules/gulp-eslint/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true, - "license": "ISC" - }, - "node_modules/gulp-eslint/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/gulp-eslint/node_modules/globals": { "version": "12.4.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/globals/-/globals-12.4.0.tgz", @@ -4184,10 +3920,154 @@ "node": ">=4" } }, + "node_modules/gulp-eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/gulp-eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { @@ -4198,6 +4078,46 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/gulp-eslint/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/gulp-eslint/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/gulp-eslint/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/gulp-eslint/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gulp-eslint/node_modules/path-key": { "version": "2.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-key/-/path-key-2.0.1.tgz", @@ -4208,14 +4128,38 @@ "node": ">=4" } }, - "node_modules/gulp-eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/gulp-eslint/node_modules/progress": { + "version": "2.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6.5.0" + "node": ">=0.4.0" + } + }, + "node_modules/gulp-eslint/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-eslint/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, "node_modules/gulp-eslint/node_modules/shebang-command": { @@ -4231,14 +4175,36 @@ "node": ">=0.10.0" } }, - "node_modules/gulp-eslint/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/gulp-eslint/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-eslint/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/gulp-eslint/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/gulp-eslint/node_modules/strip-ansi": { @@ -4254,6 +4220,19 @@ "node": ">=6" } }, + "node_modules/gulp-eslint/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gulp-eslint/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/supports-color/-/supports-color-5.5.0.tgz", @@ -4267,14 +4246,48 @@ "node": ">=4" } }, - "node_modules/gulp-eslint/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/gulp-eslint/node_modules/table": { + "version": "5.4.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6.0.0" + } + }, + "node_modules/gulp-eslint/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/gulp-eslint/node_modules/write": { + "version": "1.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" } }, "node_modules/gulp-istanbul": { @@ -4416,9 +4429,9 @@ } }, "node_modules/gulp-plugin-extras/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.6.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", "engines": { @@ -4544,23 +4557,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { @@ -4681,19 +4681,16 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "3.3.10", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } + "license": "MIT" }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4707,6 +4704,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4744,107 +4751,40 @@ "license": "ISC" }, "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "version": "0.12.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/inquirer/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/interpret": { @@ -4895,9 +4835,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -4960,13 +4900,16 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/is-glob": { @@ -5137,9 +5080,9 @@ } }, "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, "license": "MIT" }, @@ -5222,10 +5165,28 @@ "dev": true, "license": "MIT" }, + "node_modules/istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/istanbul/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { @@ -5258,15 +5219,15 @@ "license": "MIT" }, "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", "dev": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/js-yaml/-/js-yaml-4.1.1.tgz", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "license": "MIT", "dependencies": { @@ -5283,6 +5244,16 @@ "dev": true, "license": "MIT" }, + "node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json-schema/-/json-schema-0.4.0.tgz", @@ -5298,13 +5269,14 @@ "license": "MIT" }, "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "version": "1.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "isarray": "^2.0.5", "jsonify": "^0.0.1", "object-keys": "^1.1.1" @@ -5323,6 +5295,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -5330,6 +5309,16 @@ "dev": true, "license": "ISC" }, + "node_modules/json5": { + "version": "0.5.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/jsonify": { "version": "0.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsonify/-/jsonify-0.0.1.tgz", @@ -5496,13 +5485,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true, - "license": "MIT" - }, "node_modules/log-driver": { "version": "1.2.7", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/log-driver/-/log-driver-1.2.7.tgz", @@ -5600,9 +5582,9 @@ } }, "node_modules/loupe": { - "version": "3.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "version": "3.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", "dev": true, "license": "MIT" }, @@ -5616,6 +5598,16 @@ "node": ">=0.10.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -5746,15 +5738,33 @@ } }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, + "node_modules/mocha/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -5812,6 +5822,26 @@ "node": ">=10" } }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/supports-color/-/supports-color-8.1.1.tgz", @@ -5829,9 +5859,9 @@ } }, "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -5849,6 +5879,24 @@ "node": ">= 6" } }, + "node_modules/multi-glob/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/mute-stdout": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mute-stdout/-/mute-stdout-2.0.0.tgz", @@ -5860,9 +5908,9 @@ } }, "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "version": "0.0.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==", "dev": true, "license": "ISC" }, @@ -5923,6 +5971,31 @@ "node": ">= 10.13" } }, + "node_modules/nock/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/nock/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, "node_modules/nopt": { "version": "3.0.6", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/nopt/-/nopt-3.0.6.tgz", @@ -6166,6 +6239,16 @@ "node": ">=6" } }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -6269,19 +6352,20 @@ } }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", "engines": { @@ -6481,11 +6565,10 @@ "license": "MIT" }, "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "version": "1.1.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/progress/-/progress-1.1.8.tgz", + "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -6501,13 +6584,16 @@ } }, "node_modules/psl": { - "version": "1.13.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/psl/-/psl-1.13.0.tgz", - "integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==", + "version": "1.15.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", "dev": true, "license": "MIT", "dependencies": { "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" } }, "node_modules/punycode": { @@ -6530,13 +6616,6 @@ "node": ">=0.6" } }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true, - "license": "MIT" - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/randombytes/-/randombytes-2.1.0.tgz", @@ -6563,20 +6642,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/readdirp/-/readdirp-3.6.0.tgz", @@ -6602,26 +6667,6 @@ "mute-stream": "0.0.5" } }, - "node_modules/readline2/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readline2/node_modules/mute-stream": { - "version": "0.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==", - "dev": true, - "license": "ISC" - }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/rechoir/-/rechoir-0.8.0.tgz", @@ -6661,6 +6706,16 @@ "private": "^0.1.6" } }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.5.0" + } + }, "node_modules/regexpu-core": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regexpu-core/-/regexpu-core-2.0.0.tgz", @@ -6774,20 +6829,6 @@ "node": ">= 6" } }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/require-directory/-/require-directory-2.1.1.tgz", @@ -6812,30 +6853,23 @@ "node": ">=0.10.0" } }, - "node_modules/require-uncached/node_modules/resolve-from": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6855,13 +6889,13 @@ } }, "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/resolve-options": { @@ -6878,51 +6912,28 @@ } }, "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/reusify": { "version": "1.1.0", @@ -6949,36 +6960,14 @@ "rimraf": "bin.js" } }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "version": "0.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.12.0" + "dependencies": { + "once": "^1.3.0" } }, "node_modules/rx-lite": { @@ -7001,24 +6990,10 @@ } }, "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "version": "5.1.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, "node_modules/safer-buffer": { @@ -7029,13 +7004,13 @@ "license": "MIT" }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "5.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" } }, "node_modules/semver-greatest-satisfied-range": { @@ -7202,58 +7177,13 @@ } }, "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "version": "0.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/source-map": { @@ -7337,18 +7267,15 @@ "license": "MIT" }, "node_modules/streamx": { - "version": "2.20.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/streamx/-/streamx-2.20.2.tgz", - "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==", + "version": "2.23.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "dev": true, "license": "MIT", "dependencies": { + "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", - "queue-tick": "^1.0.1", "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" } }, "node_modules/string_decoder": { @@ -7361,13 +7288,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-4.2.3.tgz", @@ -7393,6 +7313,16 @@ "node": ">=8" } }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7433,16 +7363,16 @@ } }, "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "version": "1.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "bin": { + "strip-json-comments": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.8.0" } }, "node_modules/supports-color": { @@ -7481,38 +7411,52 @@ "semver": "^6.3.0" } }, + "node_modules/sver/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/table": { - "version": "5.4.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "3.8.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/table/-/table-3.8.3.tgz", + "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" } }, - "node_modules/table/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/table/node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/table/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=4" + } }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "2.0.0", @@ -7525,31 +7469,30 @@ } }, "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "2.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/teex": { @@ -7563,11 +7506,14 @@ } }, "node_modules/text-decoder": { - "version": "1.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/text-decoder/-/text-decoder-1.2.1.tgz", - "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "version": "1.2.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } }, "node_modules/text-table": { "version": "0.2.0", @@ -7653,6 +7599,20 @@ "node": ">=10.13.0" } }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/trim-right": { "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/trim-right/-/trim-right-1.0.1.tgz", @@ -7720,6 +7680,16 @@ "node": ">=4" } }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typedarray/-/typedarray-0.0.6.tgz", @@ -7788,9 +7758,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "7.16.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, @@ -7958,6 +7928,13 @@ "node": ">=10.13.0" } }, + "node_modules/vinyl-sourcemap/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", @@ -8080,16 +8057,16 @@ "license": "ISC" }, "node_modules/write": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "version": "0.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/write/-/write-0.2.1.tgz", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", "dev": true, "license": "MIT", "dependencies": { "mkdirp": "^0.5.1" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/xtend": { diff --git a/onboarding-enabler-nodejs/package.json b/onboarding-enabler-nodejs/package.json index dedac31167..babe745ed3 100644 --- a/onboarding-enabler-nodejs/package.json +++ b/onboarding-enabler-nodejs/package.json @@ -52,7 +52,7 @@ ] }, "engines": { - "npm": ">=10.9.2", - "node": ">=20.19.2" + "npm": ">=10.9.4", + "node": ">=20.19.6" } } diff --git a/onboarding-enabler-nodejs/src/EurekaClient.js b/onboarding-enabler-nodejs/src/EurekaClient.js index d12068290e..d13552d6cc 100644 --- a/onboarding-enabler-nodejs/src/EurekaClient.js +++ b/onboarding-enabler-nodejs/src/EurekaClient.js @@ -640,6 +640,8 @@ export default class Eureka extends EventEmitter { cert: requestOpts.cert, key: requestOpts.key, ca: requestOpts.ca, + pfx: requestOpts.pfx, + passphrase: requestOpts.passphrase, }; this.logger.debug(`prepared options for the request ${JSON.stringify(options)}`); diff --git a/onboarding-enabler-nodejs/src/index.js b/onboarding-enabler-nodejs/src/index.js index bd39b4af3a..fc65ce2fb6 100644 --- a/onboarding-enabler-nodejs/src/index.js +++ b/onboarding-enabler-nodejs/src/index.js @@ -18,15 +18,18 @@ let caFile = null; let passPhrase = null; let client = null; let tlsOpts = null; +let p12File = null; +let config; /** * Read ssl service configuration */ function readTlsProps() { try { - const config = yaml.load(fs.readFileSync('config/service-configuration.yml', 'utf8')); + config = yaml.load(fs.readFileSync('config/service-configuration.yml', 'utf8')); certFile = config.ssl.certificate; keyFile = config.ssl.keystore; + p12File = config.ssl.p12File; caFile = config.ssl.caFile; passPhrase = config.ssl.keyPassword; } catch (e) { @@ -43,12 +46,24 @@ function init() { const defaultFile = fs.existsSync('config/service-configuration.yml'); if (defaultFile) { readTlsProps(); - tlsOpts = { - cert: fs.readFileSync(certFile), - key: fs.readFileSync(keyFile), - passphrase: passPhrase, - ca: fs.readFileSync(caFile), - }; + if (p12File) { + tlsOpts = { + pfx: fs.readFileSync(p12File), + passphrase: passPhrase, + }; + } else if (certFile && keyFile) { + tlsOpts = { + cert: fs.readFileSync(certFile), + key: fs.readFileSync(keyFile), + passphrase: passPhrase, + ca: fs.readFileSync(caFile), + }; + } else { + throw new Error( + 'Invalid TLS configuration: provide either p12File or certificate + keystore' + ); + } + client = new Eureka({ filename: 'service-configuration', cwd: 'config/', diff --git a/onboarding-enabler-python-sample-app/Dockerfile b/onboarding-enabler-python-sample-app/Dockerfile new file mode 100644 index 0000000000..862d5c9767 --- /dev/null +++ b/onboarding-enabler-python-sample-app/Dockerfile @@ -0,0 +1,42 @@ +####################################################################### +# This program and the accompanying materials are made available +# under the terms of the Eclipse Public License v2.0 which +# accompanies this distribution, and is available at +# https://www.eclipse.org/legal/epl-v20.html +# +# SPDX-License-Identifier: EPL-2.0 +# +# Copyright Contributors to the Zowe Project. +####################################################################### + +# base image tag +ARG ZOWE_BASE_IMAGE=3-ubuntu +FROM python:3.12 + +LABEL name="pythonsampleapp" +LABEL vendor="Zowe" +LABEL description="Python sample service for APIML onboarding" + +WORKDIR /usr/src +COPY onboarding-enabler-python ./onboarding-enabler-python + +WORKDIR /usr/src/app +COPY Pipfile Pipfile.lock ./ + +RUN pip install --upgrade pip pipenv \ + && pipenv sync --system + +# ===== copy the app and config +COPY src ./src +COPY src/config/service-configuration.yml ./src/config/service-configuration.yml +COPY keystore ./keystore + +RUN pwd +RUN ls -al + +# ===== expose service port +EXPOSE 10018 + +WORKDIR /usr/src/app/src +# ===== start +CMD ["python", "app.py"] diff --git a/onboarding-enabler-python-sample-app/Pipfile b/onboarding-enabler-python-sample-app/Pipfile index 9339c1e94e..f6609c5137 100644 --- a/onboarding-enabler-python-sample-app/Pipfile +++ b/onboarding-enabler-python-sample-app/Pipfile @@ -118,4 +118,4 @@ zowe-apiml-onboarding-enabler-python = {editable = true, path = "../onboarding-e [dev-packages] [requires] -python_version = "3.13" +python_version = "3.12" diff --git a/onboarding-enabler-python-sample-app/src/app.py b/onboarding-enabler-python-sample-app/src/app.py index 7d35dbf41f..8c44aac9f6 100755 --- a/onboarding-enabler-python-sample-app/src/app.py +++ b/onboarding-enabler-python-sample-app/src/app.py @@ -80,5 +80,5 @@ def get_application_health(): if __name__ == "__main__": # Load SSL configuration enabler.register() - uvicorn.run(app, host="0.0.0.0", port=10018, ssl_certfile="../../keystore/localhost/localhost.keystore.cer", - ssl_keyfile="../../keystore/localhost/localhost.keystore.key") + uvicorn.run(app, host="0.0.0.0", port=10018, ssl_certfile=cert_file, + ssl_keyfile=key_file) From 50f6ab7f5a91960323dff162dc870bf64eace630 Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Tue, 6 Jan 2026 08:56:26 -0500 Subject: [PATCH 08/71] Automatic update for the Changelog for release (#4352) Signed-off-by: Zowe Robot Signed-off-by: ac892247 Signed-off-by: nxhafa Signed-off-by: Richard Salac Co-authored-by: Zowe Robot Co-authored-by: ac892247 Co-authored-by: Andrew Jandacek Co-authored-by: nxhafa Co-authored-by: Nafi Xhafa <164854562+nxhafa@users.noreply.github.com> Co-authored-by: Richard Salac Co-authored-by: Jakub Balhar Signed-off-by: Gowtham Selvaraj --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1737202e07..32756e19c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,51 @@ All notable changes to the Zowe API Mediation Layer package will be documented in this file. +## `APIML 3.4.0 / Zowe 3.4.0 (2025-11-12)` + +* Feature: Enable opentelemetry for modulith (#4380) ([259a2fc](https://github.com/zowe/api-layer/commit/259a2fc)), closes [#4380](https://github.com/zowe/api-layer/issues/4380) +* Feature: Support keyrings with ICSF keys (#4354) ([eeb3ade](https://github.com/zowe/api-layer/commit/eeb3ade)), closes [#4354](https://github.com/zowe/api-layer/issues/4354) +* Feature: Update z/OSMF template to use the SAF provider as default (#4374) ([9e8c85c](https://github.com/zowe/api-layer/commit/9e8c85c)), closes [#4374](https://github.com/zowe/api-layer/issues/4374) +* Feature: Support multiple OIDC providers at the same time (#4295) ([801927f](https://github.com/zowe/api-layer/commit/801927f)), closes [#4295](https://github.com/zowe/api-layer/issues/4295) + +* Bugfix: Add service ID validation (#4375, #4329) ([ec4000c](https://github.com/zowe/api-layer/commit/ec4000c). [3a20fef](https://github.com/zowe/api-layer/commit/3a20fef364602d38dd7d7934ee090df8eb41320c)), closes [#4375](https://github.com/zowe/api-layer/issues/4375), [#4329](https://github.com/zowe/api-layer/pull/4392) +* Bugfix: Certificate chain parsing with Java JCA Hybrid provider (#4376) ([cccd895](https://github.com/zowe/api-layer/commit/cccd895)), closes [#4376](https://github.com/zowe/api-layer/issues/4376) +* Bugfix: Close expired connections (#4383, #4389) ([abb4c58](https://github.com/zowe/api-layer/commit/abb4c58), [0399195](https://github.com/zowe/api-layer/commit/0399195ace862feb863a837379dcaa4a43267574)), closes [#4383](https://github.com/zowe/api-layer/issues/4383), [#4389](https://github.com/zowe/api-layer/pull/4389) +* Bugfix: Correct description in API doc (#4348) ([79e67dd](https://github.com/zowe/api-layer/commit/79e67dd)), closes [#4348](https://github.com/zowe/api-layer/issues/4348) +* Bugfix: Environment variable in start.sh for ICSF (#4369) ([b607910](https://github.com/zowe/api-layer/commit/b607910)), closes [#4369](https://github.com/zowe/api-layer/issues/4369) +* Bugfix: Fix shell script from #4357 (#4382) ([778f45e](https://github.com/zowe/api-layer/commit/778f45e)), closes [#4357](https://github.com/zowe/api-layer/issues/4357) [#4382](https://github.com/zowe/api-layer/issues/4382) +* Bugfix: Fix Spel expression in case of non-defined variable (#4361) ([60c0b83](https://github.com/zowe/api-layer/commit/60c0b83)), closes [#4361](https://github.com/zowe/api-layer/issues/4361) +* Bugfix: Fix Integration tests to run with SAF auth provider (#4386) ([274b424](https://github.com/zowe/api-layer/commit/274b424)), closes [#4386](https://github.com/zowe/api-layer/issues/4386) +* Bugfix: Resolve conflicting beans (#4387) ([e551700](https://github.com/zowe/api-layer/commit/e551700)), closes [#4387](https://github.com/zowe/api-layer/issues/4387) +* Bugfix: Fix URLs for onboarding when AT-TLS is enabled (#4169) ([fc46df1](https://github.com/zowe/api-layer/commit/fc46df1)), closes [#4169](https://github.com/zowe/api-layer/issues/4169) + +## `3.3.1 (2025-10-20)` + +* Feature: Support configurable username field for OIDC tokens (#4300) ([f9711b2](https://github.com/zowe/api-layer/commit/f9711b2)), closes [#4300](https://github.com/zowe/api-layer/issues/4300) +* Feature: Support multiple OIDC providers at the same time (#4295) ([686061c](https://github.com/zowe/api-layer/commit/801927)), closes [#4321](https://github.com/zowe/api-layer/issues/4295) +* Feature: (Onboarding Nodejs Enabler) Expose Eureka class from EurekaClient for better customization control (#4311) ([ab71686](https://github.com/zowe/api-layer/commit/ab71686)), closes [#4311](https://github.com/zowe/api-layer/issues/4311) +* Feature: Support multi-value OIDC claims for userId mapping (#4308) ([d7fbaca](https://github.com/zowe/api-layer/commit/d7fbaca)), closes [#4308](https://github.com/zowe/api-layer/issues/4308) +* Feature: Support Keycloak as OIDC provider in integration tests (#4321) ([686061c](https://github.com/zowe/api-layer/commit/686061c)), closes [#4321](https://github.com/zowe/api-layer/issues/4321) + + +* Bugfix: Respect encoded slashes in redirect header (#4328) ([da9ee87](https://github.com/zowe/api-layer/commit/da9ee87)), closes [#4328](https://github.com/zowe/api-layer/issues/4328) +* Bugfix: OIDC redirectUri default in java code to prevent startup error (#4329) ([644c9c9](https://github.com/zowe/api-layer/commit/644c9c9)), closes [#4329](https://github.com/zowe/api-layer/issues/4329) +* Bugfix: z/OSMF static definition for AT-TLS (#4327) ([ca8a9ad](https://github.com/zowe/api-layer/commit/ca8a9ad)), closes [#4327](https://github.com/zowe/api-layer/issues/4327) +* Bugfix: Custom Disk Health Configuration to work properly on z/OS (#4269) ([808ec13](https://github.com/zowe/api-layer/commit/808ec13)), closes [#4269](https://github.com/zowe/api-layer/issues/4268) +* Bugfix: AT-TLS mode without reading keystore (#4271) ([67a845b](https://github.com/zowe/api-layer/commit/67a845b)), closes [#4271](https://github.com/zowe/api-layer/issues/4271) +* Bugfix: WebClient used in API Catalog does not follow redirects (#4278) ([b409870](https://github.com/zowe/api-layer/commit/b409870)), closes [#4278](https://github.com/zowe/api-layer/issues/4278) +* Bugfix: Websocket frame size configuration (#4277) ([e3754cb](https://github.com/zowe/api-layer/commit/e3754cb)), closes [#4277](https://github.com/zowe/api-layer/issues/4277) +* Bugfix: AT-TLS filter in modulith mode and Ltpa2 token (#4285) ([ce2acdc](https://github.com/zowe/api-layer/commit/ce2acdc)), closes [#4285](https://github.com/zowe/api-layer/issues/4285) +* Bugfix: Increase stomp tests connection timeout for miniplex (#4296) ([802c50b](https://github.com/zowe/api-layer/commit/802c50b)), closes [#4296](https://github.com/zowe/api-layer/issues/4296) +* Bugfix: Start caching service with disabled cert verification (#4299) ([77f1092](https://github.com/zowe/api-layer/commit/77f1092)), closes [#4299](https://github.com/zowe/api-layer/issues/4299) +* Bugfix: Cherry-pick apiml.gateway.servicesToDisableRetry to modulith (#4307) ([7a5dae4](https://github.com/zowe/api-layer/commit/7a5dae4)), closes [#4307](https://github.com/zowe/api-layer/issues/4307) +* Bugfix: API ML services log cleanup (#4284) ([c30ad60](https://github.com/zowe/api-layer/commit/c30ad60)), closes [#4284](https://github.com/zowe/api-layer/issues/4284) +* Bugfix: Update modulith version of z/OSMF static definition (#4333) ([ae110f4](https://github.com/zowe/api-layer/commit/ae110f4)), closes [#4333](https://github.com/zowe/api-layer/issues/4333) +* Bugfix: Avoid duplicate startup message (#4339) ([b4ef830](https://github.com/zowe/api-layer/commit/b4ef830)), closes [#4339](https://github.com/zowe/api-layer/issues/4339) +* Bugfix: Keep all gateways registered (#4345) ([5a87991](https://github.com/zowe/api-layer/commit/5a87991)), closes [#4345](https://github.com/zowe/api-layer/issues/4345) +* Bugfix: Fix of Tomcat customizers to be supported also by reactive framework (#4336) ([3bff245](https://github.com/zowe/api-layer/commit/3bff245)), closes [#4336](https://github.com/zowe/api-layer/issues/4336) +* Bugfix: Requirement of client certificate on ZAAS call when AT-TLS is used & add AT-TLS support to DC (#4347) ([47525ee](https://github.com/zowe/api-layer/commit/47525ee)), closes [#4347](https://github.com/zowe/api-layer/issues/4347) + ## `3.3.0 (2025-08-18)` * Feature: New configuration property **`apiml.security.forwardHeader.trustedProxies`** added to specify the regular expression pattern used to identify trusted proxies from which `X-Forwarded-*` headers are accepted and forwarded. Mitigates CVE-2025-41235. (#4171) ([ff8c81d](https://github.com/zowe/api-layer/commit/ff8c81d)), closes [#4171](https://github.com/zowe/api-layer/pull/4171) @@ -12,6 +57,7 @@ All notable changes to the Zowe API Mediation Layer package will be documented i * Feature: Certificate validation improvements (#4017) ([b45747f](https://github.com/zowe/api-layer/commit/b45747f)), closes [#4017](https://github.com/zowe/api-layer/issues/4017) * Feature: Onboarding Python Enabler (#4068) ([3f966f3](https://github.com/zowe/api-layer/commit/3f966f3)), closes [#4068](https://github.com/zowe/api-layer/issues/4068) * Feature: Eureka client connection timeout (#4045) ([0e3c116](https://github.com/zowe/api-layer/commit/0e3c116)), closes [#4045](https://github.com/zowe/api-layer/issues/4045) +* Feature: Disable retry for configured services (#4265) ([1fbde4c](https://github.com/zowe/api-layer/commit/1fbde4c)), closes [#4265](https://github.com/zowe/api-layer/issues/4245) * Bugfix: Gateway returns empty auth keys from z/OSMF when **`apiml.security.auth.zosmf.jwtAutoconfiguration`** is set to **`jwt`**. (#4108) ([738915e](https://github.com/zowe/api-layer/commit/738915e)), closes [#4092](https://github.com/zowe/api-layer/issues/4092) From 3aa4c35423e0b0419e5671f774d6e847ce78ef6f Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Thu, 8 Jan 2026 09:53:41 +0100 Subject: [PATCH 09/71] chore: failing build process (#4448) Signed-off-by: ac892247 Signed-off-by: Gowtham Selvaraj --- .github/actions/setup/action.yml | 2 +- .github/workflows/automated-release.yml | 2 +- api-catalog-ui/frontend/.env | 2 +- apiml/build.gradle | 2 +- .../apiml/acceptance/AvailabilityTest.java | 40 ++++++++++--------- gradle.properties | 2 +- 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 3a8d90da22..b9998bb8d9 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -19,7 +19,7 @@ runs: uses: actions/setup-node@v4 with: node-version: '20' - - run: npm install -g npm@10.7.0 + - run: npm install -g npm@10.9.4 shell: bash - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/.github/workflows/automated-release.yml b/.github/workflows/automated-release.yml index 9e78b216b3..77e0fcf983 100644 --- a/.github/workflows/automated-release.yml +++ b/.github/workflows/automated-release.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: inputs: scope: - description: 'Specify scope that is to be used.' + description: 'Version component to increment for the next SNAPSHOT (patch: x.y.Z, minor: x.Y.0, major: X.0.0)' required: true type: choice options: diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index 95dd82179b..27d5723011 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.4.11-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.0-SNAPSHOT diff --git a/apiml/build.gradle b/apiml/build.gradle index 697c4dcad3..42237884e3 100644 --- a/apiml/build.gradle +++ b/apiml/build.gradle @@ -124,7 +124,7 @@ bootRun { debugOptions { port = 5009 - suspend = true + suspend = false server = true } diff --git a/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java b/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java index 92a480c34a..ef5f53826b 100644 --- a/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java +++ b/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java @@ -10,8 +10,9 @@ package org.zowe.apiml.acceptance; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Profile; @@ -19,7 +20,10 @@ import org.springframework.web.server.i18n.FixedLocaleContextResolver; import org.springframework.web.server.i18n.LocaleContextResolver; +import java.util.concurrent.TimeUnit; + import static io.restassured.RestAssured.given; +import static org.awaitility.Awaitility.await; /** * This test requires port 10011 available for DS port test @@ -29,23 +33,23 @@ @ActiveProfiles({ "ApimlModulithAcceptanceTest", "AvailabilityTest" }) public class AvailabilityTest extends AcceptanceTestWithBasePath { - @Test - void gatewayIsAvailable() { - given() - .when() - .get("https://localhost:" + port) - .then() - .log().all() - .statusCode(200); - } - - @Test - void discoveryIsAvailable() { - given() - .when() - .get("https://localhost:10011") - .then() - .statusCode(401); + @ParameterizedTest(name = "{0} is available at port {1} with status {2}") + @CsvSource({ + "Gateway, 0, 200", + "Discovery, 10011, 401" + }) + void serviceIsAvailable(String serviceName, int servicePort, int expectedStatus) { + int actualPort = servicePort == 0 ? port : servicePort; + await().atMost(30, TimeUnit.SECONDS) + .pollInterval(500, TimeUnit.MILLISECONDS) + .ignoreExceptions() + .untilAsserted(() -> + given() + .when() + .get("https://localhost:" + actualPort) + .then() + .statusCode(expectedStatus) + ); } @Profile("AvailabilityTest") diff --git a/gradle.properties b/gradle.properties index e122b7500b..ac8bfaabb3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.4.11-SNAPSHOT +version=3.5.0-SNAPSHOT cleanNodeModules=false cleanNode=false From 3331d0aa65109a73694b0c96dc2a9980464c09c7 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Thu, 8 Jan 2026 09:39:23 +0000 Subject: [PATCH 10/71] [Gradle Release plugin] [skip ci] Before tag commit 'v3.5.0'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ac8bfaabb3..f7586106c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.0-SNAPSHOT +version=3.5.0 cleanNodeModules=false cleanNode=false From d0bcee0288ccb1f004689dbaef6389bba7f968b6 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Thu, 8 Jan 2026 09:39:25 +0000 Subject: [PATCH 11/71] [Gradle Release plugin] Create new version: 'v3.5.1-SNAPSHOT'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f7586106c2..9c4133cac0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.0 +version=3.5.1-SNAPSHOT cleanNodeModules=false cleanNode=false From 113f4cf6354d539cd4817a79c585e1bf32a35d44 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Thu, 8 Jan 2026 09:39:26 +0000 Subject: [PATCH 12/71] [skip ci] Update version Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index 27d5723011..512c0ba1af 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.5.0-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.1-SNAPSHOT From 2f9e14988ee4676384bac1365884dd602c769809 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 9 Jan 2026 00:45:30 +0000 Subject: [PATCH 13/71] [Gradle Release plugin] [skip ci] Before tag commit 'v3.5.1'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 9c4133cac0..09dbb8f19a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.1-SNAPSHOT +version=3.5.1 cleanNodeModules=false cleanNode=false From 51bf96ef16a2507120bf8c6ac60273556436ed91 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 9 Jan 2026 00:45:31 +0000 Subject: [PATCH 14/71] [Gradle Release plugin] Create new version: 'v3.5.2-SNAPSHOT'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 09dbb8f19a..cb0f395248 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.1 +version=3.5.2-SNAPSHOT cleanNodeModules=false cleanNode=false From c750887020319b63cb62f70ad777ed76bc1a23ff Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 9 Jan 2026 00:45:32 +0000 Subject: [PATCH 15/71] [skip ci] Update version Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index 512c0ba1af..4b2c11c64e 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.5.1-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.2-SNAPSHOT From 6040e4eebe8da439aa93a790c4701074630dad02 Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Fri, 9 Jan 2026 11:18:41 +0100 Subject: [PATCH 16/71] chore: publish apiml image (#4439) Signed-off-by: ac892247 Signed-off-by: Gowtham Selvaraj --- .github/workflows/build-conformant-images.yml | 6 +++--- gradle/versions.gradle | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-conformant-images.yml b/.github/workflows/build-conformant-images.yml index 220190f969..45264caf3c 100644 --- a/.github/workflows/build-conformant-images.yml +++ b/.github/workflows/build-conformant-images.yml @@ -45,7 +45,7 @@ jobs: create-image-all-services-amd64: strategy: matrix: - service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service ] + service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service, apiml-service ] os: [ ubuntu, ubi ] runs-on: ubuntu-latest if: ${{ inputs.service == 'all' }} @@ -86,7 +86,7 @@ jobs: strategy: max-parallel: 1 matrix: - service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service ] + service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service, apiml-service ] os: [ ubuntu, ubi ] runs-on: ubuntu-latest if: ${{ inputs.service == 'all' }} @@ -137,7 +137,7 @@ jobs: - create-image-all-services-s390x strategy: matrix: - service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service ] + service: [ discovery-service, api-catalog-services, caching-service, gateway-service, zaas-service, apiml-service ] os: [ ubuntu, ubi ] runs-on: ubuntu-latest if: ${{ inputs.service == 'all' }} diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 11431fb1c4..0eac58a5c3 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -2,8 +2,8 @@ dependencyResolutionManagement { versionCatalogs { libs { // for node projects - version('projectNode', '20.14.0') - version('projectNpm', '10.7.0') + version('projectNode', '20.19.6') + version('projectNpm', '10.9.4') version('springBoot', '3.5.8') version('springBootGraphQl', '3.5.8') From e125f991e7c778113caa9d051aa1b85dc83aa6f5 Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Wed, 14 Jan 2026 12:32:51 +0100 Subject: [PATCH 17/71] fix: disable hostname validation (#4452) Signed-off-by: ac892247 Signed-off-by: Gowtham Selvaraj --- .../common/config/WebClientConfig.java | 34 +---------- .../security/common/util/ConnectionUtil.java | 26 ++++++++- .../common/util/ConnectionUtilTest.java | 57 +++++++++++++++++++ .../gateway/config/ConnectionsConfig.java | 4 ++ .../ApiMediationServiceConfigReaderTest.java | 2 +- ...figuration_ip-address-null_UnknownHost.yml | 2 +- 6 files changed, 87 insertions(+), 38 deletions(-) diff --git a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/config/WebClientConfig.java b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/config/WebClientConfig.java index e0505499dc..7dc58c91d3 100644 --- a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/config/WebClientConfig.java +++ b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/config/WebClientConfig.java @@ -10,18 +10,11 @@ package org.zowe.apiml.security.common.config; -import io.netty.handler.ssl.SslContext; -import io.netty.resolver.DefaultAddressResolverGroup; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.web.ServerProperties; -import org.springframework.cloud.gateway.config.HttpClientCustomizer; -import org.springframework.cloud.gateway.config.HttpClientFactory; -import org.springframework.cloud.gateway.config.HttpClientProperties; -import org.springframework.cloud.gateway.config.HttpClientSslConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -32,9 +25,8 @@ import org.zowe.apiml.product.web.HttpConfig; import org.zowe.apiml.security.HttpsConfigError; import org.zowe.apiml.security.common.util.ConnectionUtil; -import reactor.netty.http.client.HttpClient; -import java.util.List; +import reactor.netty.http.client.HttpClient; @Slf4j @Configuration @@ -49,30 +41,6 @@ public class WebClientConfig { @Value("${server.attlsClient.enabled:false}") private boolean isClientAttlsEnabled; - @Bean - HttpClientFactory gatewayHttpClientFactory( - HttpClientProperties properties, - ServerProperties serverProperties, List customizers, - HttpClientSslConfigurer sslConfigurer - ) { - SslContext sslContext; - try { - sslContext = ConnectionUtil.getSslContext(config, false); - } catch (Exception e) { - apimlLog.log("org.zowe.apiml.common.sslContextInitializationError", e.getMessage()); - throw new HttpsConfigError("Error initializing SSL Context: " + e.getMessage(), e, - HttpsConfigError.ErrorCode.HTTP_CLIENT_INITIALIZATION_FAILED, config.httpsConfig()); - } - return new HttpClientFactory(properties, serverProperties, sslConfigurer, customizers) { - @Override - protected HttpClient createInstance() { - return super.createInstance() - .secure(sslContextSpec -> sslContextSpec.sslContext(sslContext)) - .resolver(DefaultAddressResolverGroup.INSTANCE); - } - }; - } - HttpClient getHttpClient(HttpClient httpClient, boolean useClientCert) { try { return ConnectionUtil.getHttpClient(config, httpClient, useClientCert); diff --git a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/ConnectionUtil.java b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/ConnectionUtil.java index 612493416d..7433790204 100644 --- a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/ConnectionUtil.java +++ b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/ConnectionUtil.java @@ -54,19 +54,21 @@ public SslContext getSslContext(HttpConfig config, boolean setKeystore) throws C var keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); if (setKeystore) { - log.info("Loading keystore: {}: {}", config.getKeyStoreType(), config.getKeyStorePath()); + log.debug("Loading keystore: {}: {}", config.getKeyStoreType(), config.getKeyStorePath()); var keyStore = SecurityUtils.loadKeyStore( config.getKeyStoreType(), config.getKeyStorePath(), config.getKeyStorePassword()); keyManagerFactory.init(keyStore, config.getKeyStorePassword()); builder.keyManager(x509KeyManagerSelectedAlias(config, keyManagerFactory)); } else { + log.debug("ConnectionUtil.getSslContext - no keystore: using empty keystore"); var emptyKeystore = KeyStore.getInstance(KeyStore.getDefaultType()); emptyKeystore.load(null, null); keyManagerFactory.init(emptyKeystore, null); builder.keyManager(keyManagerFactory); } - if (config.isVerifySslCertificatesOfServices() && config.isNonStrictVerifySslCertificatesOfServices()) { + if (!isHostnameVerificationEnabled(config)) { + log.debug("ConnectionUtil.getSslContext - NONSTRICT mode: disabling endpointIdentificationAlgorithm"); builder.endpointIdentificationAlgorithm(null); } @@ -75,12 +77,30 @@ public SslContext getSslContext(HttpConfig config, boolean setKeystore) throws C public HttpClient getHttpClient(HttpConfig config, HttpClient httpClient, boolean useClientCert) throws UnrecoverableKeyException, CertificateException, IOException, NoSuchAlgorithmException, KeyStoreException { var sslContextBuilder = SslProvider.builder().sslContext(ConnectionUtil.getSslContext(config, useClientCert)); - if (!config.isNonStrictVerifySslCertificatesOfServices()) { + log.debug("ConnectionUtil.getHttpClient - SSL config: verifySslCertificatesOfServices={}, nonStrictVerifySslCertificatesOfServices={}, hostnameVerificationEnabled={}, useClientCert={}", + config.isVerifySslCertificatesOfServices(), + config.isNonStrictVerifySslCertificatesOfServices(), + isHostnameVerificationEnabled(config), + useClientCert); + if (isHostnameVerificationEnabled(config)) { + log.debug("ConnectionUtil.getHttpClient - hostname verification enabled"); sslContextBuilder.handlerConfigurator(HttpClientSecurityUtils.HOSTNAME_VERIFICATION_CONFIGURER); + } else { + log.debug("ConnectionUtil.getHttpClient - hostname verification disabled"); + sslContextBuilder.handlerConfigurator(handler -> { + var sslEngine = handler.engine(); + var sslParameters = sslEngine.getSSLParameters(); + sslParameters.setEndpointIdentificationAlgorithm(null); + sslEngine.setSSLParameters(sslParameters); + }); } return httpClient.secure(sslContextBuilder.build()); } + private boolean isHostnameVerificationEnabled(HttpConfig config) { + return config.isVerifySslCertificatesOfServices() && !config.isNonStrictVerifySslCertificatesOfServices(); + } + @VisibleForTesting public X509KeyManager x509KeyManagerSelectedAlias(HttpConfig config, KeyManagerFactory keyManagerFactory) { return new ConnectionUtil.X509KeyManagerSelectedAlias(keyManagerFactory, config.getKeyAlias()); diff --git a/apiml-security-common/src/test/java/org/zowe/apiml/security/common/util/ConnectionUtilTest.java b/apiml-security-common/src/test/java/org/zowe/apiml/security/common/util/ConnectionUtilTest.java index e0d81d1165..df7b2e42da 100644 --- a/apiml-security-common/src/test/java/org/zowe/apiml/security/common/util/ConnectionUtilTest.java +++ b/apiml-security-common/src/test/java/org/zowe/apiml/security/common/util/ConnectionUtilTest.java @@ -12,13 +12,16 @@ import io.netty.handler.ssl.SslContextBuilder; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.test.util.ReflectionTestUtils; import org.zowe.apiml.product.web.HttpConfig; +import reactor.netty.http.client.HttpClient; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.TrustManagerFactory; @@ -30,7 +33,9 @@ import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; @@ -51,6 +56,7 @@ void setUp() { when(httpConfig.getTrustStoreType()).thenReturn("PKCS12"); when(httpConfig.getTrustStorePath()).thenReturn("../keystore/localhost/localhost.truststore.p12"); when(httpConfig.getTrustStorePassword()).thenReturn("password".toCharArray()); //NOSONAR + when(httpConfig.isVerifySslCertificatesOfServices()).thenReturn(true); } @Test @@ -114,4 +120,55 @@ void whenNonStrict_thenDisableEndpointIdentificationAlgorithm() throws Unrecover } + @Nested + class WhenGetHttpClient { + + @Test + void whenHostnameVerificationEnabled_thenEnableEndpointIdentificationAlgorithm() throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + when(httpConfig.isVerifySslCertificatesOfServices()).thenReturn(true); + when(httpConfig.isNonStrictVerifySslCertificatesOfServices()).thenReturn(false); + HttpClient baseHttpClient = HttpClient.create(); + HttpClient result = ConnectionUtil.getHttpClient(httpConfig, baseHttpClient, false); + + assertEquals("HTTPS", ReflectionTestUtils.getField(result.configuration().sslProvider().getSslContext(), "endpointIdentificationAlgorithm")); + } + + @Test + void whenUseClientCertTrueAndHostnameVerificationStrict_thenEnableEndpointIdentificationAlgorithm() throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + when(httpConfig.isVerifySslCertificatesOfServices()).thenReturn(true); + when(httpConfig.isNonStrictVerifySslCertificatesOfServices()).thenReturn(false); + when(httpConfig.getKeyStoreType()).thenReturn("PKCS12"); + when(httpConfig.getKeyStorePath()).thenReturn("../keystore/localhost/localhost.keystore.p12"); + when(httpConfig.getKeyStorePassword()).thenReturn("password".toCharArray()); //NOSONAR + + HttpClient baseHttpClient = HttpClient.create(); + HttpClient result = ConnectionUtil.getHttpClient(httpConfig, baseHttpClient, true); + + assertEquals("HTTPS", ReflectionTestUtils.getField(result.configuration().sslProvider().getSslContext(), "endpointIdentificationAlgorithm")); + } + + @Test + void whenHostnameVerificationDisabled_thenDisableEndpointIdentificationAlgorithm() throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + when(httpConfig.isVerifySslCertificatesOfServices()).thenReturn(true); + when(httpConfig.isNonStrictVerifySslCertificatesOfServices()).thenReturn(true); + + HttpClient baseHttpClient = HttpClient.create(); + HttpClient result = ConnectionUtil.getHttpClient(httpConfig, baseHttpClient, false); + + assertNull(ReflectionTestUtils.getField(result.configuration().sslProvider().getSslContext(), "endpointIdentificationAlgorithm")); + } + + @Test + void whenVerifySslDisabled_thenDisableEndpointIdentificationAlgorithm() throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + when(httpConfig.isVerifySslCertificatesOfServices()).thenReturn(false); + when(httpConfig.isNonStrictVerifySslCertificatesOfServices()).thenReturn(false); + + HttpClient baseHttpClient = HttpClient.create(); + HttpClient result = ConnectionUtil.getHttpClient(httpConfig, baseHttpClient, false); + + assertNull(ReflectionTestUtils.getField(result.configuration().sslProvider().getSslContext(), "endpointIdentificationAlgorithm")); + } + + } + } diff --git a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java index e9da616a8f..e24d0e11dd 100644 --- a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java +++ b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java @@ -111,6 +111,10 @@ public class ConnectionsConfig { @Bean NettyRoutingFilterApiml createNettyRoutingFilterApiml(HttpClient httpClient, ObjectProvider> headersFiltersProvider, HttpClientProperties properties) { boolean isKeyLoadPrevented = StringUtils.isBlank(config.getKeyStorePath()) && isClientAttlsEnabled; + log.debug("ConnectionsConfig.createNettyRoutingFilterApiml - Creating routing filter with SSL config: verifySslCertificatesOfServices={}, nonStrictVerifySslCertificatesOfServices={}, isKeyLoadPrevented={}", + config.isVerifySslCertificatesOfServices(), + config.isNonStrictVerifySslCertificatesOfServices(), + isKeyLoadPrevented); try { return new NettyRoutingFilterApiml( ConnectionUtil.getHttpClient(config, httpClient, false), diff --git a/onboarding-enabler-java/src/test/java/org/zowe/apiml/eurekaservice/client/util/ApiMediationServiceConfigReaderTest.java b/onboarding-enabler-java/src/test/java/org/zowe/apiml/eurekaservice/client/util/ApiMediationServiceConfigReaderTest.java index 60cc3bb066..8bd6fbab4e 100644 --- a/onboarding-enabler-java/src/test/java/org/zowe/apiml/eurekaservice/client/util/ApiMediationServiceConfigReaderTest.java +++ b/onboarding-enabler-java/src/test/java/org/zowe/apiml/eurekaservice/client/util/ApiMediationServiceConfigReaderTest.java @@ -238,7 +238,7 @@ void testLoadConfiguration_IpAddressIsNull_bad_baseUrl() { } @Test - void testLoadConfiguration_IpAddressIsNull_UnknownHost() { + void testLoadConfiguration_IpAddressIsNull_andUnknownHostAsBaseUrl_thenThrowException() { String internalFileName = "/additional-service-configuration_ip-address-null_UnknownHost.yml"; ApiMediationServiceConfigReader apiMediationServiceConfigReader = new ApiMediationServiceConfigReader(); diff --git a/onboarding-enabler-java/src/test/resources/additional-service-configuration_ip-address-null_UnknownHost.yml b/onboarding-enabler-java/src/test/resources/additional-service-configuration_ip-address-null_UnknownHost.yml index 9d0e9594b4..aa81b7992a 100644 --- a/onboarding-enabler-java/src/test/resources/additional-service-configuration_ip-address-null_UnknownHost.yml +++ b/onboarding-enabler-java/src/test/resources/additional-service-configuration_ip-address-null_UnknownHost.yml @@ -1,7 +1,7 @@ serviceId: service title: HelloWorld Spring REST API description: POC for exposing a Spring REST API -baseUrl: http://blah.blah.blah.com:10021/hellospring +baseUrl: http://uknownhostexception:10021/hellospring preferIpAddress: true homePageRelativeUrl: / From 22250424c0b56ea06cccb3c468adcba930eb85fc Mon Sep 17 00:00:00 2001 From: Nafi Xhafa <164854562+nxhafa@users.noreply.github.com> Date: Wed, 14 Jan 2026 14:33:22 +0100 Subject: [PATCH 18/71] chore: Fix flaky tests (#4449) Signed-off-by: nxhafa Signed-off-by: Andrea Tabone Co-authored-by: Andrea Tabone Co-authored-by: Andrea Tabone <39694626+taban03@users.noreply.github.com> Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .github/workflows/integration-tests.yml | 2 +- .../cypress/e2e/graphql/graphql-apiml.cy.js | 12 +-- config/local-multi/discovery-service-1.yml | 2 +- config/local-multi/discovery-service-2.yml | 2 +- integration-tests/build.gradle | 1 + .../gateway/CentralRegistryTest.java | 98 ++++++++++++------- .../integration/ha/AuthenticationHaTest.java | 60 ++++++++++-- .../proxy/MultipartPutIntegrationTest.java | 36 ++++++- .../integration/proxy/StompProxyTest.java | 13 ++- .../org/zowe/apiml/util/SecurityUtils.java | 16 ++- .../zowe/apiml/util/config/ConfigReader.java | 7 +- .../config/GatewayServiceConfiguration.java | 3 + .../apiml/util/http/HttpRequestUtils.java | 4 + .../environment-configuration-ha.yml | 2 +- .../service/AuthenticationService.java | 16 ++- .../service/AuthenticationServiceTest.java | 62 +++++++----- 16 files changed, 233 insertions(+), 103 deletions(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 17f146716f..66d9e7c41b 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -516,7 +516,7 @@ jobs: - name: Run CI Tests With SAF Provider run: > - ./gradlew :integration-tests:runContainerSAFProviderTests --info -Denvironment.config=-ha + ENV_CONFIG=ha ./gradlew :integration-tests:runContainerSAFProviderTests --info -Denvironment.config=-ha -Partifactory_user=${{ secrets.ARTIFACTORY_USERNAME }} -Partifactory_password=${{ secrets.ARTIFACTORY_PASSWORD }} - uses: ./.github/actions/dump-jacoco if: always() diff --git a/api-catalog-ui/frontend/cypress/e2e/graphql/graphql-apiml.cy.js b/api-catalog-ui/frontend/cypress/e2e/graphql/graphql-apiml.cy.js index ea6ec1e6ef..73e14ee7f1 100644 --- a/api-catalog-ui/frontend/cypress/e2e/graphql/graphql-apiml.cy.js +++ b/api-catalog-ui/frontend/cypress/e2e/graphql/graphql-apiml.cy.js @@ -163,10 +163,6 @@ describe('>>> GraphiQL Playground page test', () => { cy.get('.graphiql-dialog-header h2').should('be.visible').should('contain', 'Settings'); }); - // Skip flaky tests in the microservice setup - if (Cypress.env('microservices')) { - return; - } it('Variable usage', () => { login(); cy.contains('Discoverable client with GraphQL').click(); @@ -177,7 +173,9 @@ describe('>>> GraphiQL Playground page test', () => { const variable = '{"id" :"book-1"}'; - cy.get('.graphiql-editor-tool').first() + cy.get('.graphiql-editor-tool .cm-s-graphiql').first().as('variablesInput').click(); + + cy.get('@variablesInput').first() .type(variable, {parseSpecialCharSequences: false}); cy.get('.graphiql-editor-tool').then(($container) => { @@ -196,7 +194,9 @@ describe('>>> GraphiQL Playground page test', () => { const header = '{"X-Custom-Header": "CustomValue"}'; - cy.get('.graphiql-editor-tool').first() + cy.get('.graphiql-editor-tool .cm-s-graphiql').last().as('headersInput').click(); + + cy.get('@headersInput').first() .type(header, {parseSpecialCharSequences: false}); cy.get('.graphiql-editor-tool').then(($container) => { diff --git a/config/local-multi/discovery-service-1.yml b/config/local-multi/discovery-service-1.yml index 40b08e2a9e..a2435dc347 100644 --- a/config/local-multi/discovery-service-1.yml +++ b/config/local-multi/discovery-service-1.yml @@ -19,7 +19,7 @@ spring: enabled: always --- -spring.profiles: https +spring.config.activate.on-profile: https eureka: client: instanceInfoReplicationIntervalSeconds: 30 diff --git a/config/local-multi/discovery-service-2.yml b/config/local-multi/discovery-service-2.yml index 156949e411..d4486ebf87 100644 --- a/config/local-multi/discovery-service-2.yml +++ b/config/local-multi/discovery-service-2.yml @@ -19,7 +19,7 @@ spring: enabled: always --- -spring.profiles: https +spring.config.activate.on-profile: https eureka: client: instanceInfoReplicationIntervalSeconds: 30 diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index be31ed7b8d..35331f7680 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -248,6 +248,7 @@ task runAllIntegrationTestsForZoweHaTestingOnZos(type: Test) { 'GatewayCentralRegistry', 'SafIdTokenTest', 'ChaoticHATest', + 'RateLimitTest', 'GraphQLTest' ) } diff --git a/integration-tests/src/test/java/org/zowe/apiml/functional/gateway/CentralRegistryTest.java b/integration-tests/src/test/java/org/zowe/apiml/functional/gateway/CentralRegistryTest.java index 544f754b61..865ce6e7d3 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/functional/gateway/CentralRegistryTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/functional/gateway/CentralRegistryTest.java @@ -27,29 +27,22 @@ import org.zowe.apiml.product.constants.CoreService; import org.zowe.apiml.util.TestWithStartedInstances; import org.zowe.apiml.util.categories.DiscoverableClientDependentTest; -import org.zowe.apiml.util.config.ConfigReader; -import org.zowe.apiml.util.config.DiscoveryServiceConfiguration; -import org.zowe.apiml.util.config.ServiceConfiguration; -import org.zowe.apiml.util.config.SslContext; -import org.zowe.apiml.util.config.SslContextConfigurer; -import org.zowe.apiml.util.config.TlsConfiguration; - -import java.net.MalformedURLException; +import org.zowe.apiml.util.config.*; + import java.net.URI; -import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import static io.restassured.RestAssured.given; import static io.restassured.RestAssured.with; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.springframework.http.HttpHeaders.ACCEPT; import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; import static org.zowe.apiml.util.SecurityUtils.GATEWAY_TOKEN_COOKIE_NAME; @@ -170,33 +163,64 @@ private ValidatableResponse listEurekaApps() { .contentType(ContentType.JSON); } - @Test - void shouldContainCorrectBasePaths() throws MalformedURLException, URISyntaxException { - URI containers = new URL(conf.getScheme(), conf.getHost(), conf.getPort(), APIML_CONTAINER_PATH) - .toURI(); + private String callContainers() { + try { + URI containers = new URL( + conf.getScheme(), + conf.getHost(), + conf.getPort(), + APIML_CONTAINER_PATH + ).toURI(); + + final String jwt = gatewayToken(); + + return with().given() + .header(ACCEPT, APPLICATION_JSON_VALUE) + .cookie(GATEWAY_TOKEN_COOKIE_NAME, jwt) + .get(containers) + .then() + .statusCode(200) + .contentType("application/json") + .extract() + .body() + .asString(); + + } catch (Exception e) { + throw new RuntimeException("Failed to call containers endpoint", e); + } + } - final String jwt = gatewayToken(); - String responseBody = with().given() - .header(ACCEPT, APPLICATION_JSON_VALUE) - .cookie(GATEWAY_TOKEN_COOKIE_NAME, jwt) - .get(containers) - .then() - .statusCode(200) - .contentType("application/json") - .extract() - .body() - .asString(); - - DocumentContext jsonContext = JsonPath.parse(responseBody); - - JSONArray gatewayBasePath = jsonContext.read("$[0].services[?(@.serviceId == 'gateway')].basePath"); - assertNotNull(gatewayBasePath, String.format("BasePath for central gw should not be null but it was '%s'", gatewayBasePath)); - assertFalse(gatewayBasePath.isEmpty(), String.format("BasePath for central gw should not be empty but it was '%s'", gatewayBasePath)); - assertEquals("/", gatewayBasePath.get(0)); - JSONArray domainGatewayBasePath = jsonContext.read("$[0].services[?(@.serviceId == 'domain-apiml')].basePath"); - assertNotNull(domainGatewayBasePath, String.format("BasePath for domain gw should not be null but it was '%s'", domainGatewayBasePath)); - assertFalse(domainGatewayBasePath.isEmpty(), String.format("BasePath for domain gw should not be empty but it was '%s'", domainGatewayBasePath)); - assertEquals("/" + DOMAIN_APIML, domainGatewayBasePath.get(0)); + @Test + void shouldContainCorrectBasePaths() { + + await() + .atMost(60, TimeUnit.SECONDS) + .pollInterval(1, TimeUnit.SECONDS) + .untilAsserted(() -> { + + String body = callContainers(); + DocumentContext json = JsonPath.parse(body); + + JSONArray centralGatewayBasePath = + json.read( + "$[*].services[?(@.serviceId == 'gateway')].basePath" + ); + + assertThat(centralGatewayBasePath) + .withFailMessage("Central gateway basePath not ready yet. Payload:\n%s", body) + .isNotEmpty(); + assertEquals("/", centralGatewayBasePath.get(0)); + + JSONArray domainGatewayBasePath = + json.read( + "$[*].services[?(@.serviceId == 'domain-apiml')].basePath" + ); + + assertThat(domainGatewayBasePath) + .withFailMessage("Domain gateway basePath not ready yet. Payload:\n%s", body) + .isNotEmpty(); + assertEquals("/domain-apiml", domainGatewayBasePath.get(0)); + }); } @SneakyThrows diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/ha/AuthenticationHaTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/AuthenticationHaTest.java index 5ddcf10a62..747e11b906 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/integration/ha/AuthenticationHaTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/AuthenticationHaTest.java @@ -19,25 +19,36 @@ import org.zowe.apiml.util.categories.HATest; import org.zowe.apiml.util.config.ConfigReader; import org.zowe.apiml.util.config.GatewayServiceConfiguration; +import org.zowe.apiml.util.config.ServiceConfiguration; +import org.zowe.apiml.util.config.ZaasConfiguration; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.zowe.apiml.util.SecurityUtils.assertIfLogged; import static org.zowe.apiml.util.SecurityUtils.getConfiguredSslConfig; +import static org.zowe.apiml.util.http.HttpRequestUtils.getUriFromZaas; import static org.zowe.apiml.util.requests.Endpoints.ROUTED_LOGOUT; /** * In initial version, basic logout test to verify token invalidation in HA scenarios - * */ @HATest @Tag("SAFProviderTest") class AuthenticationHaTest { + private static final String ZAAS_QUERY = "/zaas/api/v1/auth/query"; private static final GatewayServiceConfiguration GATEWAY_CONF = ConfigReader.environmentConfiguration().getGatewayServiceConfiguration(); + private static final ZaasConfiguration ZAAS_CONF = ConfigReader.environmentConfiguration().getZaasConfiguration(); + private List errors; @BeforeEach void setUp() { RestAssured.useRelaxedHTTPSValidation(); RestAssured.config = RestAssured.config().sslConfig(getConfiguredSslConfig()); + errors = new ArrayList<>(); } @Nested @@ -49,27 +60,56 @@ class WhenUserLogOut { @Test void thenTokenIsInvalidatedInBoth() { var jwt = SecurityUtils.gatewayToken(); + var gatewayHosts = getHosts(GATEWAY_CONF); + var zaasHosts = getHosts(ZAAS_CONF); assertIfLogged(jwt, true); // Logout on any instance - SecurityUtils.logoutOnGateway(SecurityUtils.getGatewayUrl(getGatewayHosts()[0], ROUTED_LOGOUT), jwt); - - // Verify token is invalid in one or more Gateway instances - var gatewayHosts = getGatewayHosts(); - for (String host : gatewayHosts) { - SecurityUtils.assertIfLogged(jwt, false, host); + SecurityUtils.logoutOnGateway(SecurityUtils.getGatewayUrl(gatewayHosts[0], ROUTED_LOGOUT), jwt); + + // Verify token is invalid in one or more Gateway and ZAAS instances. Do this twice + for (int i = 0; i < 2; i++) { + assertIfGatewayLogged(jwt, false, gatewayHosts[0]); + // On Modulith setup ZAAS_CONF can be null + if (zaasHosts != null) { + assertIfZaasLogged(jwt, false, zaasHosts[0]); + } + + assertIfGatewayLogged(jwt, false, gatewayHosts[1]); + if (zaasHosts != null && zaasHosts.length > 1) { + assertIfZaasLogged(jwt, false, zaasHosts[1]); + } } + assertTrue( + errors.isEmpty(), + () -> "Errors:\n" + errors.stream() + .map(Throwable::getMessage) + .collect(Collectors.joining("\n")) + ); } + } + } + private void assertIfGatewayLogged(String jwt, boolean logged, String gatewayHost) { + try { + SecurityUtils.assertIfLogged(jwt, logged, gatewayHost); + } catch (Throwable error) { + errors.add(new Throwable(gatewayHost, error)); } + } + private void assertIfZaasLogged(String jwt, boolean logged, String zaasHost) { + try { + SecurityUtils.assertIfLogged(jwt, logged, getUriFromZaas(ZAAS_QUERY, zaasHost)); + } catch (Throwable error) { + errors.add(new Throwable(zaasHost, error)); + } } - // assume only two gateway (or apiml) instances - private String[] getGatewayHosts() { - return GATEWAY_CONF.getHost().split(","); + private String[] getHosts(ServiceConfiguration serviceConfiguration) { + return serviceConfiguration == null ? null : serviceConfiguration.getHost().split(","); } } diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/MultipartPutIntegrationTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/MultipartPutIntegrationTest.java index 77686f631c..041dde5eae 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/MultipartPutIntegrationTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/MultipartPutIntegrationTest.java @@ -11,6 +11,8 @@ package org.zowe.apiml.integration.proxy; import io.restassured.RestAssured; +import io.restassured.config.HttpClientConfig; +import io.restassured.config.RestAssuredConfig; import io.restassured.parsing.Parser; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Nested; @@ -23,6 +25,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; +import java.util.Objects; import java.util.Random; import static io.restassured.RestAssured.given; @@ -33,7 +36,7 @@ class MultipartPutIntegrationTest implements TestWithStartedInstances { private final String configFileName = "example.txt"; private final ClassLoader classLoader = ClassLoader.getSystemClassLoader(); - private URI url = HttpRequestUtils.getUriFromGateway(DISCOVERABLE_MULTIPART); + private final URI url = HttpRequestUtils.getUriFromGateway(DISCOVERABLE_MULTIPART); @BeforeAll static void beforeClass() { @@ -51,8 +54,8 @@ void givenPutRequest() { given(). contentType("multipart/form-data"). - multiPart(new File(classLoader.getResource(configFileName).getFile())). - expect(). + multiPart(new File(Objects.requireNonNull(classLoader.getResource(configFileName)).getFile())). + expect(). statusCode(200). body("fileName", equalTo("example.txt")). body("fileType", equalTo("application/octet-stream")). @@ -66,8 +69,8 @@ void givenPostRequest() { given(). contentType("multipart/form-data"). - multiPart(new File(classLoader.getResource(configFileName).getFile())). - expect(). + multiPart(new File(Objects.requireNonNull(classLoader.getResource(configFileName)).getFile())). + expect(). statusCode(200). body("fileName", equalTo("example.txt")). body("fileType", equalTo("application/octet-stream")). @@ -79,8 +82,16 @@ void givenPostRequest() { @Test void givenLargeFileUpload() { int payloadSize = 750 * 1024 * 1024; //750MB + //disable the retry to avoid NonRepeatableRequestException and increase the timeout to fix the flakiness + RestAssuredConfig config = RestAssured.config() + .httpClient(HttpClientConfig.httpClientConfig() + .setParam("http.connection.timeout", 300000) + .setParam("http.socket.timeout", 300000) + .setParam("http.method.retry-handler", (org.apache.http.client.HttpRequestRetryHandler) + (exception, executionCount, context) -> false)); given() + .config(config) .multiPart( "file", "largefile.dat", @@ -113,6 +124,21 @@ public int read() throws IOException { count++; return random.nextInt(256); } + + @Override + public int read(byte[] b) throws IOException { + return read(b, 0, b.length); + } + + @Override + public int read(byte[] b, int off, int len) { + if (count >= targetSize) return -1; + long remaining = targetSize - count; + int toRead = (int) Math.min(len, remaining); + random.nextBytes(b); + count += toRead; + return toRead; + } } } } diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/StompProxyTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/StompProxyTest.java index 3574d2188b..f0a6caf951 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/StompProxyTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/proxy/StompProxyTest.java @@ -19,8 +19,10 @@ import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.messaging.WebSocketStompClient; import org.zowe.apiml.util.SecurityUtils; +import org.zowe.apiml.util.config.ConfigReader; import java.lang.reflect.Type; +import java.util.Optional; import java.util.UUID; import java.util.concurrent.CompletableFuture; @@ -32,11 +34,20 @@ public class StompProxyTest extends WebSocketProxyTest { private static final String SEND_ENDPOINT = "/app/replyWithSameSize/"; private static final String SUBSCRIBE_ENDPOINT = "/topic/replyWithSameSize/"; + private static final int DEFAULT_CONNECTION_TIMEOUT = 5; private static WebSocketStompClient stompClient; private CompletableFuture completableFuture; + final int connectionTimeout = + Optional.ofNullable( + ConfigReader.environmentConfiguration() + .getGatewayServiceConfiguration() + .getConnectionTimeout() + ) + .orElse(DEFAULT_CONNECTION_TIMEOUT); + @BeforeAll public static void setUpStompClient() { WebSocketContainer container = ContainerProvider.getWebSocketContainer(); @@ -60,7 +71,7 @@ void stompOverWebsocketLargeMessageExchange() throws Exception { StompSession stompSession = stompClient.connectAsync( discoverableClientGatewayUrl(DISCOVERABLE_STOMP), VALID_AUTH_HEADERS, new StompSessionHandlerAdapter() { - }).get(5, SECONDS); // lower connection timeout fails on z/os test system + }).get(connectionTimeout, SECONDS); // lower connection timeout fails on z/os test system stompSession.subscribe(SUBSCRIBE_ENDPOINT + uuid, new StringStompFrameHandler()); char c = 'A'; diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/SecurityUtils.java b/integration-tests/src/test/java/org/zowe/apiml/util/SecurityUtils.java index 871a0b7e6c..a4457f656e 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/SecurityUtils.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/SecurityUtils.java @@ -679,23 +679,19 @@ public static SSLContext getSslContext() { } public static void assertIfLogged(String jwt, boolean logged) { - final HttpStatus status = logged ? HttpStatus.OK : HttpStatus.UNAUTHORIZED; - - given() - .header(HttpHeaders.AUTHORIZATION, "Bearer " + jwt) - .when() - .get(HttpRequestUtils.getUriFromGateway(ROUTED_QUERY)) - .then() - .statusCode(status.value()); + assertIfLogged(jwt, logged, HttpRequestUtils.getUriFromGateway(ROUTED_QUERY)); } public static void assertIfLogged(String jwt, boolean logged, String gatewayHost) { - final HttpStatus status = logged ? HttpStatus.OK : HttpStatus.UNAUTHORIZED; + assertIfLogged(jwt, logged, HttpRequestUtils.getUriFromGateway(ROUTED_QUERY, gatewayHost)); + } + public static void assertIfLogged(String jwt, boolean logged, URI uri) { + final HttpStatus status = logged ? HttpStatus.OK : HttpStatus.UNAUTHORIZED; given() .header(HttpHeaders.AUTHORIZATION, "Bearer " + jwt) .when() - .get(HttpRequestUtils.getUriFromGateway(ROUTED_QUERY, gatewayHost)) + .get(uri) .then() .statusCode(status.value()); } diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/config/ConfigReader.java b/integration-tests/src/test/java/org/zowe/apiml/util/config/ConfigReader.java index e56d96a6be..881e417944 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/config/ConfigReader.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/config/ConfigReader.java @@ -63,7 +63,7 @@ public static EnvironmentConfiguration environmentConfiguration() { log.warn("Can't read service configuration from resource file, using default: http://localhost:10010", e); Credentials credentials = new Credentials("user", "user"); GatewayServiceConfiguration gatewayServiceConfiguration - = new GatewayServiceConfiguration("https", "localhost", null, 10010, 10010, 1, "10010", ROUTED_SERVICE, 20, "zosmf"); + = new GatewayServiceConfiguration("https", "localhost", null, 10010, 10010, 1, "10010", ROUTED_SERVICE, 20, "zosmf", 5); CentralGatewayServiceConfiguration centralGatewayServiceConfiguration = new CentralGatewayServiceConfiguration("https", "localhost", 10010); ZaasConfiguration zaasConfiguration = new ZaasConfiguration("https", "localhost", 10023, 1); DiscoveryServiceConfiguration discoveryServiceConfiguration = new DiscoveryServiceConfiguration("https", "eureka", "password", "localhost","localhost", 10011,10021, 1); @@ -117,7 +117,10 @@ public static EnvironmentConfiguration environmentConfiguration() { configuration.getGatewayServiceConfiguration().setServicesEndpoint(System.getProperty("gateway.servicesEndpoint", configuration.getGatewayServiceConfiguration().getServicesEndpoint())); configuration.getGatewayServiceConfiguration().setBucketCapacity(parseInt(System.getProperty("gateway.bucketCapacity", String.valueOf(configuration.getGatewayServiceConfiguration().getBucketCapacity())))); configuration.getGatewayServiceConfiguration().setAuthProvider(System.getProperty("gateway.authProvider", configuration.getGatewayServiceConfiguration().getAuthProvider())); - + String timeoutProp = System.getProperty("gateway.connectionTimeout"); + if (timeoutProp != null) { + configuration.getGatewayServiceConfiguration().setConnectionTimeout(Integer.parseInt(timeoutProp)); + } CentralGatewayServiceConfiguration config = configuration.getCentralGatewayServiceConfiguration(); Optional.ofNullable(config).ifPresent(c -> { c.setScheme(System.getProperty("centralgateway.scheme", config.getScheme())); diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/config/GatewayServiceConfiguration.java b/integration-tests/src/test/java/org/zowe/apiml/util/config/GatewayServiceConfiguration.java index 507a5d3f89..d67ba797f4 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/config/GatewayServiceConfiguration.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/config/GatewayServiceConfiguration.java @@ -10,6 +10,7 @@ package org.zowe.apiml.util.config; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -17,6 +18,7 @@ @Data @AllArgsConstructor @NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) public class GatewayServiceConfiguration implements ServiceConfiguration { private String scheme; private String host; @@ -28,4 +30,5 @@ public class GatewayServiceConfiguration implements ServiceConfiguration { private String servicesEndpoint; private int bucketCapacity; private String authProvider; + private Integer connectionTimeout; } diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/http/HttpRequestUtils.java b/integration-tests/src/test/java/org/zowe/apiml/util/http/HttpRequestUtils.java index c360c9376a..af9fa1567f 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/http/HttpRequestUtils.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/http/HttpRequestUtils.java @@ -140,4 +140,8 @@ public static Optional getUriFromZaas(String endpoint, NameValuePair...argu .map(zaasConfig -> getUriFromService(zaasConfig, endpoint, arguments)); } + public static URI getUriFromZaas(String endpoint, String zaasHostname, NameValuePair...arguments) { + return getUriFromService(ConfigReader.environmentConfiguration().getZaasConfiguration(), endpoint, s -> zaasHostname, arguments); + } + } diff --git a/integration-tests/src/test/resources/environment-configuration-ha.yml b/integration-tests/src/test/resources/environment-configuration-ha.yml index 5c729f1eaa..5ef2f26c12 100644 --- a/integration-tests/src/test/resources/environment-configuration-ha.yml +++ b/integration-tests/src/test/resources/environment-configuration-ha.yml @@ -14,7 +14,7 @@ gatewayServiceConfiguration: authProvider: zosmf zaasConfiguration: scheme: https - host: zaas-service + host: zaas-service,zaas-service-2 port: 10023 discoveryServiceConfiguration: scheme: https diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/AuthenticationService.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/AuthenticationService.java index 1531d8950c..276cb6e6ab 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/AuthenticationService.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/AuthenticationService.java @@ -153,7 +153,7 @@ private String createJWT(String username, String issuer, Map cla newClaims.setIssuedAt(NumericDate.fromMilliseconds(issuedAt)); newClaims.setSubject(username); if (claims != null) { - claims.entrySet().forEach(entry -> newClaims.setClaim(entry.getKey(), entry.getValue())); + claims.forEach(newClaims::setClaim); } var jws = new JsonWebSignature(); @@ -180,6 +180,9 @@ public QueryResponse parseJwtWithSignature(String jwt) { } /** + * TODO consider the following scenarios during the fix: + * * Cache hit on CACHE_INVALIDATED_JWT_TOKENS with return true -> method is not executed -> CacheEvict on CACHE_VALIDATION_JWT_TOKEN does not happen + * * Cache miss on CACHE_INVALIDATED_JWT_TOKENS -> method is executed and return is false -> CacheEvict on CACHE_VALIDATION_JWT_TOKEN happens nevertheless * Method will invalidate jwtToken. It could be called from two reasons: * - on logout phase (distribute = true) * - from another ZAAS instance to notify about change (distribute = false) @@ -268,6 +271,8 @@ private boolean invalidateTokenOnAnotherInstance(String jwtToken, Application ap } final String myInstanceId = eurekaClient.getApplicationInfoManager().getInfo().getInstanceId(); + boolean returnValue = Boolean.TRUE; + for (final InstanceInfo instanceInfo : application.getInstances()) { if (StringUtils.equals(myInstanceId, instanceInfo.getInstanceId())) { continue; @@ -277,12 +282,13 @@ private boolean invalidateTokenOnAnotherInstance(String jwtToken, Application ap try { restTemplate.delete(url); } catch (HttpClientErrorException e) { - log.debug("Problem invalidating token on another instance url " + url, e); + log.debug("Problem invalidating token on another instance url {}", url, e); + returnValue = Boolean.FALSE; } } - return Boolean.TRUE; + return returnValue; } /** @@ -331,7 +337,7 @@ private JWTClaimsSet validateAndParseLocalJwtToken(String jwtToken) { * - it uses validation via REST directly in z/OSMF *

* Method uses cache to speedup validation. In case of invalidating jwtToken in z/OSMF without Zowe, method - * can return still true until cache will expired or be evicted. + * can return still true until cache will expire or be evicted. * * @param jwtToken token to verification * @return true if token is still valid, otherwise false @@ -363,7 +369,7 @@ public TokenAuthentication validateJwtToken(String jwtToken) { * @param jwtToken token of user * @return authenticated {@link TokenAuthentication} using information about invalidating of token */ - @CachePut(value = "validationJwtToken", key = "#jwtToken", condition = "#jwtToken != null") + @CachePut(value = CACHE_VALIDATION_JWT_TOKEN, key = "#jwtToken", condition = "#jwtToken != null") public TokenAuthentication createTokenAuthentication(String user, String jwtToken) { final TokenAuthentication out = new TokenAuthentication(user, jwtToken, TokenAuthentication.Type.JWT); // without a proxy cache aspect is not working, thus it is necessary get bean from application context diff --git a/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/AuthenticationServiceTest.java b/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/AuthenticationServiceTest.java index 35137e4b55..f2bc1eee16 100644 --- a/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/AuthenticationServiceTest.java +++ b/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/AuthenticationServiceTest.java @@ -38,6 +38,7 @@ import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; import org.zowe.apiml.constants.ApimlConstants; import org.zowe.apiml.product.constants.CoreService; @@ -61,30 +62,12 @@ import java.text.ParseException; import java.time.Clock; import java.time.Instant; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; +import java.util.*; import java.util.function.Consumer; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.lenient; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) public class AuthenticationServiceTest { //NOSONAR, needs to be public @@ -443,7 +426,7 @@ void givenTokenWasNotInvalidateOnAnotherInstance_thenRethrowException() { stubJWTSecurityForSign(); authConfigurationProperties.getTokenProperties().setIssuer(ZOSMF); String token = authService.createJwtToken("user", "dom", null); - Mockito.doThrow(new BadCredentialsException("Invalid Credentials")).when(zosmfService).invalidate(ZosmfService.TokenType.JWT, token); + doThrow(new BadCredentialsException("Invalid Credentials")).when(zosmfService).invalidate(ZosmfService.TokenType.JWT, token); Exception exception = assertThrows(BadCredentialsException.class, () -> { authService.invalidateJwtToken(token, false); @@ -472,7 +455,7 @@ void givenTokenWasAlreadyInvalidateOnAnotherInstance_thenReturnInvalidatedTrue() authConfigurationProperties.getTokenProperties().setIssuer(ZOSMF); String token = authService.createJwtToken("user", DOMAIN, null); doNothing().when(restTemplate).delete("http://localhost:0/zaas/api/v1/auth/invalidate/" + token); - Mockito.doThrow(new BadCredentialsException("Invalid Credentials")).when(zosmfService).invalidate(ZosmfService.TokenType.JWT, token); + doThrow(new BadCredentialsException("Invalid Credentials")).when(zosmfService).invalidate(ZosmfService.TokenType.JWT, token); assertTrue(authService.invalidateJwtToken(token, true)); } @@ -675,6 +658,39 @@ void whenInstancesAvailable_thenReturnSuccess() { verify(restTemplate, times(1)).delete(EurekaUtils.getUrl(instanceInfo) + "/zaas/api/v1/auth/invalidate/{}", "b"); } + @Test + void givenHttpClientErrorOnInvalidateAnotherInstance_thenReturnFalse() { + String token = "jwtToken"; + + Application application = mock(Application.class); + ApplicationInfoManager applicationInfoManager = mock(ApplicationInfoManager.class); + + InstanceInfo myInstance = mock(InstanceInfo.class); + InstanceInfo otherInstance = mock(InstanceInfo.class); + + when(eurekaClient.getApplication(CoreService.ZAAS.getServiceId())) + .thenReturn(application); + + when(eurekaClient.getApplicationInfoManager()) + .thenReturn(applicationInfoManager); + + when(applicationInfoManager.getInfo()) + .thenReturn(myInstance); + + when(myInstance.getInstanceId()) + .thenReturn("myInstance"); + + when(application.getInstances()) + .thenReturn(List.of(myInstance, otherInstance)); + + doThrow(HttpClientErrorException.BadRequest.class) + .when(restTemplate) + .delete(anyString()); + + assertFalse(authService.invalidateJwtToken(token, true)); + + } + } } From c995a20f45a7d15f2b495523e3ba35320dde37bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Jare=C5=A1?= <58428711+pavel-jares-bcm@users.noreply.github.com> Date: Wed, 14 Jan 2026 17:38:11 +0100 Subject: [PATCH 19/71] fix: Fix error message during the shutdown of the Discovery service (#4390) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pavel Jareš Signed-off-by: Gowtham Selvaraj --- .../apiml/discovery/config/EurekaConfig.java | 65 +++++++++++++++---- .../discovery/config/EurekaConfigTest.java | 51 +++++++++++++++ 2 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 discovery-service/src/test/java/org/zowe/apiml/discovery/config/EurekaConfigTest.java diff --git a/discovery-service/src/main/java/org/zowe/apiml/discovery/config/EurekaConfig.java b/discovery-service/src/main/java/org/zowe/apiml/discovery/config/EurekaConfig.java index 693708332e..6316729b93 100644 --- a/discovery-service/src/main/java/org/zowe/apiml/discovery/config/EurekaConfig.java +++ b/discovery-service/src/main/java/org/zowe/apiml/discovery/config/EurekaConfig.java @@ -10,15 +10,17 @@ package org.zowe.apiml.discovery.config; -import com.netflix.appinfo.ApplicationInfoManager; import com.netflix.discovery.EurekaClient; import com.netflix.discovery.EurekaClientConfig; +import com.netflix.eureka.DefaultEurekaServerContext; import com.netflix.eureka.EurekaServerConfig; +import com.netflix.eureka.EurekaServerContextHolder; import com.netflix.eureka.cluster.PeerEurekaNodes; -import com.netflix.eureka.registry.PeerAwareInstanceRegistry; import com.netflix.eureka.resources.ServerCodecs; import com.netflix.eureka.transport.EurekaServerHttpClientFactory; +import com.netflix.eureka.util.EurekaMonitors; import jakarta.ws.rs.client.ClientRequestFilter; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; @@ -26,6 +28,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.Primary; import org.zowe.apiml.discovery.ApimlInstanceRegistry; import org.zowe.apiml.discovery.eureka.RefreshablePeerEurekaNodes; @@ -37,6 +40,7 @@ * Configuration to rewrite default Eureka's implementation with custom one */ @Configuration +@Slf4j public class EurekaConfig { @Value("${apiml.discovery.serviceIdPrefixReplacer:#{null}}") @@ -47,29 +51,62 @@ public class EurekaConfig { @Bean @Primary - public ApimlInstanceRegistry getApimlInstanceRegistry( + public ApimlInstanceRegistry apimlInstanceRegistry( EurekaServerConfig serverConfig, EurekaClientConfig clientConfig, ServerCodecs serverCodecs, EurekaClient eurekaClient, EurekaServerHttpClientFactory eurekaServerHttpClientFactory, InstanceRegistryProperties instanceRegistryProperties, - ApplicationContext appCntx) { + ApplicationContext appCntx, + Collection replicationClientAdditionalFilters, + @Qualifier("secureSslContext") SSLContext secureSslContext + ) { eurekaClient.getApplications(); // force initialization - return new ApimlInstanceRegistry(serverConfig, clientConfig, serverCodecs, eurekaClient, eurekaServerHttpClientFactory, instanceRegistryProperties, appCntx, new Tuple(tuple)); + + var apimlInstanceRegistry = new ApimlInstanceRegistry(serverConfig, clientConfig, serverCodecs, eurekaClient, eurekaServerHttpClientFactory, instanceRegistryProperties, appCntx, new Tuple(tuple)); + + var applicationInfoManager = eurekaClient.getApplicationInfoManager(); + + PeerEurekaNodes peerEurekaNodes = new RefreshablePeerEurekaNodes( + apimlInstanceRegistry, + serverConfig, + clientConfig, + serverCodecs, + applicationInfoManager, + replicationClientAdditionalFilters, + secureSslContext, + maxPeerRetries + ); + + var serverContext = new DefaultEurekaServerContext( + serverConfig, + serverCodecs, + apimlInstanceRegistry, + peerEurekaNodes, + applicationInfoManager + ); + + EurekaServerContextHolder.initialize(serverContext); + + serverContext.initialize(); + log.info("Initialized server context"); + + // Copy registry from neighboring eureka node + //int registryCount = apimlInstanceRegistry.syncUp(); + //apimlInstanceRegistry.openForTraffic(applicationInfoManager, registryCount); + + // Register all monitoring statistics. + EurekaMonitors.registerAllStats(); + + return apimlInstanceRegistry; } @Bean @Primary - public PeerEurekaNodes peerEurekaNodes( - PeerAwareInstanceRegistry registry, ServerCodecs serverCodecs, - Collection replicationClientAdditionalFilters, - ApplicationInfoManager applicationInfoManager, EurekaServerConfig eurekaServerConfig, - EurekaClientConfig eurekaClientConfig, @Qualifier("secureSslContext") SSLContext secureSslContext - ) { - return new RefreshablePeerEurekaNodes(registry, eurekaServerConfig, - eurekaClientConfig, serverCodecs, applicationInfoManager, - replicationClientAdditionalFilters, secureSslContext, maxPeerRetries); + @DependsOn("apimlInstanceRegistry") + public PeerEurekaNodes peerEurekaNodes() { + return EurekaServerContextHolder.getInstance().getServerContext().getPeerEurekaNodes(); } public static class Tuple { diff --git a/discovery-service/src/test/java/org/zowe/apiml/discovery/config/EurekaConfigTest.java b/discovery-service/src/test/java/org/zowe/apiml/discovery/config/EurekaConfigTest.java new file mode 100644 index 0000000000..32e40a5a90 --- /dev/null +++ b/discovery-service/src/test/java/org/zowe/apiml/discovery/config/EurekaConfigTest.java @@ -0,0 +1,51 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.discovery.config; + +import com.netflix.eureka.cluster.PeerEurekaNodes; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.util.ReflectionTestUtils; +import org.zowe.apiml.discovery.ApimlInstanceRegistry; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; + +class EurekaConfigTest { + + @Nested + @SpringBootTest + class Initialization { + + @Autowired + private PeerEurekaNodes peerEurekaNodes; + + @Autowired + private ApimlInstanceRegistry apimlInstanceRegistry; + + @Test + void givenDefaultConfiguration_whenInitialize_thenPeerEurekaNodesIsAvailable() { + assertNotNull(peerEurekaNodes); + } + + @Test + void givenDefaultConfiguration_whenInitialize_thenApimlInstanceRegistryIsFullyConfigured() { + assertNotNull(apimlInstanceRegistry); + var setPeerEurekaNodes = ReflectionTestUtils.getField(apimlInstanceRegistry, "peerEurekaNodes"); + assertNotNull(setPeerEurekaNodes); + assertSame(peerEurekaNodes, setPeerEurekaNodes); + } + + } + +} From 716e1df7e5cc47cbca4723bd4150bd5cd91745f4 Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Thu, 15 Jan 2026 13:37:44 +0100 Subject: [PATCH 20/71] chore: schedule image release (#4453) Signed-off-by: ac892247 Signed-off-by: achmelo <37397715+achmelo@users.noreply.github.com> Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .github/workflows/image-specific-release.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/image-specific-release.yml b/.github/workflows/image-specific-release.yml index 9e1e3aaa8d..8a23cc7c39 100644 --- a/.github/workflows/image-specific-release.yml +++ b/.github/workflows/image-specific-release.yml @@ -1,20 +1,31 @@ name: Image specific release on: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: '0 0 * * 5' workflow_dispatch: inputs: release_version: - description: 'The version that is going to be release' - required: true + description: 'The version that is going to be released (leave empty to use version from gradle.properties)' + required: false jobs: build-services: runs-on: ubuntu-latest + outputs: + version: ${{ steps.get-version.outputs.version }} steps: - uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} + - name: Get version from gradle.properties + id: get-version + run: | + VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | sed 's/-SNAPSHOT//') + echo "version=$VERSION" >> $GITHUB_OUTPUT + - uses: ./.github/actions/setup - name: Build services @@ -27,7 +38,7 @@ jobs: - build-services uses: zowe/api-layer/.github/workflows/build-conformant-images.yml@v3.x.x with: - version: ${{ github.event.inputs.release_version }} + version: ${{ github.event.inputs.release_version || needs.build-services.outputs.version }} secrets: registry-user: ${{ secrets.ARTIFACTORY_X_USERNAME }} registry-password: ${{ secrets.ARTIFACTORY_X_PASSWORD }} From f3a128451f130b210ec86e45f4ba8d82ec10806f Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 16 Jan 2026 00:47:02 +0000 Subject: [PATCH 21/71] [Gradle Release plugin] [skip ci] Before tag commit 'v3.5.2'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index cb0f395248..882ef0cbec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.2-SNAPSHOT +version=3.5.2 cleanNodeModules=false cleanNode=false From 8dbefcf8e9b8ff8720319f1c4ba45559619abcc2 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 16 Jan 2026 00:47:04 +0000 Subject: [PATCH 22/71] [Gradle Release plugin] Create new version: 'v3.5.3-SNAPSHOT'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 882ef0cbec..5f7d9b8be3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.2 +version=3.5.3-SNAPSHOT cleanNodeModules=false cleanNode=false From 6a003ca59e8ee1d0c93fac70670ba1599cfb2fbc Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 16 Jan 2026 00:47:05 +0000 Subject: [PATCH 23/71] [skip ci] Update version Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index 4b2c11c64e..c1a949f8d8 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.5.2-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.3-SNAPSHOT From fdcca510822ad546c06ef707a84939b05efa706d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sala=C4=8D?= Date: Fri, 16 Jan 2026 16:00:31 +0100 Subject: [PATCH 24/71] chore: Change nodejs enabler sample app port (#4455) Signed-off-by: Richard Salac Signed-off-by: Gowtham Selvaraj --- .../enabler-test-files/testEnabler4.yaml | 8 +++--- .../nodejs-service/service-configuration.yml | 10 +++---- docs/local-configuration.md | 8 +++--- .../Dockerfile | 2 +- .../README.md | 4 +-- .../config/service-configuration.yml | 10 +++---- .../src/index.js | 2 +- onboarding-enabler-nodejs/README.md | 28 +++++++++---------- 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/api-catalog-ui/frontend/cypress/fixtures/enabler-test-files/testEnabler4.yaml b/api-catalog-ui/frontend/cypress/fixtures/enabler-test-files/testEnabler4.yaml index 21b98c1cf9..a3fb596539 100644 --- a/api-catalog-ui/frontend/cypress/fixtures/enabler-test-files/testEnabler4.yaml +++ b/api-catalog-ui/frontend/cypress/fixtures/enabler-test-files/testEnabler4.yaml @@ -10,16 +10,16 @@ eureka: instance: app: ${serviceId} vipAddress: ${serviceId} - instanceId: localhost:hwexpress:10020 + instanceId: localhost:hwexpress:10039 homePageUrl: ${homePageRelativeUrl} hostname: localhost ipAddr: 127.0.0.1 secureVipAddress: ${serviceId} port: - $: "10020" + $: "10039" "@enabled": false securePort: - $: "10020" + $: "10039" "@enabled": true dataCenterInfo: "@class": com.test @@ -33,7 +33,7 @@ instance: apiml.routes.api_v1.serviceUrl: ${routes.serviceUrl} apiml.apiInfo.0.apiId: test.test apiml.apiInfo.0.gatewayUrl: ${routes.gatewayUrl} - apiml.apiInfo.0.swaggerUrl: http://localhost:10020/swagger.json + apiml.apiInfo.0.swaggerUrl: http://localhost:10039/swagger.json apiml.service.title: Test Service apiml.service.description: a service for testing ssl: diff --git a/config/docker/nodejs-service/service-configuration.yml b/config/docker/nodejs-service/service-configuration.yml index 5e856ab9ff..9a9e36b584 100644 --- a/config/docker/nodejs-service/service-configuration.yml +++ b/config/docker/nodejs-service/service-configuration.yml @@ -12,16 +12,16 @@ eureka: instance: app: hwexpress vipAddress: hwexpress - instanceId: nodejs-sample-app:hwexpress:10020 - homePageUrl: https://nodejs-sample-app:10020/ + instanceId: nodejs-sample-app:hwexpress:10039 + homePageUrl: https://nodejs-sample-app:10039/ hostName: 'nodejs-sample-app' ipAddr: '127.0.0.1' secureVipAddress: hwexpress port: - $: 10020 + $: 10039 '@enabled': false securePort: - $: 10020 + $: 10039 '@enabled': "true" dataCenterInfo: @@ -36,7 +36,7 @@ instance: apiml.routes.api_v1.serviceUrl: "/api/v1" apiml.apiInfo.0.apiId: org.zowe.hwexpress apiml.apiInfo.0.gatewayUrl: "api/v1" - apiml.apiInfo.0.swaggerUrl: https://nodejs-sample-app:10020/swagger.json + apiml.apiInfo.0.swaggerUrl: https://nodejs-sample-app:10039/swagger.json apiml.service.title: 'Zowe Sample Node Service' apiml.service.description: 'The Proxy Server is an HTTP HTTPS, and Websocket server built upon NodeJS and ExpressJS.' diff --git a/docs/local-configuration.md b/docs/local-configuration.md index bb41104081..3dd776dfb3 100644 --- a/docs/local-configuration.md +++ b/docs/local-configuration.md @@ -77,10 +77,10 @@ To run onboarding-enabler-nodejs-sample-app, follow the steps below: 2. 2. Navigate to [https://localhost:10011]([https://localhost:10011]) and check if the service `HWEXPRESS` is registered to the Discovery Service. You should be able to reach the following endpoints using HTTPS: - * [https://localhost:10020/swagger.json](https://localhost:10020/swagger.json) which contains the API documentation. - * [https://localhost:10020/api/v1/status](https://localhost:10020/api/v1/status) for the health check endpoint containing the status of the application. - * [https://localhost:10020/api/v1/info](https://localhost:10020/api/v1/info) for the service information such as service ID and Node.js version. - * [https://localhost:10020/api/v1/hello](https://localhost:10020/api/v1/hello) for the greeting endpoint. + * [https://localhost:10039/swagger.json](https://localhost:10039/swagger.json) which contains the API documentation. + * [https://localhost:10039/api/v1/status](https://localhost:10039/api/v1/status) for the health check endpoint containing the status of the application. + * [https://localhost:10039/api/v1/info](https://localhost:10039/api/v1/info) for the service information such as service ID and Node.js version. + * [https://localhost:10039/api/v1/hello](https://localhost:10039/api/v1/hello) for the greeting endpoint. * [https://localhost:10010/hwexpress/api/v1/hello](https://localhost:10010/hwexpress/api/v1/hello) for the greeting endpoint, routed through API Gateway. Go to the [API Catalog](https://localhost:10010/apicatalog/ui/v1) and check if the API documentation of the service is retrieved. diff --git a/onboarding-enabler-nodejs-sample-app/Dockerfile b/onboarding-enabler-nodejs-sample-app/Dockerfile index 0f6125944a..58210e8bea 100644 --- a/onboarding-enabler-nodejs-sample-app/Dockerfile +++ b/onboarding-enabler-nodejs-sample-app/Dockerfile @@ -39,7 +39,7 @@ COPY src ./src COPY config/service-configuration.yml ./config/service-configuration.yml # ===== expose service port -EXPOSE 10020 +EXPOSE 10039 # ===== start CMD ["npm", "run", "start"] diff --git a/onboarding-enabler-nodejs-sample-app/README.md b/onboarding-enabler-nodejs-sample-app/README.md index 4eeeb803a5..77b99a8f7a 100755 --- a/onboarding-enabler-nodejs-sample-app/README.md +++ b/onboarding-enabler-nodejs-sample-app/README.md @@ -19,8 +19,8 @@ You can start the service using by running: If the APIML is already running then you should see the following messages: - hwexpress service listening on port 10020 - registered with eureka: hwexpress/localhost:hwexpress:10020 + hwexpress service listening on port 10039 + registered with eureka: hwexpress/localhost:hwexpress:10039 Then you can access it via Gateway by issuing the following command: diff --git a/onboarding-enabler-nodejs-sample-app/config/service-configuration.yml b/onboarding-enabler-nodejs-sample-app/config/service-configuration.yml index d86e35494c..6ba311bacd 100644 --- a/onboarding-enabler-nodejs-sample-app/config/service-configuration.yml +++ b/onboarding-enabler-nodejs-sample-app/config/service-configuration.yml @@ -12,16 +12,16 @@ eureka: instance: app: hwexpress vipAddress: hwexpress - instanceId: localhost:hwexpress:10020 - homePageUrl: https://localhost:10020/ + instanceId: localhost:hwexpress:10039 + homePageUrl: https://localhost:10039/ hostName: 'localhost' ipAddr: '127.0.0.1' secureVipAddress: hwexpress port: - $: 10020 + $: 10039 '@enabled': false securePort: - $: 10020 + $: 10039 '@enabled': "true" dataCenterInfo: @@ -36,7 +36,7 @@ instance: apiml.routes.api_v1.serviceUrl: "/api/v1" apiml.apiInfo.0.apiId: org.zowe.hwexpress apiml.apiInfo.0.gatewayUrl: "api/v1" - apiml.apiInfo.0.swaggerUrl: https://localhost:10020/swagger.json + apiml.apiInfo.0.swaggerUrl: https://localhost:10039/swagger.json apiml.service.title: 'Zowe Sample Node Service' apiml.service.description: 'The Proxy Server is an HTTP HTTPS, and Websocket server built upon NodeJS and ExpressJS.' diff --git a/onboarding-enabler-nodejs-sample-app/src/index.js b/onboarding-enabler-nodejs-sample-app/src/index.js index a249a77289..b4e885d874 100755 --- a/onboarding-enabler-nodejs-sample-app/src/index.js +++ b/onboarding-enabler-nodejs-sample-app/src/index.js @@ -14,7 +14,7 @@ import * as apiLayerService from "@zowe/apiml-onboarding-enabler-nodejs"; // Command-line arguments: const args = { - port: 10020, + port: 10039, serviceId: "hwexpress", // On z/OS, you need to use certificates encoded in EBCDIC // The APIML stores such certificates in files with `-ebcdic` suffix diff --git a/onboarding-enabler-nodejs/README.md b/onboarding-enabler-nodejs/README.md index c76eca9984..60354f7d8a 100644 --- a/onboarding-enabler-nodejs/README.md +++ b/onboarding-enabler-nodejs/README.md @@ -52,10 +52,10 @@ Below is an example of the configuration. description: Hello World REST API Service implemented in Express and Node.js - baseUrl: https://localhost:10020/hwexpress - homePageRelativeUrl: https://localhost:10020/ - statusPageRelativeUrl: https://localhost:10020/info - healthCheckRelativeUrl: https://localhost:10020/status + baseUrl: https://localhost:10039/hwexpress + homePageRelativeUrl: https://localhost:10039/ + statusPageRelativeUrl: https://localhost:10039/info + healthCheckRelativeUrl: https://localhost:10039/status discoveryServiceUrls: - https://localhost:10011/eureka routes: @@ -64,7 +64,7 @@ Below is an example of the configuration. apiInfo: - apiId: org.zowe.hwexpress gatewayUrl: "api/v1" - swaggerUrl: https://localhost:10020/swagger.json + swaggerUrl: https://localhost:10039/swagger.json catalogUiTile: id: cademoapps title: Sample API Mediation Layer Applications @@ -73,16 +73,16 @@ Below is an example of the configuration. instance: app: hwexpress vipAddress: hwexpress - instanceId: localhost:hwexpress:10020 - homePageUrl: https://localhost:10020/ + instanceId: localhost:hwexpress:10039 + homePageUrl: https://localhost:10039/ hostName: 'localhost' ipAddr: '127.0.0.1' secureVipAddress: hwexpress port: - $: 10020 + $: 10039 '@enabled': false securePort: - $: 10020 + $: 10039 '@enabled': "true" dataCenterInfo: @@ -97,7 +97,7 @@ Below is an example of the configuration. apiml.routes.api_v1.serviceUrl: "/api/v1" apiml.apiInfo.0.apiId: org.zowe.hwexpress apiml.apiInfo.0.gatewayUrl: "api/v1" - apiml.apiInfo.0.swaggerUrl: https://localhost:10020/swagger.json + apiml.apiInfo.0.swaggerUrl: https://localhost:10039/swagger.json apiml.service.title: 'Zowe Sample Node Service' apiml.service.description: 'The Proxy Server is an HTTP HTTPS, and Websocket server built upon NodeJS and ExpressJS.' @@ -129,17 +129,17 @@ Alternatively, you can also pass the config as a json to the client: }, instance: { app: hwexpress, - instanceId: localhost:hwexpress:10020, + instanceId: localhost:hwexpress:10039, hostName: 'localhost', ipAddr: '127.0.0.1', - homePageUrl: https://localhost:10020/, + homePageUrl: https://localhost:10039/, secureVipAddress: hwexpress, port: { - $: 10020, + $: 10039, '@enabled': false }, securePort: { - $: 10020, + $: 10039, '@enabled': true }, dataCenterInfo: { From 364f61a6de96df2c8ab77b6a4fa286d2f1fd06df Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Tue, 20 Jan 2026 09:17:21 -0500 Subject: [PATCH 25/71] chore: Update all non-major dependencies (v3.x.x) (#4437) Signed-off-by: Renovate Bot Co-authored-by: Renovate Bot Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/package-lock.json | 681 +++++++++--------- api-catalog-ui/frontend/package.json | 28 +- gradle/versions.gradle | 50 +- .../Dockerfile | 2 +- .../package-lock.json | 605 +++++++--------- zowe-cli-id-federation-plugin/package.json | 20 +- 6 files changed, 659 insertions(+), 727 deletions(-) diff --git a/api-catalog-ui/frontend/package-lock.json b/api-catalog-ui/frontend/package-lock.json index fc06da68e9..d9431281e7 100644 --- a/api-catalog-ui/frontend/package-lock.json +++ b/api-catalog-ui/frontend/package-lock.json @@ -41,9 +41,9 @@ "react-app-polyfill": "3.0.0", "react-dom": "18.3.1", "react-error-boundary": "5.0.0", - "react-hook-form": "7.68.0", + "react-hook-form": "7.71.1", "react-redux": "9.2.0", - "react-router": "7.11.0", + "react-router": "7.12.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", @@ -53,7 +53,7 @@ "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.97.0", + "sass": "1.97.2", "stream": "0.0.3", "swagger-ui-react": "5.31.0", "url": "0.11.4", @@ -61,10 +61,10 @@ "uuid": "10.0.0" }, "devDependencies": { - "@babel/core": "7.28.5", - "@babel/eslint-parser": "7.28.5", + "@babel/core": "7.28.6", + "@babel/eslint-parser": "7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.11", - "@babel/preset-env": "7.28.5", + "@babel/preset-env": "7.28.6", "@babel/preset-react": "7.28.5", "@cfaester/enzyme-adapter-react-18": "0.8.0", "@eslint/compat": "1.4.1", @@ -72,12 +72,12 @@ "@reduxjs/toolkit": "2.11.2", "@testing-library/dom": "10.4.1", "@testing-library/jest-dom": "6.9.1", - "@testing-library/react": "16.3.1", + "@testing-library/react": "16.3.2", "@testing-library/user-event": "14.6.1", "ajv": "8.17.1", "ansi-regex": "6.2.2", "body-parser": "1.20.4", - "caniuse-lite": "1.0.30001760", + "caniuse-lite": "1.0.30001765", "concurrently": "9.2.1", "cors": "2.8.5", "cross-env": "7.0.3", @@ -92,7 +92,7 @@ "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.32.0", "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-prettier": "5.5.4", + "eslint-plugin-prettier": "5.5.5", "eslint-plugin-react": "7.37.5", "express": "4.22.1", "globals": "15.15.0", @@ -106,10 +106,10 @@ "jest-mock": "29.7.0", "jest-watch-typeahead": "2.2.2", "json-schema": "0.4.0", - "mini-css-extract-plugin": "2.9.4", + "mini-css-extract-plugin": "2.10.0", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.7.4", + "prettier": "3.8.0", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -124,7 +124,7 @@ "yaml": "2.8.2" }, "engines": { - "node": "=20.19.6", + "node": "=20.20.0", "npm": "=10.9.4" } }, @@ -167,12 +167,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -181,29 +181,29 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -220,9 +220,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/eslint-parser/-/eslint-parser-7.28.5.tgz", - "integrity": "sha512-fcdRcWahONYo+JRnJg1/AekOacGvKx12Gu0qXJXFi2WBqQA1i7+O5PaxRB7kxE/Op94dExnCiiar6T09pvdHpA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", + "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", "dev": true, "license": "MIT", "dependencies": { @@ -239,13 +239,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -278,12 +278,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -294,18 +294,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", - "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.3", + "@babel/traverse": "^7.28.6", "semver": "^6.3.1" }, "engines": { @@ -316,14 +316,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "version": "7.28.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "engines": { @@ -360,41 +360,41 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "version": "7.28.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -417,9 +417,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -444,15 +444,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -518,25 +518,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -613,14 +613,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", - "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -842,13 +842,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -858,12 +858,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1062,15 +1062,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.6.tgz", + "integrity": "sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1080,14 +1080,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { @@ -1114,13 +1114,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", - "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1130,14 +1130,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1147,14 +1147,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", - "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1164,18 +1164,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", - "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.28.4" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1185,14 +1185,14 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1219,14 +1219,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1252,14 +1252,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz", + "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1285,14 +1285,14 @@ } }, "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", - "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0" + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -1302,13 +1302,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", - "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1386,13 +1386,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1418,13 +1418,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", - "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1467,14 +1467,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1553,13 +1553,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1569,13 +1569,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1585,17 +1585,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.28.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", - "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.4" + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1622,13 +1622,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1638,13 +1638,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", - "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { @@ -1671,14 +1671,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1688,15 +1688,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1807,13 +1807,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.28.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", - "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz", + "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1823,14 +1823,14 @@ } }, "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1893,13 +1893,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { @@ -1994,14 +1994,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2028,14 +2028,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -2045,76 +2045,76 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/preset-env/-/preset-env-7.28.5.tgz", - "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/preset-env/-/preset-env-7.28.6.tgz", + "integrity": "sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", + "@babel/compat-data": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.6", + "@babel/plugin-transform-async-to-generator": "^7.28.6", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.5", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.28.3", - "@babel/plugin-transform-classes": "^7.28.4", - "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.28.6", "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.28.6", "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", "@babel/plugin-transform-member-expression-literals": "^7.27.1", "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", "@babel/plugin-transform-modules-systemjs": "^7.28.5", "@babel/plugin-transform-modules-umd": "^7.27.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.4", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.6", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", "@babel/plugin-transform-sticky-regex": "^7.27.1", "@babel/plugin-transform-template-literals": "^7.27.1", "@babel/plugin-transform-typeof-symbol": "^7.27.1", "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", @@ -2234,31 +2234,31 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -2266,9 +2266,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -4819,9 +4819,9 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@pkgr/core/-/core-0.2.7.tgz", - "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", + "version": "0.2.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "dev": true, "license": "MIT", "engines": { @@ -6736,9 +6736,9 @@ "license": "MIT" }, "node_modules/@testing-library/react": { - "version": "16.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@testing-library/react/-/react-16.3.1.tgz", - "integrity": "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw==", + "version": "16.3.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", "dev": true, "license": "MIT", "dependencies": { @@ -9531,9 +9531,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001760", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", - "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "version": "1.0.30001765", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", + "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", "funding": [ { "type": "opencollective", @@ -12677,14 +12677,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", - "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "version": "5.5.5", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -20383,9 +20383,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "version": "2.10.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", "dev": true, "license": "MIT", "dependencies": { @@ -23381,9 +23381,9 @@ } }, "node_modules/prettier": { - "version": "3.7.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.7.4.tgz", - "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "version": "3.8.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.8.0.tgz", + "integrity": "sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==", "dev": true, "license": "MIT", "bin": { @@ -23397,9 +23397,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -24008,9 +24008,9 @@ "license": "MIT" }, "node_modules/react-hook-form": { - "version": "7.68.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-hook-form/-/react-hook-form-7.68.0.tgz", - "integrity": "sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q==", + "version": "7.71.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-hook-form/-/react-hook-form-7.71.1.tgz", + "integrity": "sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -24142,9 +24142,9 @@ } }, "node_modules/react-router": { - "version": "7.11.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.11.0.tgz", - "integrity": "sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==", + "version": "7.12.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.12.0.tgz", + "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -26465,9 +26465,9 @@ "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "version": "10.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", "dev": true, "license": "MIT", "dependencies": { @@ -26520,18 +26520,18 @@ } }, "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "version": "6.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", "dev": true, "license": "MIT", "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", + "regenerate-unicode-properties": "^10.2.2", "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", + "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "unicode-match-property-value-ecmascript": "^2.2.1" }, "engines": { "node": ">=4" @@ -26545,31 +26545,18 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "version": "0.13.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~3.0.2" + "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/relateurl/-/relateurl-0.2.7.tgz", @@ -27514,9 +27501,9 @@ "license": "CC0-1.0" }, "node_modules/sass": { - "version": "1.97.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.97.0.tgz", - "integrity": "sha512-KR0igP1z4avUJetEuIeOdDlwaUDvkH8wSx7FdSjyYBS3dpyX3TzHfAMO0G1Q4/3cdjcmi3r7idh+KCmKqS+KeQ==", + "version": "1.97.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.97.2.tgz", + "integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -29786,13 +29773,13 @@ "license": "MIT" }, "node_modules/synckit": { - "version": "0.11.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/synckit/-/synckit-0.11.8.tgz", - "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", + "version": "0.11.12", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.4" + "@pkgr/core": "^0.2.9" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -30731,9 +30718,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "version": "2.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true, "license": "MIT", "engines": { @@ -30741,9 +30728,9 @@ } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "version": "2.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "dev": true, "license": "MIT", "engines": { diff --git a/api-catalog-ui/frontend/package.json b/api-catalog-ui/frontend/package.json index 8f0e542ef5..e467fe9640 100644 --- a/api-catalog-ui/frontend/package.json +++ b/api-catalog-ui/frontend/package.json @@ -37,9 +37,9 @@ "react-app-polyfill": "3.0.0", "react-dom": "18.3.1", "react-error-boundary": "5.0.0", - "react-hook-form": "7.68.0", + "react-hook-form": "7.71.1", "react-redux": "9.2.0", - "react-router": "7.11.0", + "react-router": "7.12.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", @@ -49,7 +49,7 @@ "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.97.0", + "sass": "1.97.2", "stream": "0.0.3", "swagger-ui-react": "5.31.0", "url": "0.11.4", @@ -83,23 +83,23 @@ "includeFailureMsg": true }, "devDependencies": { - "@babel/core": "7.28.5", - "@babel/eslint-parser": "7.28.5", + "@babel/core": "7.28.6", + "@babel/eslint-parser": "7.28.6", "@babel/plugin-proposal-private-property-in-object": "7.21.11", - "@babel/preset-env": "7.28.5", + "@babel/preset-env": "7.28.6", "@babel/preset-react": "7.28.5", "@cfaester/enzyme-adapter-react-18": "0.8.0", "@eslint/compat": "1.4.1", "@eslint/js": "9.39.2", "@testing-library/dom": "10.4.1", "@testing-library/jest-dom": "6.9.1", - "@testing-library/react": "16.3.1", + "@testing-library/react": "16.3.2", "@testing-library/user-event": "14.6.1", "@reduxjs/toolkit": "2.11.2", "ajv": "8.17.1", "ansi-regex": "6.2.2", "body-parser": "1.20.4", - "caniuse-lite": "1.0.30001760", + "caniuse-lite": "1.0.30001765", "concurrently": "9.2.1", "cors": "2.8.5", "cross-env": "7.0.3", @@ -114,7 +114,7 @@ "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.32.0", "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-prettier": "5.5.4", + "eslint-plugin-prettier": "5.5.5", "eslint-plugin-react": "7.37.5", "express": "4.22.1", "globals": "15.15.0", @@ -128,10 +128,10 @@ "jest-mock": "29.7.0", "jest-watch-typeahead": "2.2.2", "json-schema": "0.4.0", - "mini-css-extract-plugin": "2.9.4", + "mini-css-extract-plugin": "2.10.0", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.7.4", + "prettier": "3.8.0", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -148,14 +148,14 @@ "overrides": { "nth-check": "2.1.1", "jsdom": "16.7.0", - "got": "14.6.5", + "got": "14.6.6", "react-error-overlay": "6.1.0", "tough-cookie": "5.1.2", "@braintree/sanitize-url": "7.1.1", "resolve-url-loader": "5.0.0", "lodash": "4.17.21", "semver": "7.7.3", - "@babel/traverse": "7.28.5", + "@babel/traverse": "7.28.6", "axios": "1.13.2", "form-data": "3.0.4", "sha.js": "2.4.12", @@ -169,7 +169,7 @@ }, "engines": { "npm": "=10.9.4", - "node": "=20.19.6" + "node": "=20.20.0" }, "browserslist": [ ">0.2%", diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 0eac58a5c3..355d6e57bb 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -5,8 +5,8 @@ dependencyResolutionManagement { version('projectNode', '20.19.6') version('projectNpm', '10.9.4') - version('springBoot', '3.5.8') - version('springBootGraphQl', '3.5.8') + version('springBoot', '3.5.9') + version('springBootGraphQl', '3.5.9') version('springCloudNetflix', '4.3.1') version('springCloudCommons', '4.3.1') version('springCloudCB', '3.3.1') @@ -14,16 +14,16 @@ dependencyResolutionManagement { version('springFramework', '6.2.15') version('springRetry', '2.0.12') - version('modulith', '1.4.5') + version('modulith', '1.4.6') version('jmolecules', '2023.3.4') version('glassfishHk2', '3.1.1') version('zosUtils', '2.1.0') - version('aws', '1.12.795') + version('aws', '1.12.797') version('awaitility', '4.3.0') version('bouncyCastle', '1.83') version('caffeine', '3.2.3') - version('checkerQual', '3.52.1') + version('checkerQual', '3.53.0') version('commonsLang3', '3.20.0') version('commonsLogging', '1.3.5') version('commonsText', '1.15.0') @@ -32,24 +32,24 @@ dependencyResolutionManagement { version('eureka', '2.0.5') version('fileupload', '1.6.0') version('netflixServo', '0.13.2') - version('googleErrorprone', '2.45.0') + version('googleErrorprone', '2.46.0') version('gradleGitProperties', '2.5.4') // Used in classpath dependencies version('googleGson', '2.13.2') version('guava', '33.5.0-jre') version('hamcrest', '3.0') version('httpClient4', '4.5.14') - version('httpClient5', '5.5.1') + version('httpClient5', '5.6') version('infinispan', '15.2.6.Final') - version('jacksonAnnotations', '2.20') - version('jacksonCore', '2.20.1') - version('jacksonDatabind', '2.20.1') - version('jacksonDataformatYaml', '2.20.1') + version('jacksonAnnotations', '2.21') + version('jacksonCore', '2.21.0') + version('jacksonDatabind', '2.21.0') + version('jacksonDataformatYaml', '2.21.0') version('janino', '3.1.12') version('jakartaValidation', '3.1.1') version('jakartaInject', '2.0.1') version('jakartaServlet', '6.1.0') version('javaxAnnotation', '1.3.2') - version('openTelemetry-starter', '2.23.0') + version('openTelemetry-starter', '2.24.0') // Eureka requires this specific version of Jakarta JAXB bindings version('jaxbApi') { @@ -70,8 +70,8 @@ dependencyResolutionManagement { version('jodaTime', '2.14.0') version('jsonPath', '2.10.0') version('jsonSmart', '2.6.0') - version('junitJupiter', '5.14.1') - version('junitPlatform', '1.14.1') + version('junitJupiter', '5.14.2') + version('junitPlatform', '1.14.2') version('jxpath', '1.4.0') version('lettuce', '6.8.2.RELEASE') // force version in build.gradle file - compatibility with Slf4j @@ -80,19 +80,19 @@ dependencyResolutionManagement { version('mailapi', '1.6.8') version('netty', '4.2.9.Final') // netty reactor contains a bug: https://github.com/reactor/reactor-netty/issues/3559 > https://github.com/reactor/reactor-netty/pull/3581 - version('nettyReactor', '1.3.1') - version('nimbusJoseJwt', '10.6') + version('nettyReactor', '1.3.2') + version('nimbusJoseJwt', '10.7') version('openApiDiff', '2.1.6') version('picocli', '4.7.7') - version('reactor', '3.8.1') - version('restAssured', '5.5.6') - version('rhino', '1.8.1') - version('springDoc', '2.8.14') - version('swaggerCore', '2.2.41') + version('reactor', '3.8.2') + version('restAssured', '5.5.7') + version('rhino', '1.9.0') + version('springDoc', '2.8.15') + version('swaggerCore', '2.2.42') version('swaggerInflector', '2.0.14') version('swagger2Parser', '1.0.75') - version('swagger3Parser', '2.1.36') + version('swagger3Parser', '2.1.37') version('thymeleaf', '3.1.3.RELEASE') version('velocity', '2.4.1') version('woodstoxCore', '7.1.1') @@ -106,14 +106,14 @@ dependencyResolutionManagement { version('gradleTestLogger', '4.0.0') version('testLogger', '4.0.0') version('micronautPlatform', '4.9.0') - version('micronaut', '4.10.12') + version('micronaut', '4.10.14') version('micronautPlugin', '4.6.1') version('shadow', '8.1.1') version('checkstyle', '10.17.0') version('jacoco', '0.8.11') version('gradle', '8.6') version('commonsCompress', '1.28.0') - version('bucket4j', '8.15.0') + version('bucket4j', '8.16.0') version('xstream', '1.4.21') library('zowe_zos_utils', 'org.zowe.apiml.sdk', 'zos-utils').versionRef('zosUtils') @@ -280,7 +280,7 @@ dependencyResolutionManagement { plugin('micronaut_library', 'io.micronaut.library').versionRef('micronautPlugin') // Pure Java dependencies - do not use in Spring unless really necessary - version('logback', '1.5.22') + version('logback', '1.5.25') version('mockitoCore', '5.21.0') version('mockitoInline', '5.2.0') diff --git a/onboarding-enabler-python-sample-app/Dockerfile b/onboarding-enabler-python-sample-app/Dockerfile index 862d5c9767..b43d79abbb 100644 --- a/onboarding-enabler-python-sample-app/Dockerfile +++ b/onboarding-enabler-python-sample-app/Dockerfile @@ -11,7 +11,7 @@ # base image tag ARG ZOWE_BASE_IMAGE=3-ubuntu -FROM python:3.12 +FROM python:3.14 LABEL name="pythonsampleapp" LABEL vendor="Zowe" diff --git a/zowe-cli-id-federation-plugin/package-lock.json b/zowe-cli-id-federation-plugin/package-lock.json index 9144c1a179..3dadfc802b 100644 --- a/zowe-cli-id-federation-plugin/package-lock.json +++ b/zowe-cli-id-federation-plugin/package-lock.json @@ -14,12 +14,12 @@ "devDependencies": { "@eslint/js": "9.39.2", "@types/jest": "29.5.14", - "@types/node": "20.19.27", - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@zowe/cli": "8.29.5", - "@zowe/cli-test-utils": "8.29.4", - "@zowe/imperative": "8.29.4", + "@types/node": "20.19.30", + "@typescript-eslint/eslint-plugin": "8.53.1", + "@typescript-eslint/parser": "8.53.1", + "@zowe/cli": "8.29.8", + "@zowe/cli-test-utils": "8.29.8", + "@zowe/imperative": "8.29.8", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -38,15 +38,15 @@ "madge": "8.0.0", "ts-jest": "29.4.6", "ts-node": "10.9.2", - "typedoc": "0.28.15", + "typedoc": "0.28.16", "typescript": "5.9.3" }, "engines": { - "node": "=20.19.6", + "node": "=20.20.0", "npm": "=10.9.4" }, "peerDependencies": { - "@zowe/imperative": "8.29.4" + "@zowe/imperative": "8.29.8" } }, "node_modules/@ampproject/remapping": { @@ -64,13 +64,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -130,14 +130,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -284,13 +284,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -526,33 +526,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -560,9 +560,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.28.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "dev": true, "license": "MIT", "dependencies": { @@ -637,9 +637,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -656,9 +656,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "version": "4.12.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { @@ -1644,6 +1644,19 @@ "node": ">=14" } }, + "node_modules/@profoundlogic/hogan": { + "version": "3.0.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@profoundlogic/hogan/-/hogan-3.0.4.tgz", + "integrity": "sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, "node_modules/@shikijs/engine-oniguruma": { "version": "3.20.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.20.0.tgz", @@ -2063,9 +2076,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.19.27", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-20.19.27.tgz", - "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "version": "20.19.30", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/node/-/node-20.19.30.tgz", + "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==", "dev": true, "license": "MIT", "dependencies": { @@ -2108,20 +2121,20 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", - "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz", + "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/type-utils": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "ignore": "^7.0.0", + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.53.1", + "@typescript-eslint/type-utils": "8.53.1", + "@typescript-eslint/utils": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2131,7 +2144,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.50.0", + "@typescript-eslint/parser": "^8.53.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -2147,9 +2160,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -2160,17 +2173,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.50.0.tgz", - "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.53.1.tgz", + "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.53.1", + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/typescript-estree": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2185,15 +2198,15 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", - "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz", + "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.50.0", - "@typescript-eslint/types": "^8.50.0", - "debug": "^4.3.4" + "@typescript-eslint/tsconfig-utils": "^8.53.1", + "@typescript-eslint/types": "^8.53.1", + "debug": "^4.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2207,14 +2220,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", - "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz", + "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0" + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2225,9 +2238,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", - "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz", + "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==", "dev": true, "license": "MIT", "engines": { @@ -2242,17 +2255,17 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", - "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz", + "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/typescript-estree": "8.53.1", + "@typescript-eslint/utils": "8.53.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2267,9 +2280,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -2280,9 +2293,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.50.0.tgz", - "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.53.1.tgz", + "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==", "dev": true, "license": "MIT", "engines": { @@ -2294,21 +2307,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", - "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz", + "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.50.0", - "@typescript-eslint/tsconfig-utils": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", + "@typescript-eslint/project-service": "8.53.1", + "@typescript-eslint/tsconfig-utils": "8.53.1", + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2348,9 +2361,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -2361,16 +2374,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.50.0.tgz", - "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.53.1.tgz", + "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.53.1", + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/typescript-estree": "8.53.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2385,13 +2398,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.50.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", - "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "version": "8.53.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz", + "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/types": "8.53.1", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -2472,25 +2485,25 @@ "dev": true }, "node_modules/@zowe/cli": { - "version": "8.29.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.5.tgz", - "integrity": "sha512-HZSacBRFk9Hblui0neptiMxfgHqjXkbrmvgbkHnHHgL+7FvfxdbuxlYkk65m3qncvYqaVeOsCla35OlZxp7o8g==", + "version": "8.29.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.8.tgz", + "integrity": "sha512-eYfS6kTReL+g5b3UV0o5G+NCGzdxmKeyHasJYa8j6SUXWFOloYwM+qWqhMweVrUulhorYTrL/90A+Y4/05o7Dg==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "license": "EPL-2.0", "dependencies": { - "@zowe/core-for-zowe-sdk": "8.29.4", - "@zowe/imperative": "8.29.4", - "@zowe/provisioning-for-zowe-sdk": "8.29.4", - "@zowe/zos-console-for-zowe-sdk": "8.29.4", - "@zowe/zos-files-for-zowe-sdk": "8.29.4", - "@zowe/zos-jobs-for-zowe-sdk": "8.29.4", - "@zowe/zos-logs-for-zowe-sdk": "8.29.4", - "@zowe/zos-tso-for-zowe-sdk": "8.29.4", - "@zowe/zos-uss-for-zowe-sdk": "8.29.4", - "@zowe/zos-workflows-for-zowe-sdk": "8.29.4", - "@zowe/zosmf-for-zowe-sdk": "8.29.4", + "@zowe/core-for-zowe-sdk": "8.29.8", + "@zowe/imperative": "8.29.8", + "@zowe/provisioning-for-zowe-sdk": "8.29.8", + "@zowe/zos-console-for-zowe-sdk": "8.29.8", + "@zowe/zos-files-for-zowe-sdk": "8.29.8", + "@zowe/zos-jobs-for-zowe-sdk": "8.29.8", + "@zowe/zos-logs-for-zowe-sdk": "8.29.8", + "@zowe/zos-tso-for-zowe-sdk": "8.29.8", + "@zowe/zos-uss-for-zowe-sdk": "8.29.8", + "@zowe/zos-workflows-for-zowe-sdk": "8.29.8", + "@zowe/zosmf-for-zowe-sdk": "8.29.8", "find-process": "1.4.7", "lodash": "4.17.21", "minimatch": "9.0.5", @@ -2507,9 +2520,9 @@ } }, "node_modules/@zowe/cli-test-utils": { - "version": "8.29.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.4.tgz", - "integrity": "sha512-Mr7O4lrcK1pmXAE6i5IvMg9OlZqszBi/bTIP9ieeQYV6RKSSi9t/5/PJLteAC4QQ6nBLd7J5r2S0turIZBARWA==", + "version": "8.29.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.8.tgz", + "integrity": "sha512-zcCVycozXAFToaZoIyq1bX1p+1xuE5tiTRH+s5rJMXc+5kqK71n9PoLcNCC15VmbTE02ZEY0FBb0m5bRzr9tmg==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2816,6 +2829,18 @@ "node": ">=14" } }, + "node_modules/@zowe/cli/node_modules/@profoundlogic/hogan": { + "version": "3.0.4", + "integrity": "sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, "node_modules/@zowe/cli/node_modules/@sigstore/bundle": { "version": "2.2.0", "dev": true, @@ -3081,8 +3106,8 @@ "license": "MIT" }, "node_modules/@zowe/cli/node_modules/@zowe/core-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-NLSB2IFGgOnliVIj9IepDbe/FTnOAM8TnzHJ0f/h3nhADNw0qQYHMz5NAv4OqP5lKy13eOC8uvNrV8UdeYC+vQ==", + "version": "8.29.8", + "integrity": "sha512-G3XvgKGLy72ID7CZZsK8TYLjuxBDFN5ATEOl8rTl9TIBheKEis9TwCqSMEfAEal+1RWpSJLLTPdtffOYCLjLDA==", "dev": true, "dependencies": { "comment-json": "~4.2.3", @@ -3096,8 +3121,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/imperative": { - "version": "8.29.4", - "integrity": "sha512-L0HT8ZmC+y7QaGw6X8/Iu584b5rKcxcdxVvw1O6e9c3a2KGR8gRSuVmzeVyo71WYcXVCvpsbZzYeTnWi4bOKMg==", + "version": "8.29.8", + "integrity": "sha512-/0+6AaO5OODxRv0OgfLhMjcmxy57mtobhn/xsy3clCuX8dfHgvecDxpkJYrKb1MMPxqHQ8qh/wM0r04Q3+qKUQ==", "dev": true, "dependencies": { "@types/yargs": "^17.0.32", @@ -3108,8 +3133,8 @@ "dataobject-parser": "^1.2.25", "dayjs": "1.11.13", "deepmerge": "^4.3.1", - "diff": "^5.2.0", - "diff2html": "3.4.20-usewontache.1.60e7a2e", + "diff": "^7.0.0", + "diff2html": "^3.4.55", "fast-glob": "^3.3.2", "fastest-levenshtein": "^1.0.16", "find-up": "^5.0.0", @@ -3151,46 +3176,6 @@ "node": ">= 14" } }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/diff": { - "version": "5.2.0", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/diff2html": { - "version": "3.4.20-usewontache.1.60e7a2e", - "integrity": "sha512-0ge1jQpRv9Eg6USdIgnDIzAnuhhlgFPmhglCUBNhSVU772biWWbSu/palu0uK+PbgidjkjkajztZGVAZnD56pw==", - "dev": true, - "dependencies": { - "diff": "5.1.0", - "wontache": "0.1.0" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "highlight.js": "11.6.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/diff2html/node_modules/diff": { - "version": "5.1.0", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/highlight.js": { - "version": "11.6.0", - "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/http-proxy-agent": { "version": "7.0.2", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", @@ -3216,8 +3201,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/provisioning-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-Hilvq0yIFhZ5+95+xVqkXXpQB71l0fzLqwLkuXO2mU+GuvUpLoAv2HiGZFYQn12W1N3b4nVvXfrihvvW8+oY3Q==", + "version": "8.29.8", + "integrity": "sha512-nGL6M05ErrrMSW3EWm08adsWg8wHB21PoPgZUokNgwkSE/9ZT0iaDjv0O7Y83Mr30REfXQSnafAmPhq/HAC+Vw==", "dev": true, "dependencies": { "js-yaml": "^4.1.0" @@ -3241,8 +3226,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-console-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-dNXN1I2gt63VtMuWbVAUndhM8ZGF7guLeGaQdejBKUVN1S96rlPrFxmswoEVdVc4E0+GdIO+ZL1uKrTemUFjbQ==", + "version": "8.29.8", + "integrity": "sha512-iJ1RcRpa1pIlleU8CJ0rM16BBnSKJAPuWV4oficeT4OLPvaE5DSxOgnYZiK8a7tNHBzuPU67qteijP8WRVCtzQ==", "dev": true, "engines": { "node": ">=20.9.0" @@ -3253,8 +3238,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-files-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-4dJSNzJv/Ith/9TFoXLoHaEDheEVmel+fNF4TSUtM1U/AdVhg9iVB2GcApI1nyidS3rlGDRGncukPe0fjHJ1pw==", + "version": "8.29.8", + "integrity": "sha512-0pO7P1znzl++xxcrJnozuD7Qmv6qHQ5440mQR4uYgQ0bDob43pc9qDQqArxdB+sjPbU9tEwTOuNNr4NemTfHIg==", "dev": true, "dependencies": { "lodash": "^4.17.21", @@ -3269,11 +3254,11 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-jobs-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-Bo505G5Ii56R/ZITmwe3As2vUPiL1V39aX8dkdSJ+8XG5ZfXG9SV62AeFbMVcoVVW+cPuOYfRCZy5si+AjbJAA==", + "version": "8.29.8", + "integrity": "sha512-MPLK6Fd6syY57Mb4pRevwZxQFmMIzcj+9xQOODVHnPKIHj5t7DvMMuKlBMEJWQopiwDpO5YYEEEKRe499y1GkA==", "dev": true, "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.4" + "@zowe/zos-files-for-zowe-sdk": "8.29.8" }, "engines": { "node": ">=20.9.0" @@ -3284,8 +3269,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-logs-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-9FDMDSPPsPD1TlWGmgN0hCExqU+joOQtPpOFhPWnMOpdYcfjY90WzaMNEoi83i7+s3XgmCNPpJWMZRDVh3E0Mw==", + "version": "8.29.8", + "integrity": "sha512-cNenTeZwk7//D0gh2/aQTymjUPA6LfUBBaPp55kDqrN3vXU9hcj/u0RaWaFXP/Awv0eA8F99QX0Wo9mo/umeJg==", "dev": true, "engines": { "node": ">=20.9.0" @@ -3296,11 +3281,11 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-tso-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-rwBMPsN72S7Va5pG7tr/y2DWDOpgY4Hz0MGQYMAx9JAKsUsfFYBNgDPNv1GVzlnxm8ub7bzBlzRQtk6/B7BqEQ==", + "version": "8.29.8", + "integrity": "sha512-Chg/MI1bqbr0Fr4zaFwE/1PZ1eu3476ERfEeJC+LVPKiou900zmIDxNxjcyPlKFkK2QKbwayI6TI8aI6yHpJXA==", "dev": true, "dependencies": { - "@zowe/zosmf-for-zowe-sdk": "8.29.4" + "@zowe/zosmf-for-zowe-sdk": "8.29.8" }, "engines": { "node": ">=20.9.0" @@ -3311,8 +3296,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-uss-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-wJ3TrryK+2HxyC3/YJFg1XRMI9c+eSBvtmbA+YnLxisWhluqU9rxdC737zPLR63Fde/hW1VTPyFyy8BSMslv6A==", + "version": "8.29.8", + "integrity": "sha512-ZRR3EDThKg+xqB3EBq5HC5hw4Fa87jF3EP5XzmXjOEBW82zZbIHo7Ef+CX5VxkP5uYj17sxD0seJmcBUVedJ6Q==", "dev": true, "dependencies": { "ssh2": "^1.15.0" @@ -3325,11 +3310,11 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-workflows-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-rVJWmrruiEOwkuiUgjeKamnKb6uGNVko7fGxFf3DhhvropYlxLHE+zkYYeTVfE00Zahzmk3sBA5RlwIxjyzF7Q==", + "version": "8.29.8", + "integrity": "sha512-2AkUyegzaTaEpqmw7IM97eKBQLD1Gj+uZM7PUeeESoto8DgDzKPxekvqY0a6CpTPLAAx+C4sujnWxxSd0jeUOw==", "dev": true, "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.4" + "@zowe/zos-files-for-zowe-sdk": "8.29.8" }, "engines": { "node": ">=20.9.0" @@ -3340,8 +3325,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zosmf-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-SeVlNpOEZVroUxXbi811imJJ3WavCOCag4y/DxL/vDYWB1ghbVu0q/ePJj8m7QBAEMYT43GUBb9CyLJmuRaCXw==", + "version": "8.29.8", + "integrity": "sha512-gncJ9cKipWvi58eU06Manu6Azno3rja2++KmMjlUgC/PUYIBBfWMlcwj73mPKcZftCc3NKSLiH4rHtQjIDvFIA==", "dev": true, "engines": { "node": ">=20.9.0" @@ -3351,6 +3336,11 @@ "@zowe/imperative": "^8.0.0" } }, + "node_modules/@zowe/cli/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, "node_modules/@zowe/cli/node_modules/aggregate-error": { "version": "3.1.0", "dev": true, @@ -3675,6 +3665,15 @@ "node": ">=0.10.0" } }, + "node_modules/@zowe/cli/node_modules/diff": { + "version": "7.0.0", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/@zowe/cli/node_modules/diff-sequences": { "version": "29.6.3", "dev": true, @@ -3683,6 +3682,22 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@zowe/cli/node_modules/diff2html": { + "version": "3.4.55", + "integrity": "sha512-v7vi4Gluu7VtMNiHxZWyfnzRItkNPo1mxBzf2VnzZZccdN3gcl+4ZG8WBA7p4AkhPeeBcDItu9JF91o2HZkhlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@profoundlogic/hogan": "^3.0.4", + "diff": "^7.0.0" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "highlight.js": "11.9.0" + } + }, "node_modules/@zowe/cli/node_modules/eastasianwidth": { "version": "0.2.0", "dev": true, @@ -3947,6 +3962,15 @@ "node": ">=8" } }, + "node_modules/@zowe/cli/node_modules/highlight.js": { + "version": "11.9.0", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@zowe/cli/node_modules/hosted-git-info": { "version": "7.0.2", "dev": true, @@ -4420,6 +4444,21 @@ "node": ">= 0.6" } }, + "node_modules/@zowe/cli/node_modules/nopt": { + "version": "1.0.10", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, "node_modules/@zowe/cli/node_modules/normalize-package-data": { "version": "6.0.2", "dev": true, @@ -5817,11 +5856,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/underscore": { - "version": "1.13.6", - "dev": true, - "license": "MIT" - }, "node_modules/@zowe/cli/node_modules/universalify": { "version": "2.0.0", "dev": true, @@ -5917,14 +5951,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/wontache": { - "version": "0.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "underscore": "^1.13.0-2" - } - }, "node_modules/@zowe/cli/node_modules/wrap-ansi": { "version": "7.0.0", "dev": true, @@ -6016,9 +6042,9 @@ } }, "node_modules/@zowe/imperative": { - "version": "8.29.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.4.tgz", - "integrity": "sha512-L0HT8ZmC+y7QaGw6X8/Iu584b5rKcxcdxVvw1O6e9c3a2KGR8gRSuVmzeVyo71WYcXVCvpsbZzYeTnWi4bOKMg==", + "version": "8.29.8", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.8.tgz", + "integrity": "sha512-/0+6AaO5OODxRv0OgfLhMjcmxy57mtobhn/xsy3clCuX8dfHgvecDxpkJYrKb1MMPxqHQ8qh/wM0r04Q3+qKUQ==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -6030,8 +6056,8 @@ "dataobject-parser": "^1.2.25", "dayjs": "1.11.13", "deepmerge": "^4.3.1", - "diff": "^5.2.0", - "diff2html": "3.4.20-usewontache.1.60e7a2e", + "diff": "^7.0.0", + "diff2html": "^3.4.55", "fast-glob": "^3.3.2", "fastest-levenshtein": "^1.0.16", "find-up": "^5.0.0", @@ -6065,21 +6091,12 @@ "node": ">=20.9.0" } }, - "node_modules/@zowe/imperative/node_modules/diff": { - "version": "5.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/acorn": { "version": "8.15.0", @@ -7087,9 +7104,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -7403,10 +7420,11 @@ } }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "7.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -7421,19 +7439,20 @@ } }, "node_modules/diff2html": { - "version": "3.4.20-usewontache.1.60e7a2e", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff2html/-/diff2html-3.4.20-usewontache.1.60e7a2e.tgz", - "integrity": "sha512-0ge1jQpRv9Eg6USdIgnDIzAnuhhlgFPmhglCUBNhSVU772biWWbSu/palu0uK+PbgidjkjkajztZGVAZnD56pw==", + "version": "3.4.55", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff2html/-/diff2html-3.4.55.tgz", + "integrity": "sha512-v7vi4Gluu7VtMNiHxZWyfnzRItkNPo1mxBzf2VnzZZccdN3gcl+4ZG8WBA7p4AkhPeeBcDItu9JF91o2HZkhlQ==", "dev": true, + "license": "MIT", "dependencies": { - "diff": "5.1.0", - "wontache": "0.1.0" + "@profoundlogic/hogan": "^3.0.4", + "diff": "^7.0.0" }, "engines": { "node": ">=12" }, "optionalDependencies": { - "highlight.js": "11.6.0" + "highlight.js": "11.9.0" } }, "node_modules/dir-glob": { @@ -8396,38 +8415,16 @@ } }, "node_modules/highlight.js": { - "version": "11.6.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/highlight.js/-/highlight.js-11.6.0.tgz", - "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==", + "version": "11.9.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=12.0.0" } }, - "node_modules/hogan.js": { - "version": "3.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/hogan.js/-/hogan.js-3.0.2.tgz", - "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", - "dev": true, - "dependencies": { - "mkdirp": "0.3.0", - "nopt": "1.0.10" - }, - "bin": { - "hulk": "bin/hulk" - } - }, - "node_modules/hogan.js/node_modules/mkdirp": { - "version": "0.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/holderjs": { "version": "2.9.9", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/holderjs/-/holderjs-2.9.9.tgz", @@ -9461,44 +9458,6 @@ "node": ">=6.0.0" } }, - "node_modules/jest-stare/node_modules/diff": { - "version": "7.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff/-/diff-7.0.0.tgz", - "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/jest-stare/node_modules/diff2html": { - "version": "3.4.52", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/diff2html/-/diff2html-3.4.52.tgz", - "integrity": "sha512-qhMg8/I3sZ4zm/6R/Kh0xd6qG6Vm86w6M+C9W+DuH1V8ACz+1cgEC8/k0ucjv6AGqZWzHm/8G1gh7IlrUqCMhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "diff": "^7.0.0", - "hogan.js": "3.0.2" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "highlight.js": "11.9.0" - } - }, - "node_modules/jest-stare/node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jest-util/-/jest-util-29.7.0.tgz", @@ -10507,6 +10466,7 @@ "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/nopt/-/nopt-1.0.10.tgz", "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dev": true, + "license": "MIT", "dependencies": { "abbrev": "1" }, @@ -12576,9 +12536,9 @@ } }, "node_modules/typedoc": { - "version": "0.28.15", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typedoc/-/typedoc-0.28.15.tgz", - "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==", + "version": "0.28.16", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typedoc/-/typedoc-0.28.16.tgz", + "integrity": "sha512-x4xW77QC3i5DUFMBp0qjukOTnr/sSg+oEs86nB3LjDslvAmwe/PUGDWbe3GrIqt59oTqoXK5GRK9tAa0sYMiog==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -12660,12 +12620,6 @@ "node": ">=0.8.0" } }, - "node_modules/underscore": { - "version": "1.13.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", - "dev": true - }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/undici-types/-/undici-types-6.21.0.tgz", @@ -12915,15 +12869,6 @@ "node": ">=0.1.90" } }, - "node_modules/wontache": { - "version": "0.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/wontache/-/wontache-0.1.0.tgz", - "integrity": "sha512-UH4ikvEVRtvqY3DoW9/NjctB11FDuHjkKPO1tjaUVIVnZevxNtvba7lhR7H5TfMBVCpF2jwxH1qlu0UQSQ/zCw==", - "dev": true, - "dependencies": { - "underscore": "^1.13.0-2" - } - }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/word-wrap/-/word-wrap-1.2.5.tgz", diff --git a/zowe-cli-id-federation-plugin/package.json b/zowe-cli-id-federation-plugin/package.json index 0559731148..8b8193c2a8 100644 --- a/zowe-cli-id-federation-plugin/package.json +++ b/zowe-cli-id-federation-plugin/package.json @@ -51,12 +51,12 @@ "devDependencies": { "@eslint/js": "9.39.2", "@types/jest": "29.5.14", - "@types/node": "20.19.27", - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@zowe/cli": "8.29.5", - "@zowe/cli-test-utils": "8.29.4", - "@zowe/imperative": "8.29.4", + "@types/node": "20.19.30", + "@typescript-eslint/eslint-plugin": "8.53.1", + "@typescript-eslint/parser": "8.53.1", + "@zowe/cli": "8.29.8", + "@zowe/cli-test-utils": "8.29.8", + "@zowe/imperative": "8.29.8", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -75,18 +75,18 @@ "madge": "8.0.0", "ts-jest": "29.4.6", "ts-node": "10.9.2", - "typedoc": "0.28.15", + "typedoc": "0.28.16", "typescript": "5.9.3" }, "overrides": { - "@babel/traverse": "7.28.5" + "@babel/traverse": "7.28.6" }, "peerDependencies": { - "@zowe/imperative": "8.29.4" + "@zowe/imperative": "8.29.8" }, "engines": { "npm": "=10.9.4", - "node": "=20.19.6" + "node": "=20.20.0" }, "jest": { "modulePathIgnorePatterns": [ From 0f1482ac170e671d3a8e57b1151f31f773a7448f Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Thu, 22 Jan 2026 12:29:27 +0100 Subject: [PATCH 26/71] fix: expect 401 on info endpoint (#4460) Signed-off-by: ac892247 Signed-off-by: Gowtham Selvaraj --- .../zowe/apiml/client/services/apars/PHBase.java | 14 +------------- .../apiml/client/api/RealJwtTokenEndpointTest.java | 2 +- .../apiml/client/services/apars/PHBaseTest.java | 2 +- .../zaas/security/service/zosmf/ZosmfService.java | 3 +++ 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/mock-services/src/main/java/org/zowe/apiml/client/services/apars/PHBase.java b/mock-services/src/main/java/org/zowe/apiml/client/services/apars/PHBase.java index 4e7ac052e4..908d5746eb 100644 --- a/mock-services/src/main/java/org/zowe/apiml/client/services/apars/PHBase.java +++ b/mock-services/src/main/java/org/zowe/apiml/client/services/apars/PHBase.java @@ -136,18 +136,6 @@ private ResponseEntity datasets() { } private ResponseEntity validInfo() { - return new ResponseEntity<>("{\n" + - " \"zos_version\": \"04.27.00\",\n" + - " \"zosmf_port\": \"1443\",\n" + - " \"zosmf_version\": \"27\",\n" + - " \"zosmf_hostname\": \"mock.service.host\",\n" + - " \"plugins\": {\n" + - " \"msgId\": \"IZUG612E\",\n" + - " \"msgText\": \"IZUG612E\"\n" + - " },\n" + - " \"zosmf_saf_realm\": \"SAFRealm\",\n" + - " \"zosmf_full_version\": \"27.0\",\n" + - " \"api_version\": \"1\"\n" + - "}", HttpStatus.OK); + return new ResponseEntity<>(HttpStatus.UNAUTHORIZED); } } diff --git a/mock-services/src/test/java/org/zowe/apiml/client/api/RealJwtTokenEndpointTest.java b/mock-services/src/test/java/org/zowe/apiml/client/api/RealJwtTokenEndpointTest.java index b3616b5907..a467deb0cc 100644 --- a/mock-services/src/test/java/org/zowe/apiml/client/api/RealJwtTokenEndpointTest.java +++ b/mock-services/src/test/java/org/zowe/apiml/client/api/RealJwtTokenEndpointTest.java @@ -33,7 +33,7 @@ class RealJwtTokenEndpointTest { @Test void infoTest() throws Exception { - mvc.perform(get("/zosmf/info")).andExpect(status().isOk()); + mvc.perform(get("/zosmf/info")).andExpect(status().isUnauthorized()); } @Test diff --git a/mock-services/src/test/java/org/zowe/apiml/client/services/apars/PHBaseTest.java b/mock-services/src/test/java/org/zowe/apiml/client/services/apars/PHBaseTest.java index 18ec814e2c..7bec754b82 100644 --- a/mock-services/src/test/java/org/zowe/apiml/client/services/apars/PHBaseTest.java +++ b/mock-services/src/test/java/org/zowe/apiml/client/services/apars/PHBaseTest.java @@ -51,7 +51,7 @@ void givenNothing_Ltpa2TokenIsntReturned() { Optional> result = underTest.apply("information", "", Optional.empty(), mockResponse, headers); assertThat(result.isPresent(), is(true)); - assertThat(result.get().getStatusCode(), is(HttpStatus.OK)); + assertThat(result.get().getStatusCode(), is(HttpStatus.UNAUTHORIZED)); verify(mockResponse, never()).addCookie(any()); } diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/zosmf/ZosmfService.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/zosmf/ZosmfService.java index d6884db8a3..55877e188b 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/zosmf/ZosmfService.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/zosmf/ZosmfService.java @@ -291,6 +291,9 @@ public boolean isAccessible() { return info.getStatusCode() == HttpStatus.OK; } catch (RuntimeException ex) { + if (ex instanceof HttpClientErrorException.Unauthorized) { + return true; + } handleExceptionOnCall(infoURIEndpoint, ex); return false; } From 980fbadd2db5a3a1999d874b49f8449a6de7f861 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 23 Jan 2026 09:30:16 +0000 Subject: [PATCH 27/71] [Gradle Release plugin] [skip ci] Before tag commit 'v3.5.3'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 5f7d9b8be3..8110ec2e12 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.3-SNAPSHOT +version=3.5.3 cleanNodeModules=false cleanNode=false From d2df31a3cff820bf9d5c5e87824f955f03d2b152 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 23 Jan 2026 09:30:17 +0000 Subject: [PATCH 28/71] [Gradle Release plugin] Create new version: 'v3.5.4-SNAPSHOT'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 8110ec2e12..a5dc581d43 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.3 +version=3.5.4-SNAPSHOT cleanNodeModules=false cleanNode=false From 89bd0dee9551bb10ca9dcfa82acd787f32df3b97 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 23 Jan 2026 09:30:18 +0000 Subject: [PATCH 29/71] [skip ci] Update version Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index c1a949f8d8..64e90b3ff5 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.5.3-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.4-SNAPSHOT From e9e1ba4b87c3fd0424dca79f7801b3e5f0554dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sala=C4=8D?= Date: Fri, 23 Jan 2026 15:46:02 +0100 Subject: [PATCH 30/71] chore: Fix modulith service registration IT (#4458) Signed-off-by: Richard Salac Signed-off-by: Gowtham Selvaraj --- .github/workflows/service-registration.yml | 8 +- .../src/main/resources/bin/start.sh | 8 +- apiml-package/src/main/resources/bin/start.sh | 7 +- .../src/main/resources/bin/start.sh | 7 +- .../impl/ApiMediationLayerStartupChecker.java | 3 +- .../util/service/FullApiMediationLayer.java | 77 +++++++++++-------- 6 files changed, 73 insertions(+), 37 deletions(-) diff --git a/.github/workflows/service-registration.yml b/.github/workflows/service-registration.yml index a50146be3d..287224ee4e 100644 --- a/.github/workflows/service-registration.yml +++ b/.github/workflows/service-registration.yml @@ -29,9 +29,15 @@ jobs: - name: Build with Gradle run: > ./gradlew clean build --info --scan - - name: Run startup check + + - name: Run startup check for microservices run: > ./gradlew runStartUpCheck --info --scan -Denvironment.startServices=true + + - name: Run startup check for modulith + run: > + ./gradlew runStartUpCheck --info --scan -Denvironment.startServices=true -Denvironment.modulith=true + - name: Store results uses: actions/upload-artifact@v4 if: always() diff --git a/api-catalog-package/src/main/resources/bin/start.sh b/api-catalog-package/src/main/resources/bin/start.sh index 4e96cacd41..8385c2f87d 100755 --- a/api-catalog-package/src/main/resources/bin/start.sh +++ b/api-catalog-package/src/main/resources/bin/start.sh @@ -135,6 +135,12 @@ then ZOWE_CONSOLE_LOG_CHARSET=IBM-1047 fi fi + +#Set the external URL only if the variables are defined so the APIML can fallback if the property is null +if [ -n "${externalProtocol}" ] && [ -n "${ZWE_zowe_externalDomains_0}" ] && [ -n "${ZWE_zowe_externalPort}" ]; then + EXTERNAL_URL="-Dapiml.service.externalUrl=${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" +fi + LIBPATH="$LIBPATH":"/lib" LIBPATH="$LIBPATH":"/usr/lib" LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin @@ -287,6 +293,7 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${CATALOG_CODE} ${JAVA_BIN_DIR}java \ ${ADD_OPENS} \ ${LOGBACK} \ ${JVM_SECURITY_PROPERTIES} \ + ${EXTERNAL_URL} \ -Dibm.serversocket.recover=true \ -Dfile.encoding=UTF-8 \ -Dlogging.charset.console=${ZOWE_CONSOLE_LOG_CHARSET} \ @@ -298,7 +305,6 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${CATALOG_CODE} ${JAVA_BIN_DIR}java \ -Dapiml.service.gatewayHostname=${ZWE_GATEWAY_HOST:-${ZWE_haInstance_hostname:-localhost}} \ -Dapiml.logs.location=${ZWE_zowe_logDirectory} \ -Dapiml.health.protected=${ZWE_configs_apiml_health_protected:-true} \ - -Dapiml.service.externalUrl="${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" \ -Dapiml.discovery.staticApiDefinitionsDirectories=${ZWE_STATIC_DEFINITIONS_DIR} \ -Dapiml.security.ssl.verifySslCertificatesOfServices=${verifySslCertificatesOfServices:-false} \ -Dapiml.security.ssl.nonStrictVerifySslCertificatesOfServices=${nonStrictVerifySslCertificatesOfServices:-false} \ diff --git a/apiml-package/src/main/resources/bin/start.sh b/apiml-package/src/main/resources/bin/start.sh index 65bcee4716..c6e826d091 100755 --- a/apiml-package/src/main/resources/bin/start.sh +++ b/apiml-package/src/main/resources/bin/start.sh @@ -229,6 +229,11 @@ if [ -n "${ZWE_configs_storage_vsam_name}" ]; then VSAM_FILE_NAME=//\'${ZWE_configs_storage_vsam_name:-${ZWE_components_caching_service_storage_vsam_name}}\' fi +#Set the external URL only if the variables are defined so the APIML can fallback if the property is null +if [ -n "${externalProtocol}" ] && [ -n "${ZWE_zowe_externalDomains_0}" ] && [ -n "${ZWE_zowe_externalPort}" ]; then + EXTERNAL_URL="-Dapiml.service.externalUrl=${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" +fi + LIBPATH="$LIBPATH":"/lib" LIBPATH="$LIBPATH":"/usr/lib" LIBPATH="$LIBPATH":"${JAVA_HOME}/bin" @@ -340,6 +345,7 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${APIML_CODE} ${JAVA_BIN_DIR}java \ ${ADD_OPENS} \ ${LOGBACK} \ ${JVM_SECURITY_PROPERTIES} \ + ${EXTERNAL_URL} \ -Dapiml.cache.storage.location=${ZWE_zowe_workspaceDirectory}/api-mediation/${ZWE_haInstance_id:-localhost} \ -Dapiml.catalog.customStyle.backgroundColor=${ZWE_components_apicatalog_apiml_catalog_customStyle_backgroundColor:-${ZWE_configs_apiml_catalog_customStyle_backgroundColor:-}} \ -Dapiml.catalog.customStyle.docLink=${ZWE_components_apicatalog_apiml_catalog_customStyle_docLink:-${ZWE_configs_apiml_catalog_customStyle_docLink:-}} \ @@ -413,7 +419,6 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${APIML_CODE} ${JAVA_BIN_DIR}java \ -Dapiml.service.apimlId=${ZWE_components_gateway_apimlId:-${ZWE_configs_apimlId:-}} \ -Dapiml.service.corsEnabled=${ZWE_components_gateway_apiml_service_corsEnabled:-${ZWE_configs_apiml_service_corsEnabled:-false}} \ -Dapiml.service.corsAllowedMethods=${ZWE_components_gateway_apiml_service_corsAllowedMethods:-${ZWE_configs_apiml_service_corsAllowedMethods:-GET,HEAD,POST,PATCH,DELETE,PUT,OPTIONS}} \ - -Dapiml.service.externalUrl="${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" \ -Dapiml.service.forwardClientCertEnabled=${ZWE_components_gateway_apiml_security_x509_enabled:-${ZWE_configs_apiml_security_x509_enabled:-false}} \ -Dapiml.service.hostname=${ZWE_haInstance_hostname:-localhost} \ -Dapiml.service.port=${ZWE_components_gateway_port:-${ZWE_configs_port:-7554}} \ diff --git a/gateway-package/src/main/resources/bin/start.sh b/gateway-package/src/main/resources/bin/start.sh index a08c5b5c3a..2dd6810c0b 100755 --- a/gateway-package/src/main/resources/bin/start.sh +++ b/gateway-package/src/main/resources/bin/start.sh @@ -191,6 +191,11 @@ else externalProtocol="http" fi +#Set the external URL only if the variables are defined so the APIML can fallback if the property is null +if [ -n "${externalProtocol}" ] && [ -n "${ZWE_zowe_externalDomains_0}" ] && [ -n "${ZWE_zowe_externalPort}" ]; then + EXTERNAL_URL="-Dapiml.service.externalUrl=${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" +fi + LIBPATH="$LIBPATH":"/lib" LIBPATH="$LIBPATH":"/usr/lib" LIBPATH="$LIBPATH":"${JAVA_HOME}/bin" @@ -306,6 +311,7 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${GATEWAY_CODE} ${JAVA_BIN_DIR}java \ ${ADD_OPENS} \ ${LOGBACK} \ ${JVM_SECURITY_PROPERTIES} \ + ${EXTERNAL_URL} \ -Dapiml.connection.idleConnectionTimeoutSeconds=${ZWE_configs_apiml_connection_idleConnectionTimeoutSeconds:-5} \ -Dapiml.connection.timeout=${ZWE_configs_apiml_connection_timeout:-60000} \ -Dapiml.connection.timeToLive=${ZWE_configs_apiml_connection_timeToLive:-10000} \ @@ -341,7 +347,6 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${GATEWAY_CODE} ${JAVA_BIN_DIR}java \ -Dapiml.service.apimlId=${ZWE_configs_apimlId:-} \ -Dapiml.service.corsEnabled=${ZWE_configs_apiml_service_corsEnabled:-false} \ -Dapiml.service.corsAllowedMethods=${ZWE_configs_apiml_service_corsAllowedMethods:-GET,HEAD,POST,PATCH,DELETE,PUT,OPTIONS} \ - -Dapiml.service.externalUrl="${externalProtocol}://${ZWE_zowe_externalDomains_0}:${ZWE_zowe_externalPort}" \ -Dapiml.service.forwardClientCertEnabled=${ZWE_configs_apiml_security_x509_enabled:-false} \ -Dapiml.service.hostname=${ZWE_haInstance_hostname:-localhost} \ -Dapiml.service.port=${ZWE_configs_port:-7554} \ diff --git a/integration-tests/src/test/java/org/zowe/apiml/startup/impl/ApiMediationLayerStartupChecker.java b/integration-tests/src/test/java/org/zowe/apiml/startup/impl/ApiMediationLayerStartupChecker.java index 5126a27f2f..d16e49c048 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/startup/impl/ApiMediationLayerStartupChecker.java +++ b/integration-tests/src/test/java/org/zowe/apiml/startup/impl/ApiMediationLayerStartupChecker.java @@ -39,6 +39,7 @@ import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.concurrent.TimeUnit.SECONDS; import static org.awaitility.Awaitility.await; +import static org.zowe.apiml.util.config.ConfigReader.IS_MODULITH_ENABLED; /** * Checks and waits until the testing environment is ready to be tested. @@ -46,8 +47,6 @@ @Slf4j public class ApiMediationLayerStartupChecker { - private static final boolean IS_MODULITH_ENABLED = Boolean.parseBoolean(System.getProperty("environment.modulith")); - private final GatewayServiceConfiguration gatewayConfiguration; private final DiscoverableClientConfiguration discoverableClientConfiguration; private final DiscoveryServiceConfiguration discoveryServiceConfiguration; diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/service/FullApiMediationLayer.java b/integration-tests/src/test/java/org/zowe/apiml/util/service/FullApiMediationLayer.java index 8c1e1b6905..318e1dd3c8 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/service/FullApiMediationLayer.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/service/FullApiMediationLayer.java @@ -29,6 +29,9 @@ @Slf4j public class FullApiMediationLayer { + + public static final boolean IS_MODULITH_ENABLED = Boolean.parseBoolean(System.getProperty("environment.modulith")); + private RunningService discoveryService; private RunningService gatewayService; private RunningService apiCatalogService; @@ -52,14 +55,19 @@ public class FullApiMediationLayer { private FullApiMediationLayer() { env = ConfigReader.environmentConfiguration().getInstanceEnv(); + if (IS_MODULITH_ENABLED) { + prepareApiml(); + } else { + prepareGateway(); + prepareDiscovery(); + prepareCaching(); + prepareZaas(); + } + + prepareMockServices(); prepareCatalog(); prepareDiscoverableClient(); - prepareGateway(); - prepareMockServices(); - prepareDiscovery(); - prepareCaching(); - prepareZaas(); - prepareApiml(); + if (!attlsEnabled) { prepareNodeJsSampleApp(); } @@ -130,25 +138,28 @@ private void prepareDiscoverableClient() { public void start() { try { - var discoveryEnv = new HashMap<>(env); - discoveryEnv.put("ZWE_configs_port", "10011"); - discoveryService.startWithScript("discovery-package/src/main/resources/bin", discoveryEnv); - var gatewayEnv = new HashMap<>(env); - gatewayEnv.put("ZWE_configs_port", "10010"); - gatewayService.startWithScript("gateway-package/src/main/resources/bin", gatewayEnv); - var catalogEnv = new HashMap<>(env); - catalogEnv.put("ZWE_configs_port", "10014"); - apiCatalogService.startWithScript("api-catalog-package/src/main/resources/bin", catalogEnv); - var cachingEnv = new HashMap<>(env); - cachingEnv.put("ZWE_configs_port", "10016"); - cachingService.startWithScript("caching-service-package/src/main/resources/bin", cachingEnv); - var zaasEnv = new HashMap<>(env); - zaasEnv.put("ZWE_configs_port", "10023"); - zaasService.startWithScript("zaas-package/src/main/resources/bin", zaasEnv); - var apimlModulithEnv = new HashMap<>(env); - apimlModulithEnv.put("ZWE_configs_port", "10020"); - apimlModulithEnv.put("ZWE_configs_internal_discovery_port", "10021"); - apimlService.startWithScript("apiml-package/src/main/resources/bin", apimlModulithEnv); + if (IS_MODULITH_ENABLED) { + var apimlModulithEnv = new HashMap<>(env); + apimlModulithEnv.put("ZWE_configs_port", "10010"); + apimlModulithEnv.put("ZWE_configs_internal_discovery_port", "10011"); + apimlService.startWithScript("apiml-package/src/main/resources/bin", apimlModulithEnv); + } else { + var discoveryEnv = new HashMap<>(env); + discoveryEnv.put("ZWE_configs_port", "10011"); + discoveryService.startWithScript("discovery-package/src/main/resources/bin", discoveryEnv); + var gatewayEnv = new HashMap<>(env); + gatewayEnv.put("ZWE_configs_port", "10010"); + gatewayService.startWithScript("gateway-package/src/main/resources/bin", gatewayEnv); + var catalogEnv = new HashMap<>(env); + catalogEnv.put("ZWE_configs_port", "10014"); + apiCatalogService.startWithScript("api-catalog-package/src/main/resources/bin", catalogEnv); + var cachingEnv = new HashMap<>(env); + cachingEnv.put("ZWE_configs_port", "10016"); + cachingService.startWithScript("caching-service-package/src/main/resources/bin", cachingEnv); + var zaasEnv = new HashMap<>(env); + zaasEnv.put("ZWE_configs_port", "10023"); + zaasService.startWithScript("zaas-package/src/main/resources/bin", zaasEnv); + } if (!attlsEnabled) { nodeJsSampleApp = nodeJsBuilder.start(); @@ -176,18 +187,22 @@ private String formatEnv() { public void stop() { try { - discoveryService.stop(); - gatewayService.stop(); mockZosmfService.stop(); - - apiCatalogService.stop(); discoverableClientService.stop(); - cachingService.stop(); - zaasService.stop(); if (!attlsEnabled && startServices()) { nodeJsSampleApp.destroy(); } + + if (IS_MODULITH_ENABLED) { + apimlService.stop(); + } else { + discoveryService.stop(); + gatewayService.stop(); + apiCatalogService.stop(); + cachingService.stop(); + zaasService.stop(); + } } catch (Exception e) { e.printStackTrace(); } From f13d33f872c634d44464dae93b19754938091db7 Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Fri, 23 Jan 2026 17:01:26 -0500 Subject: [PATCH 31/71] chore: Update all non-major dependencies (v3.x.x) (#4462) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Renovate Bot Signed-off-by: Pavel Jareš <58428711+pavel-jares-bcm@users.noreply.github.com> Co-authored-by: Renovate Bot Co-authored-by: Nafi Xhafa <164854562+nxhafa@users.noreply.github.com> Co-authored-by: Pavel Jareš <58428711+pavel-jares-bcm@users.noreply.github.com> Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/package-lock.json | 24 +- api-catalog-ui/frontend/package.json | 8 +- onboarding-enabler-nodejs/package-lock.json | 8 +- onboarding-enabler-nodejs/package.json | 2 +- .../package-lock.json | 4572 +++-------------- zowe-cli-id-federation-plugin/package.json | 8 +- 6 files changed, 879 insertions(+), 3743 deletions(-) diff --git a/api-catalog-ui/frontend/package-lock.json b/api-catalog-ui/frontend/package-lock.json index d9431281e7..1c8f364ae8 100644 --- a/api-catalog-ui/frontend/package-lock.json +++ b/api-catalog-ui/frontend/package-lock.json @@ -33,7 +33,7 @@ "htmr": "1.0.2", "immutable": "^3.8.1 || ^4.0.0-rc.1", "install": "0.13.0", - "lodash": "4.17.21", + "lodash": "4.17.23", "loglevel": "1.9.2", "openapi-snippet": "0.14.0", "process": "0.11.10", @@ -53,7 +53,7 @@ "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.97.2", + "sass": "1.97.3", "stream": "0.0.3", "swagger-ui-react": "5.31.0", "url": "0.11.4", @@ -109,7 +109,7 @@ "mini-css-extract-plugin": "2.10.0", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.8.0", + "prettier": "3.8.1", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -19866,9 +19866,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "license": "MIT" }, "node_modules/lodash._baseisequal": { @@ -23381,9 +23381,9 @@ } }, "node_modules/prettier": { - "version": "3.8.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.8.0.tgz", - "integrity": "sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==", + "version": "3.8.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { @@ -27501,9 +27501,9 @@ "license": "CC0-1.0" }, "node_modules/sass": { - "version": "1.97.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.97.2.tgz", - "integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==", + "version": "1.97.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", diff --git a/api-catalog-ui/frontend/package.json b/api-catalog-ui/frontend/package.json index e467fe9640..6033039c75 100644 --- a/api-catalog-ui/frontend/package.json +++ b/api-catalog-ui/frontend/package.json @@ -29,7 +29,7 @@ "htmr": "1.0.2", "immutable": "^3.8.1 || ^4.0.0-rc.1", "install": "0.13.0", - "lodash": "4.17.21", + "lodash": "4.17.23", "loglevel": "1.9.2", "openapi-snippet": "0.14.0", "process": "0.11.10", @@ -49,7 +49,7 @@ "redux-persist-transform-filter": "0.0.22", "redux-thunk": "3.1.0", "rxjs": "7.8.2", - "sass": "1.97.2", + "sass": "1.97.3", "stream": "0.0.3", "swagger-ui-react": "5.31.0", "url": "0.11.4", @@ -131,7 +131,7 @@ "mini-css-extract-plugin": "2.10.0", "nodemon": "3.1.11", "nth-check": "2.1.1", - "prettier": "3.8.0", + "prettier": "3.8.1", "prop-types": "15.8.1", "querystring-es3": "0.2.1", "react-app-rewired": "2.2.1", @@ -153,7 +153,7 @@ "tough-cookie": "5.1.2", "@braintree/sanitize-url": "7.1.1", "resolve-url-loader": "5.0.0", - "lodash": "4.17.21", + "lodash": "4.17.23", "semver": "7.7.3", "@babel/traverse": "7.28.6", "axios": "1.13.2", diff --git a/onboarding-enabler-nodejs/package-lock.json b/onboarding-enabler-nodejs/package-lock.json index 73a6bc2c93..82f1469d5d 100644 --- a/onboarding-enabler-nodejs/package-lock.json +++ b/onboarding-enabler-nodejs/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "async": "3.2.6", "js-yaml": "4.1.1", - "lodash": "4.17.21" + "lodash": "4.17.23" }, "devDependencies": { "babel-core": "6.26.3", @@ -5452,9 +5452,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "license": "MIT" }, "node_modules/lodash.cond": { diff --git a/onboarding-enabler-nodejs/package.json b/onboarding-enabler-nodejs/package.json index babe745ed3..2a8630fe07 100644 --- a/onboarding-enabler-nodejs/package.json +++ b/onboarding-enabler-nodejs/package.json @@ -21,7 +21,7 @@ "dependencies": { "async": "3.2.6", "js-yaml": "4.1.1", - "lodash": "4.17.21" + "lodash": "4.17.23" }, "devDependencies": { "babel-core": "6.26.3", diff --git a/zowe-cli-id-federation-plugin/package-lock.json b/zowe-cli-id-federation-plugin/package-lock.json index 3dadfc802b..7b1732fe22 100644 --- a/zowe-cli-id-federation-plugin/package-lock.json +++ b/zowe-cli-id-federation-plugin/package-lock.json @@ -17,9 +17,9 @@ "@types/node": "20.19.30", "@typescript-eslint/eslint-plugin": "8.53.1", "@typescript-eslint/parser": "8.53.1", - "@zowe/cli": "8.29.8", - "@zowe/cli-test-utils": "8.29.8", - "@zowe/imperative": "8.29.8", + "@zowe/cli": "8.29.9", + "@zowe/cli-test-utils": "8.29.9", + "@zowe/imperative": "8.29.9", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -46,7 +46,7 @@ "npm": "=10.9.4" }, "peerDependencies": { - "@zowe/imperative": "8.29.8" + "@zowe/imperative": "8.29.9" } }, "node_modules/@ampproject/remapping": { @@ -1422,218 +1422,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git": { - "version": "5.0.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/git/-/git-5.0.8.tgz", - "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", - "dev": true, - "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "5.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/package-json/-/package-json-5.2.1.tgz", - "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==", - "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/package-json/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", - "dev": true, - "dependencies": { - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1706,80 +1494,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@sigstore/bundle": { - "version": "2.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/bundle/-/bundle-2.3.2.tgz", - "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/core": { - "version": "1.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/core/-/core-1.1.0.tgz", - "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", - "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "2.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/sign/-/sign-2.3.2.tgz", - "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "2.3.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/tuf/-/tuf-2.3.4.tgz", - "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/verify": { - "version": "1.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sigstore/verify/-/verify-1.2.1.tgz", - "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1917,52 +1631,6 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@tufjs/models/-/models-2.0.1.tgz", - "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", - "dev": true, - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -2485,29 +2153,29 @@ "dev": true }, "node_modules/@zowe/cli": { - "version": "8.29.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.8.tgz", - "integrity": "sha512-eYfS6kTReL+g5b3UV0o5G+NCGzdxmKeyHasJYa8j6SUXWFOloYwM+qWqhMweVrUulhorYTrL/90A+Y4/05o7Dg==", + "version": "8.29.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.9.tgz", + "integrity": "sha512-J+4ztZy4M1PZYJM4mbrcbOPXZI1N39MypS8V9ERT/iE9dp31x1ugX2viBcjnJlNV5CUeqOsPPs+PM2yQmEHAew==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "license": "EPL-2.0", "dependencies": { - "@zowe/core-for-zowe-sdk": "8.29.8", - "@zowe/imperative": "8.29.8", - "@zowe/provisioning-for-zowe-sdk": "8.29.8", - "@zowe/zos-console-for-zowe-sdk": "8.29.8", - "@zowe/zos-files-for-zowe-sdk": "8.29.8", - "@zowe/zos-jobs-for-zowe-sdk": "8.29.8", - "@zowe/zos-logs-for-zowe-sdk": "8.29.8", - "@zowe/zos-tso-for-zowe-sdk": "8.29.8", - "@zowe/zos-uss-for-zowe-sdk": "8.29.8", - "@zowe/zos-workflows-for-zowe-sdk": "8.29.8", - "@zowe/zosmf-for-zowe-sdk": "8.29.8", - "find-process": "1.4.7", - "lodash": "4.17.21", - "minimatch": "9.0.5", - "tar": "6.2.1" + "@zowe/core-for-zowe-sdk": "8.29.9", + "@zowe/imperative": "8.29.9", + "@zowe/provisioning-for-zowe-sdk": "8.29.9", + "@zowe/zos-console-for-zowe-sdk": "8.29.9", + "@zowe/zos-files-for-zowe-sdk": "8.29.9", + "@zowe/zos-jobs-for-zowe-sdk": "8.29.9", + "@zowe/zos-logs-for-zowe-sdk": "8.29.9", + "@zowe/zos-tso-for-zowe-sdk": "8.29.9", + "@zowe/zos-uss-for-zowe-sdk": "8.29.9", + "@zowe/zos-workflows-for-zowe-sdk": "8.29.9", + "@zowe/zosmf-for-zowe-sdk": "8.29.9", + "find-process": "^1.4.7", + "lodash": "^4.17.21", + "minimatch": "^9.0.5", + "tar": "^7.5.4" }, "bin": { "zowe": "lib/main.js" @@ -2520,9 +2188,9 @@ } }, "node_modules/@zowe/cli-test-utils": { - "version": "8.29.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.8.tgz", - "integrity": "sha512-zcCVycozXAFToaZoIyq1bX1p+1xuE5tiTRH+s5rJMXc+5kqK71n9PoLcNCC15VmbTE02ZEY0FBb0m5bRzr9tmg==", + "version": "8.29.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.9.tgz", + "integrity": "sha512-K0kWwNhpdrBzgcyA7I8EQp5bmXomXiYRXOZNU4rzj32A4AkaoM+FpisD8E/Os6OtLkms+fqgLwZmRo/3bX1I5Q==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2569,2173 +2237,1020 @@ "kuler": "^2.0.0" } }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/@zowe/cli/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "minipass": "^7.0.4" }, "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", + "node_modules/@zowe/cli/node_modules/@jest/schemas": { + "version": "29.6.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@sinclair/typebox": "^0.27.8" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", + "node_modules/@zowe/cli/node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/@zowe/cli/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/@zowe/cli/node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/@jest/schemas": { - "version": "29.6.3", + "node_modules/@zowe/cli/node_modules/@profoundlogic/hogan": { + "version": "3.0.4", + "integrity": "sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "nopt": "1.0.10" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "hulk": "bin/hulk" } }, - "node_modules/@zowe/cli/node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@zowe/cli/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/@types/triple-beam": { + "version": "1.3.5", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/@types/yargs": { + "version": "17.0.32", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "@types/yargs-parser": "*" } }, - "node_modules/@zowe/cli/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@zowe/cli/node_modules/@types/yargs-parser": { + "version": "20.2.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@zowe/cli/node_modules/@zowe/core-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-xsjiB4Ixwqy5sL5ireUctEmby9XoaUKYUqpMYvP1bpfk8a2X1yvj3atxtvFFQVf6WCyfRXUQglr2Hn0iZScAQg==", "dev": true, - "license": "MIT", + "license": "EPL-2.0", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "comment-json": "~4.2.3", + "string-width": "^4.2.3" }, "engines": { - "node": ">= 8" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/agent": { - "version": "2.2.1", + "node_modules/@zowe/cli/node_modules/@zowe/imperative": { + "version": "8.29.9", + "integrity": "sha512-J4oSHka5/bd93jJZlh9+MhrTtLNgC9ZOK0g9yde3rImtMvG/JB9zhIor2unaT494H/RXmCPKtvwATHCKY5KL6g==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" + "@types/yargs": "^17.0.32", + "chalk": "^4.1.2", + "cli-table3": "^0.6.3", + "comment-json": "~4.2.3", + "cross-spawn": "^7.0.6", + "dataobject-parser": "^1.2.25", + "dayjs": "1.11.13", + "deepmerge": "^4.3.1", + "diff": "^7.0.0", + "diff2html": "^3.4.55", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "find-up": "^5.0.0", + "fs-extra": "^11.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", + "jest-diff": "^29.0.0", + "js-yaml": "^4.1.0", + "jsonfile": "^6.0.0", + "jsonschema": "^1.4.1", + "lodash": "^4.17.21", + "lodash-deep": "^2.0.0", + "log4js": "^6.9.1", + "markdown-it": "^14.1.0", + "mustache": "^4.2.0", + "npm-package-arg": "^11.0.1", + "opener": "^1.5.2", + "prettyjson": "^1.2.5", + "progress": "^2.0.3", + "read": "^3.0.1", + "semver": "^7.5.2", + "stack-trace": "^0.0.10", + "strip-ansi": "^6.0.1", + "which": "^4.0.0", + "winston": "^3.17.0", + "wrap-ansi": "^7.0.0", + "yargs": "^17.7.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=20.9.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/agent/node_modules/agent-base": { - "version": "7.1.0", + "node_modules/@zowe/cli/node_modules/@zowe/provisioning-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-wUFL6+rKURWq2Pe6FPCk8a/SBHSxzGT7D8qZkkWyMCErdrbIwUQYFclx4PDeEEWZTOBKpF1gIkSCGO77t/jl8A==", "dev": true, - "license": "MIT", + "license": "EPL-2.0", "dependencies": { - "debug": "^4.3.4" + "js-yaml": "^4.1.0" }, "engines": { - "node": ">= 14" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/agent/node_modules/http-proxy-agent": { - "version": "7.0.2", + "node_modules/@zowe/cli/node_modules/@zowe/secrets-for-zowe-sdk": { + "version": "8.29.4", + "integrity": "sha512-fiRfuEuFNapwhVbN3LJIA2ZgVajNB+QNFN7O7ES/fIYGM612PKcXuvbZUJSlU69IZ8eUF8SP+9OnveK4s+GLgw==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, + "hasInstallScript": true, + "license": "EPL-2.0", + "optional": true, "engines": { - "node": ">= 14" + "node": ">=14" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/agent/node_modules/https-proxy-agent": { - "version": "7.0.4", + "node_modules/@zowe/cli/node_modules/@zowe/zos-console-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-Gv2FrqAWOLsrh88zDUv5erQStmz2LZ0Hi4RO0RoKskrhrCwt16boSH3C3SJKR0SrMYLmR22AqJnlbb4XGwoiHQ==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, + "license": "EPL-2.0", "engines": { - "node": ">= 14" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { - "version": "8.0.2", + "node_modules/@zowe/cli/node_modules/@zowe/zos-files-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-OwK9yhOuKGsAJakrd4IdyL8Pyk9to3Ym2ALBnkcMgZqEo0zjBNxYlvNvPZK44uDNBn1Z3CorMGT7/2VYAwn7Kw==", "dev": true, - "license": "MIT", + "license": "EPL-2.0", "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "socks": "^2.7.1" + "lodash": "^4.17.21", + "minimatch": "^9.0.5" }, "engines": { - "node": ">= 14" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/git": { - "version": "5.0.4", + "node_modules/@zowe/cli/node_modules/@zowe/zos-jobs-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-dsEspf9+u28wScaod2hBKx21Lf80/9pRx2LyRkEeE7LGakZVqtaqQFv7prD/t3itIkGfMyzTfAs8vwCZWhLKkA==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" + "@zowe/zos-files-for-zowe-sdk": "8.29.9" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/git/node_modules/npm-normalize-package-bin": { - "version": "3.0.1", + "node_modules/@zowe/cli/node_modules/@zowe/zos-logs-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-lU0/iaum+EUaS3El38mnCloo59bqDkXGL5IMcdmudWlxEcF4UbxqCZumZ2nUY7UpE+Li2L2kCcdR197so2UJLg==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/git/node_modules/npm-pick-manifest": { - "version": "9.0.0", + "node_modules/@zowe/cli/node_modules/@zowe/zos-tso-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-90otKtTuLUURj1bYMv1cnLymH0Q/UmtJ7fqASFxVaFpC12jhuZj+vL620owkVFK9fhXoj+poC7esh/yI/DjQ4w==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" + "@zowe/zosmf-for-zowe-sdk": "8.29.9" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/git/node_modules/proc-log": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/@zowe/zos-uss-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-YY6nEP18B1W00el+/c+MZ6rJd8dHDDc+0/b6A2v+dX2GsgMS7UBXF5d6iwVHkzRdRrcH4MOu6WhQw57Z9TDNSw==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", + "dependencies": { + "ssh2": "^1.15.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/promise-spawn": { - "version": "7.0.1", + "node_modules/@zowe/cli/node_modules/@zowe/zos-workflows-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-ltc+TvcJ+oCRE/PSyUgD/xT+RIghmO8Vfh1TnoVzaM7bXs9AC3n9MVa+z3d1FxwqAT8MBz/6fV/RxlikfgaTxg==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "dependencies": { - "which": "^4.0.0" + "@zowe/zos-files-for-zowe-sdk": "8.29.9" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@npmcli/redact": { - "version": "2.0.1", + "node_modules/@zowe/cli/node_modules/@zowe/zosmf-for-zowe-sdk": { + "version": "8.29.9", + "integrity": "sha512-m/YnLS98ROxalR26uFuSlJVKI09CF+gyCNmeeO6tN/anQ8LDK6pqs5/VClfUvDuIbuclRCk24STbJSC48upTcQ==", "dev": true, - "license": "ISC", + "license": "EPL-2.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=20.9.0" + }, + "peerDependencies": { + "@zowe/core-for-zowe-sdk": "^8.0.0", + "@zowe/imperative": "^8.0.0" } }, - "node_modules/@zowe/cli/node_modules/@pkgjs/parseargs": { - "version": "0.11.0", + "node_modules/@zowe/cli/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/@zowe/cli/node_modules/agent-base": { + "version": "7.1.4", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=14" - } - }, - "node_modules/@zowe/cli/node_modules/@profoundlogic/hogan": { - "version": "3.0.4", - "integrity": "sha512-pmNVGuooS30Mm7YbZd5T7E5zYVO6D5Ct91sn4T39mUvMUc3sCGridcnhAufL1/Bz2QzAtzEn0agNrdk3+5yWzw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "nopt": "1.0.10" - }, - "bin": { - "hulk": "bin/hulk" + "node": ">= 14" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/bundle": { - "version": "2.2.0", + "node_modules/@zowe/cli/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/core": { - "version": "1.0.0", + "node_modules/@zowe/cli/node_modules/argparse": { + "version": "2.0.1", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } + "license": "Python-2.0" }, - "node_modules/@zowe/cli/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.0", + "node_modules/@zowe/cli/node_modules/array-timsort": { + "version": "1.0.3", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign": { - "version": "2.2.3", + "node_modules/@zowe/cli/node_modules/asn1": { + "version": "0.2.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", - "make-fetch-happen": "^13.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/@npmcli/fs": { - "version": "3.1.0", + "node_modules/@zowe/cli/node_modules/balanced-match": { + "version": "1.0.2", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "tweetnacl": "^0.14.3" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/cacache": { - "version": "18.0.2", + "node_modules/@zowe/cli/node_modules/brace-expansion": { + "version": "2.0.2", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/fs-minipass": { + "node_modules/@zowe/cli/node_modules/braces": { "version": "3.0.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" + "fill-range": "^7.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/glob": { - "version": "10.5.0", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "node_modules/@zowe/cli/node_modules/buildcheck": { + "version": "0.0.6", "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "optional": true, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/make-fetch-happen": { - "version": "13.0.0", + "node_modules/@zowe/cli/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/minipass": { - "version": "7.1.2", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/minipass-collect": { - "version": "2.0.1", + "node_modules/@zowe/cli/node_modules/chownr": { + "version": "3.0.0", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/minipass-fetch": { - "version": "3.0.4", + "node_modules/@zowe/cli/node_modules/cli-table3": { + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "string-width": "^4.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "10.* || >= 12.*" }, "optionalDependencies": { - "encoding": "^0.1.13" + "@colors/colors": "1.5.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/ssri": { - "version": "10.0.5", + "node_modules/@zowe/cli/node_modules/color": { + "version": "3.2.1", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/color-convert": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "unique-slug": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/sign/node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/@zowe/cli/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/@sigstore/tuf": { - "version": "2.3.1", + "node_modules/@zowe/cli/node_modules/color-string": { + "version": "1.9.1", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.0", - "tuf-js": "^2.2.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/@zowe/cli/node_modules/@sigstore/verify": { - "version": "1.1.0", + "node_modules/@zowe/cli/node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "color-name": "1.1.3" } }, - "node_modules/@zowe/cli/node_modules/@sinclair/typebox": { - "version": "0.27.8", + "node_modules/@zowe/cli/node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/@tufjs/canonical-json": { - "version": "2.0.0", + "node_modules/@zowe/cli/node_modules/colors": { + "version": "1.4.0", "dev": true, "license": "MIT", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=0.1.90" } }, - "node_modules/@zowe/cli/node_modules/@tufjs/models": { - "version": "2.0.0", + "node_modules/@zowe/cli/node_modules/colorspace": { + "version": "1.1.4", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dev": true, "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "color": "^3.1.3", + "text-hex": "1.0.x" } }, - "node_modules/@zowe/cli/node_modules/@types/triple-beam": { - "version": "1.3.5", - "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "node_modules/@zowe/cli/node_modules/commander": { + "version": "5.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/@zowe/cli/node_modules/@types/yargs": { - "version": "17.0.32", + "node_modules/@zowe/cli/node_modules/comment-json": { + "version": "4.2.3", "dev": true, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@zowe/cli/node_modules/@types/yargs-parser": { - "version": "20.2.1", + "node_modules/@zowe/cli/node_modules/core-util-is": { + "version": "1.0.3", "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/@zowe/core-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-G3XvgKGLy72ID7CZZsK8TYLjuxBDFN5ATEOl8rTl9TIBheKEis9TwCqSMEfAEal+1RWpSJLLTPdtffOYCLjLDA==", + "node_modules/@zowe/cli/node_modules/cpu-features": { + "version": "0.0.9", "dev": true, + "hasInstallScript": true, + "optional": true, "dependencies": { - "comment-json": "~4.2.3", - "string-width": "^4.2.3" + "buildcheck": "~0.0.6", + "nan": "^2.17.0" }, "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/imperative": "^8.0.0" + "node": ">=10.0.0" } }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative": { - "version": "8.29.8", - "integrity": "sha512-/0+6AaO5OODxRv0OgfLhMjcmxy57mtobhn/xsy3clCuX8dfHgvecDxpkJYrKb1MMPxqHQ8qh/wM0r04Q3+qKUQ==", + "node_modules/@zowe/cli/node_modules/cross-spawn": { + "version": "7.0.6", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/yargs": "^17.0.32", - "chalk": "^4.1.2", - "cli-table3": "^0.6.3", - "comment-json": "~4.2.3", - "cross-spawn": "^7.0.6", - "dataobject-parser": "^1.2.25", - "dayjs": "1.11.13", - "deepmerge": "^4.3.1", - "diff": "^7.0.0", - "diff2html": "^3.4.55", - "fast-glob": "^3.3.2", - "fastest-levenshtein": "^1.0.16", - "find-up": "^5.0.0", - "fs-extra": "^11.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", - "jest-diff": "^29.0.0", - "js-yaml": "^4.1.0", - "jsonfile": "^6.0.0", - "jsonschema": "^1.4.1", - "lodash": "^4.17.21", - "lodash-deep": "^2.0.0", - "log4js": "^6.9.1", - "markdown-it": "^14.1.0", - "mustache": "^4.2.0", - "npm-package-arg": "^11.0.1", - "opener": "^1.5.2", - "pacote": "^18.0.6", - "prettyjson": "^1.2.5", - "progress": "^2.0.3", - "read": "^3.0.1", - "semver": "^7.5.2", - "stack-trace": "^0.0.10", - "strip-ansi": "^6.0.1", - "which": "^4.0.0", - "winston": "^3.17.0", - "wrap-ansi": "^7.0.0", - "yargs": "^17.7.2" - }, - "engines": { - "node": ">=20.9.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/agent-base": { - "version": "7.1.4", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/http-proxy-agent": { - "version": "7.0.2", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/imperative/node_modules/https-proxy-agent": { - "version": "7.0.6", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/provisioning-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-nGL6M05ErrrMSW3EWm08adsWg8wHB21PoPgZUokNgwkSE/9ZT0iaDjv0O7Y83Mr30REfXQSnafAmPhq/HAC+Vw==", - "dev": true, - "dependencies": { - "js-yaml": "^4.1.0" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/secrets-for-zowe-sdk": { - "version": "8.29.4", - "integrity": "sha512-fiRfuEuFNapwhVbN3LJIA2ZgVajNB+QNFN7O7ES/fIYGM612PKcXuvbZUJSlU69IZ8eUF8SP+9OnveK4s+GLgw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-console-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-iJ1RcRpa1pIlleU8CJ0rM16BBnSKJAPuWV4oficeT4OLPvaE5DSxOgnYZiK8a7tNHBzuPU67qteijP8WRVCtzQ==", - "dev": true, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-files-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-0pO7P1znzl++xxcrJnozuD7Qmv6qHQ5440mQR4uYgQ0bDob43pc9qDQqArxdB+sjPbU9tEwTOuNNr4NemTfHIg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21", - "minimatch": "^9.0.5" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-jobs-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-MPLK6Fd6syY57Mb4pRevwZxQFmMIzcj+9xQOODVHnPKIHj5t7DvMMuKlBMEJWQopiwDpO5YYEEEKRe499y1GkA==", - "dev": true, - "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.8" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-logs-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-cNenTeZwk7//D0gh2/aQTymjUPA6LfUBBaPp55kDqrN3vXU9hcj/u0RaWaFXP/Awv0eA8F99QX0Wo9mo/umeJg==", - "dev": true, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-tso-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-Chg/MI1bqbr0Fr4zaFwE/1PZ1eu3476ERfEeJC+LVPKiou900zmIDxNxjcyPlKFkK2QKbwayI6TI8aI6yHpJXA==", - "dev": true, - "dependencies": { - "@zowe/zosmf-for-zowe-sdk": "8.29.8" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-uss-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-ZRR3EDThKg+xqB3EBq5HC5hw4Fa87jF3EP5XzmXjOEBW82zZbIHo7Ef+CX5VxkP5uYj17sxD0seJmcBUVedJ6Q==", - "dev": true, - "dependencies": { - "ssh2": "^1.15.0" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zos-workflows-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-2AkUyegzaTaEpqmw7IM97eKBQLD1Gj+uZM7PUeeESoto8DgDzKPxekvqY0a6CpTPLAAx+C4sujnWxxSd0jeUOw==", - "dev": true, - "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.8" - }, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/@zowe/zosmf-for-zowe-sdk": { - "version": "8.29.8", - "integrity": "sha512-gncJ9cKipWvi58eU06Manu6Azno3rja2++KmMjlUgC/PUYIBBfWMlcwj73mPKcZftCc3NKSLiH4rHtQjIDvFIA==", - "dev": true, - "engines": { - "node": ">=20.9.0" - }, - "peerDependencies": { - "@zowe/core-for-zowe-sdk": "^8.0.0", - "@zowe/imperative": "^8.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/abbrev": { - "version": "1.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@zowe/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@zowe/cli/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/@zowe/cli/node_modules/array-timsort": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/asn1": { - "version": "0.2.6", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/@zowe/cli/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/@zowe/cli/node_modules/brace-expansion": { - "version": "2.0.2", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/braces": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/buildcheck": { - "version": "0.0.6", - "dev": true, - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@zowe/cli/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@zowe/cli/node_modules/cli-table3": { - "version": "0.6.5", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/@zowe/cli/node_modules/color": { - "version": "3.2.1", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/@zowe/cli/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/color-string": { - "version": "1.9.1", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/@zowe/cli/node_modules/color/node_modules/color-convert": { - "version": "1.9.3", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@zowe/cli/node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/colors": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@zowe/cli/node_modules/colorspace": { - "version": "1.1.4", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, - "node_modules/@zowe/cli/node_modules/commander": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@zowe/cli/node_modules/comment-json": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.3", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@zowe/cli/node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/cpu-features": { - "version": "0.0.9", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "buildcheck": "~0.0.6", - "nan": "^2.17.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/cross-spawn": { - "version": "7.0.6", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@zowe/cli/node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/@zowe/cli/node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@zowe/cli/node_modules/dataobject-parser": { - "version": "1.2.25", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@zowe/cli/node_modules/date-format": { - "version": "4.0.14", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@zowe/cli/node_modules/dayjs": { - "version": "1.11.13", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/debug": { - "version": "4.4.3", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@zowe/cli/node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@zowe/cli/node_modules/diff": { - "version": "7.0.0", - "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/@zowe/cli/node_modules/diff-sequences": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/diff2html": { - "version": "3.4.55", - "integrity": "sha512-v7vi4Gluu7VtMNiHxZWyfnzRItkNPo1mxBzf2VnzZZccdN3gcl+4ZG8WBA7p4AkhPeeBcDItu9JF91o2HZkhlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@profoundlogic/hogan": "^3.0.4", - "diff": "^7.0.0" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "highlight.js": "11.9.0" - } - }, - "node_modules/@zowe/cli/node_modules/eastasianwidth": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/enabled": { - "version": "2.0.0", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/encoding": { - "version": "0.1.13", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/@zowe/cli/node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@zowe/cli/node_modules/entities": { - "version": "4.5.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@zowe/cli/node_modules/env-paths": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@zowe/cli/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@zowe/cli/node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@zowe/cli/node_modules/exponential-backoff": { - "version": "3.1.1", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@zowe/cli/node_modules/fast-glob": { - "version": "3.3.3", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/@zowe/cli/node_modules/fastest-levenshtein": { - "version": "1.0.16", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/@zowe/cli/node_modules/fastq": { - "version": "1.13.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/@zowe/cli/node_modules/fecha": { - "version": "4.2.3", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/fill-range": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/find-process": { - "version": "1.4.7", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "commander": "^5.1.0", - "debug": "^4.1.1" - }, - "bin": { - "find-process": "bin/find-process.js" - } - }, - "node_modules/@zowe/cli/node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@zowe/cli/node_modules/flatted": { - "version": "3.3.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/fn.name": { - "version": "1.1.0", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/foreground-child": { - "version": "3.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@zowe/cli/node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@zowe/cli/node_modules/fs-extra": { - "version": "11.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@zowe/cli/node_modules/fs-minipass": { - "version": "2.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@zowe/cli/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/@zowe/cli/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@zowe/cli/node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/has-own-prop": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/highlight.js": { - "version": "11.9.0", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/hosted-git-info": { - "version": "7.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/http-cache-semantics": { - "version": "4.1.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@zowe/cli/node_modules/ignore-walk": { - "version": "6.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/@zowe/cli/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/ip-address": { - "version": "9.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/@zowe/cli/node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@zowe/cli/node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@zowe/cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@zowe/cli/node_modules/is-lambda": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@zowe/cli/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@zowe/cli/node_modules/isexe": { - "version": "3.1.1", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@zowe/cli/node_modules/jackspeak": { - "version": "3.4.3", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/@zowe/cli/node_modules/jest-diff": { - "version": "29.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/jest-get-type": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/js-yaml": { - "version": "4.1.1", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@zowe/cli/node_modules/jsbn": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@zowe/cli/node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/jsonschema": { - "version": "1.4.1", - "dev": true, - "license": "MIT", + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": "*" + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/kuler": { + "node_modules/@zowe/cli/node_modules/cross-spawn/node_modules/isexe": { "version": "2.0.0", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/@zowe/cli/node_modules/linkify-it": { - "version": "5.0.0", + "node_modules/@zowe/cli/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "uc.micro": "^2.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/@zowe/cli/node_modules/dataobject-parser": { + "version": "1.2.25", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/@zowe/cli/node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/lodash-deep": { - "version": "2.0.0", + "node_modules/@zowe/cli/node_modules/date-format": { + "version": "4.0.14", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", "dev": true, "license": "MIT", - "dependencies": { - "lodash": ">=3.7.0" - }, "engines": { - "node": ">=0.8.0", - "npm": ">=1.2.10" + "node": ">=4.0" } }, - "node_modules/@zowe/cli/node_modules/log4js": { - "version": "6.9.1", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "node_modules/@zowe/cli/node_modules/dayjs": { + "version": "1.11.13", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/logform": { - "version": "2.7.0", - "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "node_modules/@zowe/cli/node_modules/debug": { + "version": "4.4.3", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" + "ms": "^2.1.3" }, "engines": { - "node": ">= 12.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@zowe/cli/node_modules/logform/node_modules/@colors/colors": { - "version": "1.6.0", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "node_modules/@zowe/cli/node_modules/deepmerge": { + "version": "4.3.1", "dev": true, "license": "MIT", "engines": { - "node": ">=0.1.90" + "node": ">=0.10.0" } }, - "node_modules/@zowe/cli/node_modules/lru-cache": { - "version": "10.2.0", + "node_modules/@zowe/cli/node_modules/diff": { + "version": "7.0.0", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/@zowe/cli/node_modules/markdown-it": { - "version": "14.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" + "node": ">=0.3.1" } }, - "node_modules/@zowe/cli/node_modules/mdurl": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/merge2": { - "version": "1.4.1", + "node_modules/@zowe/cli/node_modules/diff-sequences": { + "version": "29.6.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" - } - }, - "node_modules/@zowe/cli/node_modules/micromatch": { - "version": "4.0.8", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/minimatch": { - "version": "9.0.5", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@zowe/cli/node_modules/diff2html": { + "version": "3.4.55", + "integrity": "sha512-v7vi4Gluu7VtMNiHxZWyfnzRItkNPo1mxBzf2VnzZZccdN3gcl+4ZG8WBA7p4AkhPeeBcDItu9JF91o2HZkhlQ==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@profoundlogic/hogan": "^3.0.4", + "diff": "^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "optionalDependencies": { + "highlight.js": "11.9.0" } }, - "node_modules/@zowe/cli/node_modules/minimist": { - "version": "1.2.6", + "node_modules/@zowe/cli/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/minipass": { - "version": "3.3.5", + "node_modules/@zowe/cli/node_modules/enabled": { + "version": "2.0.0", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/minipass-flush": { - "version": "1.0.5", + "node_modules/@zowe/cli/node_modules/entities": { + "version": "4.5.0", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">= 8" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@zowe/cli/node_modules/minipass-pipeline": { - "version": "1.2.4", + "node_modules/@zowe/cli/node_modules/escalade": { + "version": "3.1.1", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@zowe/cli/node_modules/minipass-sized": { - "version": "1.0.3", + "node_modules/@zowe/cli/node_modules/esprima": { + "version": "4.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/@zowe/cli/node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/minizlib": { - "version": "2.1.2", + "node_modules/@zowe/cli/node_modules/fast-glob": { + "version": "3.3.3", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">= 8" + "node": ">=8.6.0" } }, - "node_modules/@zowe/cli/node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/@zowe/cli/node_modules/fastest-levenshtein": { + "version": "1.0.16", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" - } - }, - "node_modules/@zowe/cli/node_modules/ms": { - "version": "2.1.3", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/mustache": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "bin": { - "mustache": "bin/mustache" + "node": ">= 4.9.1" } }, - "node_modules/@zowe/cli/node_modules/mute-stream": { - "version": "1.0.0", + "node_modules/@zowe/cli/node_modules/fastq": { + "version": "1.13.0", "dev": true, "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/@zowe/cli/node_modules/nan": { - "version": "2.18.0", + "node_modules/@zowe/cli/node_modules/fecha": { + "version": "4.2.3", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", "dev": true, - "license": "MIT", - "optional": true + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/negotiator": { - "version": "0.6.3", + "node_modules/@zowe/cli/node_modules/fill-range": { + "version": "7.1.1", "dev": true, "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/nopt": { - "version": "1.0.10", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "node_modules/@zowe/cli/node_modules/find-process": { + "version": "1.4.7", "dev": true, "license": "MIT", "dependencies": { - "abbrev": "1" + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" }, "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" + "find-process": "bin/find-process.js" } }, - "node_modules/@zowe/cli/node_modules/normalize-package-data": { - "version": "6.0.2", + "node_modules/@zowe/cli/node_modules/find-up": { + "version": "5.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@zowe/cli/node_modules/npm-install-checks": { - "version": "6.3.0", + "node_modules/@zowe/cli/node_modules/flatted": { + "version": "3.3.1", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "ISC" }, - "node_modules/@zowe/cli/node_modules/npm-package-arg": { - "version": "11.0.2", + "node_modules/@zowe/cli/node_modules/fn.name": { + "version": "1.1.0", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/fs-extra": { + "version": "11.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14.14" } }, - "node_modules/@zowe/cli/node_modules/npm-package-arg/node_modules/proc-log": { - "version": "4.2.0", + "node_modules/@zowe/cli/node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch": { - "version": "17.1.0", + "node_modules/@zowe/cli/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/redact": "^2.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "is-glob": "^4.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { - "version": "3.1.1", + "node_modules/@zowe/cli/node_modules/graceful-fs": { + "version": "4.2.11", "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, + "license": "ISC" + }, + "node_modules/@zowe/cli/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/cacache": { - "version": "18.0.3", + "node_modules/@zowe/cli/node_modules/has-own-prop": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/fs-minipass": { - "version": "3.0.3", + "node_modules/@zowe/cli/node_modules/highlight.js": { + "version": "11.9.0", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@zowe/cli/node_modules/hosted-git-info": { + "version": "7.0.2", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/glob": { - "version": "10.5.0", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "node_modules/@zowe/cli/node_modules/http-proxy-agent": { + "version": "7.0.2", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 14" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "13.0.1", + "node_modules/@zowe/cli/node_modules/https-proxy-agent": { + "version": "7.0.6", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 14" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/minipass": { - "version": "7.1.2", + "node_modules/@zowe/cli/node_modules/inherits": { + "version": "2.0.4", "dev": true, - "license": "ISC", + "license": "ISC" + }, + "node_modules/@zowe/cli/node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=0.10.0" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/minipass-collect": { - "version": "2.0.1", + "node_modules/@zowe/cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.5", + "node_modules/@zowe/cli/node_modules/is-glob": { + "version": "4.0.3", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=0.10.0" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/proc-log": { - "version": "4.2.0", + "node_modules/@zowe/cli/node_modules/is-number": { + "version": "7.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.12.0" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "10.0.6", + "node_modules/@zowe/cli/node_modules/is-stream": { + "version": "2.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/isexe": { + "version": "3.1.1", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16" } }, - "node_modules/@zowe/cli/node_modules/npm-registry-fetch/node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/@zowe/cli/node_modules/jest-diff": { + "version": "29.7.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/one-time": { - "version": "1.0.0", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "node_modules/@zowe/cli/node_modules/jest-get-type": { + "version": "29.6.3", "dev": true, "license": "MIT", - "dependencies": { - "fn.name": "1.x.x" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/opener": { - "version": "1.5.2", + "node_modules/@zowe/cli/node_modules/js-yaml": { + "version": "4.1.1", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, - "license": "(WTFPL OR MIT)", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, "bin": { - "opener": "bin/opener-bin.js" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@zowe/cli/node_modules/p-limit": { - "version": "3.1.0", + "node_modules/@zowe/cli/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@zowe/cli/node_modules/jsonschema": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/@zowe/cli/node_modules/p-locate": { + "node_modules/@zowe/cli/node_modules/kuler": { + "version": "2.0.0", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/linkify-it": { "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "uc.micro": "^2.0.0" } }, - "node_modules/@zowe/cli/node_modules/p-map": { - "version": "4.0.0", + "node_modules/@zowe/cli/node_modules/locate-path": { + "version": "6.0.0", "dev": true, "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" @@ -4744,362 +3259,241 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@zowe/cli/node_modules/package-json-from-dist": { - "version": "1.0.0", + "node_modules/@zowe/cli/node_modules/lodash": { + "version": "4.17.21", "dev": true, - "license": "BlueOak-1.0.0" + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/pacote": { - "version": "18.0.6", + "node_modules/@zowe/cli/node_modules/lodash-deep": { + "version": "2.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" + "lodash": ">=3.7.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=0.8.0", + "npm": ">=1.2.10" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/@npmcli/fs": { - "version": "3.1.1", + "node_modules/@zowe/cli/node_modules/log4js": { + "version": "6.9.1", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "semver": "^7.3.5" + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8.0" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "node_modules/@zowe/cli/node_modules/logform": { + "version": "2.7.0", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/@npmcli/node-gyp": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/logform/node_modules/@colors/colors": { + "version": "1.6.0", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.1.90" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/@npmcli/package-json": { - "version": "5.2.0", + "node_modules/@zowe/cli/node_modules/lru-cache": { + "version": "10.4.3", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^5.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } + "license": "ISC" }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/@npmcli/run-script": { - "version": "8.1.0", + "node_modules/@zowe/cli/node_modules/markdown-it": { + "version": "14.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/abbrev": { + "node_modules/@zowe/cli/node_modules/mdurl": { "version": "2.0.0", "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/cacache": { - "version": "18.0.3", + "node_modules/@zowe/cli/node_modules/merge2": { + "version": "1.4.1", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/fs-minipass": { - "version": "3.0.3", + "node_modules/@zowe/cli/node_modules/micromatch": { + "version": "4.0.8", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8.6" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/glob": { - "version": "10.5.0", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "node_modules/@zowe/cli/node_modules/minimatch": { + "version": "9.0.5", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "brace-expansion": "^2.0.1" }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/make-fetch-happen": { - "version": "13.0.1", + "node_modules/@zowe/cli/node_modules/minimist": { + "version": "1.2.6", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/minipass": { + "node_modules/@zowe/cli/node_modules/minipass": { "version": "7.1.2", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/minipass-collect": { - "version": "2.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/minipass-fetch": { - "version": "3.0.5", + "node_modules/@zowe/cli/node_modules/ms": { + "version": "2.1.3", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } + "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/node-gyp": { - "version": "10.1.0", + "node_modules/@zowe/cli/node_modules/mustache": { + "version": "4.2.0", "dev": true, "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^4.0.0" - }, "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "mustache": "bin/mustache" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/node-gyp/node_modules/proc-log": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/mute-stream": { + "version": "1.0.0", "dev": true, "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/nopt": { - "version": "7.2.1", + "node_modules/@zowe/cli/node_modules/nan": { + "version": "2.18.0", "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "MIT", + "optional": true }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/npm-bundled": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/nopt": { + "version": "1.0.10", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "abbrev": "1" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/npm-packlist": { - "version": "8.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "ignore-walk": "^6.0.4" + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "*" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/npm-pick-manifest": { - "version": "9.0.0", + "node_modules/@zowe/cli/node_modules/npm-package-arg": { + "version": "11.0.2", "dev": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/proc-log": { - "version": "4.2.0", + "node_modules/@zowe/cli/node_modules/one-time": { + "version": "1.0.0", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/ssri": { - "version": "10.0.6", + "node_modules/@zowe/cli/node_modules/opener": { + "version": "1.5.2", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/p-limit": { + "version": "3.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "unique-slug": "^4.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@zowe/cli/node_modules/pacote/node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/@zowe/cli/node_modules/p-locate": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4" + "p-limit": "^3.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@zowe/cli/node_modules/path-exists": { @@ -5118,29 +3512,6 @@ "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/path-scurry": { - "version": "1.11.1", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@zowe/cli/node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/@zowe/cli/node_modules/picomatch": { "version": "2.3.1", "dev": true, @@ -5188,29 +3559,21 @@ "prettyjson": "bin/prettyjson" } }, - "node_modules/@zowe/cli/node_modules/progress": { - "version": "2.0.3", + "node_modules/@zowe/cli/node_modules/proc-log": { + "version": "4.2.0", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.4.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@zowe/cli/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/promise-retry": { - "version": "2.0.1", + "node_modules/@zowe/cli/node_modules/progress": { + "version": "2.0.3", "dev": true, "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, "engines": { - "node": ">=10" + "node": ">=0.4.0" } }, "node_modules/@zowe/cli/node_modules/punycode.js": { @@ -5285,14 +3648,6 @@ "node": ">=0.10.0" } }, - "node_modules/@zowe/cli/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@zowe/cli/node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -5380,22 +3735,6 @@ "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/sigstore": { - "version": "2.2.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", - "@sigstore/sign": "^2.2.3", - "@sigstore/tuf": "^2.3.1", - "@sigstore/verify": "^1.1.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/@zowe/cli/node_modules/simple-swizzle": { "version": "0.2.2", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", @@ -5411,56 +3750,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/smart-buffer": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/socks": { - "version": "2.7.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/spdx-correct": { - "version": "3.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/@zowe/cli/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/spdx-license-ids": { - "version": "3.0.11", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/@zowe/cli/node_modules/ssh2": { "version": "1.15.0", "dev": true, @@ -5513,337 +3802,136 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/@zowe/cli/node_modules/streamroller/node_modules/jsonfile": { - "version": "4.0.0", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@zowe/cli/node_modules/streamroller/node_modules/universalify": { - "version": "0.1.2", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/@zowe/cli/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/tar": { - "version": "6.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@zowe/cli/node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@zowe/cli/node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/@zowe/cli/node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@zowe/cli/node_modules/text-hex": { - "version": "1.0.0", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@zowe/cli/node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@zowe/cli/node_modules/triple-beam": { - "version": "1.4.1", - "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "node_modules/@zowe/cli/node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 14.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@zowe/cli/node_modules/tuf-js": { - "version": "2.2.0", + "node_modules/@zowe/cli/node_modules/streamroller/node_modules/universalify": { + "version": "0.1.2", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", - "dependencies": { - "@tufjs/models": "2.0.0", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.0" - }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 4.0.0" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/@npmcli/fs": { - "version": "3.1.0", + "node_modules/@zowe/cli/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/cacache": { - "version": "18.0.2", + "node_modules/@zowe/cli/node_modules/string-width": { + "version": "4.2.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/fs-minipass": { - "version": "3.0.3", + "node_modules/@zowe/cli/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/glob": { - "version": "10.5.0", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "node_modules/@zowe/cli/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/make-fetch-happen": { - "version": "13.0.0", + "node_modules/@zowe/cli/node_modules/supports-color": { + "version": "7.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/minipass": { - "version": "7.1.2", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/minipass-collect": { - "version": "2.0.1", + "node_modules/@zowe/cli/node_modules/tar": { + "version": "7.5.6", + "integrity": "sha512-xqUeu2JAIJpXyvskvU3uvQW8PAmHrtXp2KDuMJwQqW8Sqq0CaZBAQ+dKS3RBXVhU4wC5NjAdKrmh84241gO9cA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "minipass": "^7.0.3" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/minipass-fetch": { - "version": "3.0.4", + "node_modules/@zowe/cli/node_modules/tar/node_modules/minizlib": { + "version": "3.1.0", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minipass": "^7.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">= 18" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/ssri": { - "version": "10.0.5", + "node_modules/@zowe/cli/node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/@zowe/cli/node_modules/text-hex": { + "version": "1.0.0", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/@zowe/cli/node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "unique-slug": "^4.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8.0" } }, - "node_modules/@zowe/cli/node_modules/tuf-js/node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/@zowe/cli/node_modules/triple-beam": { + "version": "1.4.1", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 14.0.0" } }, "node_modules/@zowe/cli/node_modules/tweetnacl": { @@ -5869,15 +3957,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@zowe/cli/node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/@zowe/cli/node_modules/validate-npm-package-name": { "version": "5.0.1", "dev": true, @@ -5890,6 +3969,7 @@ "version": "4.0.0", "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^3.1.1" }, @@ -5967,23 +4047,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@zowe/cli/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@zowe/cli/node_modules/yargs": { "version": "17.7.2", "dev": true, @@ -6042,9 +4105,9 @@ } }, "node_modules/@zowe/imperative": { - "version": "8.29.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.8.tgz", - "integrity": "sha512-/0+6AaO5OODxRv0OgfLhMjcmxy57mtobhn/xsy3clCuX8dfHgvecDxpkJYrKb1MMPxqHQ8qh/wM0r04Q3+qKUQ==", + "version": "8.29.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.9.tgz", + "integrity": "sha512-J4oSHka5/bd93jJZlh9+MhrTtLNgC9ZOK0g9yde3rImtMvG/JB9zhIor2unaT494H/RXmCPKtvwATHCKY5KL6g==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -6075,7 +4138,6 @@ "mustache": "^4.2.0", "npm-package-arg": "^11.0.1", "opener": "^1.5.2", - "pacote": "^18.0.6", "prettyjson": "^1.2.5", "progress": "^2.0.3", "read": "^3.0.1", @@ -6141,19 +4203,6 @@ "node": ">= 14" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ajv/-/ajv-6.12.6.tgz", @@ -6547,100 +4596,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cacache": { - "version": "18.0.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/callsites/-/callsites-3.1.0.tgz", @@ -6734,15 +4689,6 @@ "dev": true, "license": "MIT" }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -7506,16 +5452,6 @@ "dev": true, "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/enhanced-resolve": { "version": "5.17.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", @@ -7558,21 +5494,6 @@ "node": ">=8.0.0" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/error-ex/-/error-ex-1.3.2.tgz", @@ -7938,12 +5859,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "dev": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -8179,19 +6094,7 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "node": ">=14.14" } }, "node_modules/fs.realpath": { @@ -8455,12 +6358,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -8513,19 +6410,6 @@ "url": "https://github.com/sponsors/typicode" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ieee754/-/ieee754-1.2.1.tgz", @@ -8541,42 +6425,6 @@ "node": ">= 4" } }, - "node_modules/ignore-walk": { - "version": "6.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ignore-walk/-/ignore-walk-6.0.5.tgz", - "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", - "dev": true, - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8615,15 +6463,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inflight/-/inflight-1.0.6.tgz", @@ -8646,25 +6485,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "dev": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -8736,12 +6556,6 @@ "node": ">=8" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-number/-/is-number-7.0.0.tgz", @@ -9584,12 +7398,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true - }, "node_modules/jsesc": { "version": "3.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsesc/-/jsesc-3.0.2.tgz", @@ -9651,15 +7459,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, "node_modules/jsonschema": { "version": "1.4.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/jsonschema/-/jsonschema-1.4.1.tgz", @@ -9933,38 +7732,6 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", - "dev": true, - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/makeerror/-/makeerror-1.0.12.tgz", @@ -10056,126 +7823,6 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -10268,145 +7915,35 @@ }, "node_modules/nanoid": { "version": "3.3.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-gyp": { - "version": "10.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/node-gyp/-/node-gyp-10.2.0.tgz", - "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", - "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/node-gyp/node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/node-gyp/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "abbrev": "^2.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { - "nopt": "bin/nopt.js" + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/node-int64/-/node-int64-0.4.0.tgz", @@ -10477,20 +8014,6 @@ "node": "*" } }, - "node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -10501,39 +8024,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-bundled": { - "version": "3.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm-package-arg": { "version": "11.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", @@ -10549,61 +8039,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", - "dev": true, - "dependencies": { - "ignore-walk": "^6.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "9.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", - "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", - "dev": true, - "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", - "dev": true, - "dependencies": { - "@npmcli/redact": "^2.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -10719,21 +8154,6 @@ "node": ">=10" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/p-try/-/p-try-2.2.0.tgz", @@ -10749,58 +8169,6 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true }, - "node_modules/pacote": { - "version": "18.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", - "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/parent-module/-/parent-module-1.0.1.tgz", @@ -11261,25 +8629,6 @@ "node": ">=0.4.0" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/prompts/-/prompts-2.4.2.tgz", @@ -11529,15 +8878,6 @@ "node": ">=8" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/reusify/-/reusify-1.0.4.tgz", @@ -11647,13 +8987,6 @@ "node": ">=10" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, "node_modules/sass-lookup": { "version": "6.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sass-lookup/-/sass-lookup-6.0.1.tgz", @@ -11718,23 +9051,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/sigstore": { - "version": "2.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sigstore/-/sigstore-2.3.1.tgz", - "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -11767,44 +9083,6 @@ "node": ">=8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "dev": true, - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/source-map/-/source-map-0.6.1.tgz", @@ -11834,65 +9112,12 @@ "source-map": "^0.6.0" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", - "dev": true - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -12152,47 +9377,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -12487,20 +9671,6 @@ "node": ">=4" } }, - "node_modules/tuf-js": { - "version": "2.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/tuf-js/-/tuf-js-2.2.1.tgz", - "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", - "dev": true, - "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-check/-/type-check-0.4.0.tgz", @@ -12627,30 +9797,6 @@ "dev": true, "license": "MIT" }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/universalify/-/universalify-2.0.1.tgz", @@ -12750,16 +9896,6 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", diff --git a/zowe-cli-id-federation-plugin/package.json b/zowe-cli-id-federation-plugin/package.json index 8b8193c2a8..d4e7f8fd25 100644 --- a/zowe-cli-id-federation-plugin/package.json +++ b/zowe-cli-id-federation-plugin/package.json @@ -54,9 +54,9 @@ "@types/node": "20.19.30", "@typescript-eslint/eslint-plugin": "8.53.1", "@typescript-eslint/parser": "8.53.1", - "@zowe/cli": "8.29.8", - "@zowe/cli-test-utils": "8.29.8", - "@zowe/imperative": "8.29.8", + "@zowe/cli": "8.29.9", + "@zowe/cli-test-utils": "8.29.9", + "@zowe/imperative": "8.29.9", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -82,7 +82,7 @@ "@babel/traverse": "7.28.6" }, "peerDependencies": { - "@zowe/imperative": "8.29.8" + "@zowe/imperative": "8.29.9" }, "engines": { "npm": "=10.9.4", From 1ba8f29324ad006cd56a9f711453c67766f5b68d Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Mon, 26 Jan 2026 04:50:19 -0500 Subject: [PATCH 32/71] chore: Update all non-major dependencies (v3.x.x) (#4467) Signed-off-by: Renovate Bot Co-authored-by: Renovate Bot Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/package-lock.json | 34 ++--- api-catalog-ui/frontend/package.json | 8 +- gradle/versions.gradle | 8 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../package-lock.json | 118 +++++++++--------- zowe-cli-id-federation-plugin/package.json | 8 +- 6 files changed, 92 insertions(+), 86 deletions(-) diff --git a/api-catalog-ui/frontend/package-lock.json b/api-catalog-ui/frontend/package-lock.json index 1c8f364ae8..376bc719ba 100644 --- a/api-catalog-ui/frontend/package-lock.json +++ b/api-catalog-ui/frontend/package-lock.json @@ -43,7 +43,7 @@ "react-error-boundary": "5.0.0", "react-hook-form": "7.71.1", "react-redux": "9.2.0", - "react-router": "7.12.0", + "react-router": "7.13.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", @@ -77,9 +77,9 @@ "ajv": "8.17.1", "ansi-regex": "6.2.2", "body-parser": "1.20.4", - "caniuse-lite": "1.0.30001765", + "caniuse-lite": "1.0.30001766", "concurrently": "9.2.1", - "cors": "2.8.5", + "cors": "2.8.6", "cross-env": "7.0.3", "cypress": "13.17.0", "cypress-file-upload": "5.0.8", @@ -8622,9 +8622,9 @@ } }, "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "version": "1.13.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/axios/-/axios-1.13.3.tgz", + "integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -9531,9 +9531,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001765", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", - "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", + "version": "1.0.30001766", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", + "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", "funding": [ { "type": "opencollective", @@ -10416,9 +10416,9 @@ "license": "MIT" }, "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "version": "2.8.6", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", "dev": true, "license": "MIT", "dependencies": { @@ -10427,6 +10427,10 @@ }, "engines": { "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/cosmiconfig": { @@ -24142,9 +24146,9 @@ } }, "node_modules/react-router": { - "version": "7.12.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.12.0.tgz", - "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==", + "version": "7.13.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react-router/-/react-router-7.13.0.tgz", + "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", diff --git a/api-catalog-ui/frontend/package.json b/api-catalog-ui/frontend/package.json index 6033039c75..9837f1ce8b 100644 --- a/api-catalog-ui/frontend/package.json +++ b/api-catalog-ui/frontend/package.json @@ -39,7 +39,7 @@ "react-error-boundary": "5.0.0", "react-hook-form": "7.71.1", "react-redux": "9.2.0", - "react-router": "7.12.0", + "react-router": "7.13.0", "react-toastify": "10.0.6", "redux": "5.0.1", "redux-catch": "1.3.1", @@ -99,9 +99,9 @@ "ajv": "8.17.1", "ansi-regex": "6.2.2", "body-parser": "1.20.4", - "caniuse-lite": "1.0.30001765", + "caniuse-lite": "1.0.30001766", "concurrently": "9.2.1", - "cors": "2.8.5", + "cors": "2.8.6", "cross-env": "7.0.3", "cypress": "13.17.0", "cypress-file-upload": "5.0.8", @@ -156,7 +156,7 @@ "lodash": "4.17.23", "semver": "7.7.3", "@babel/traverse": "7.28.6", - "axios": "1.13.2", + "axios": "1.13.3", "form-data": "3.0.4", "sha.js": "2.4.12", "swagger-ui-react": { diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 355d6e57bb..1a0dc34cf3 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -5,8 +5,8 @@ dependencyResolutionManagement { version('projectNode', '20.19.6') version('projectNpm', '10.9.4') - version('springBoot', '3.5.9') - version('springBootGraphQl', '3.5.9') + version('springBoot', '3.5.10') + version('springBootGraphQl', '3.5.10') version('springCloudNetflix', '4.3.1') version('springCloudCommons', '4.3.1') version('springCloudCB', '3.3.1') @@ -14,7 +14,7 @@ dependencyResolutionManagement { version('springFramework', '6.2.15') version('springRetry', '2.0.12') - version('modulith', '1.4.6') + version('modulith', '1.4.7') version('jmolecules', '2023.3.4') version('glassfishHk2', '3.1.1') @@ -280,7 +280,7 @@ dependencyResolutionManagement { plugin('micronaut_library', 'io.micronaut.library').versionRef('micronautPlugin') // Pure Java dependencies - do not use in Spring unless really necessary - version('logback', '1.5.25') + version('logback', '1.5.26') version('mockitoCore', '5.21.0') version('mockitoInline', '5.2.0') diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d4081da476..aaaabb3cb9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/zowe-cli-id-federation-plugin/package-lock.json b/zowe-cli-id-federation-plugin/package-lock.json index 7b1732fe22..8586eeecf3 100644 --- a/zowe-cli-id-federation-plugin/package-lock.json +++ b/zowe-cli-id-federation-plugin/package-lock.json @@ -17,9 +17,9 @@ "@types/node": "20.19.30", "@typescript-eslint/eslint-plugin": "8.53.1", "@typescript-eslint/parser": "8.53.1", - "@zowe/cli": "8.29.9", - "@zowe/cli-test-utils": "8.29.9", - "@zowe/imperative": "8.29.9", + "@zowe/cli": "8.29.10", + "@zowe/cli-test-utils": "8.29.10", + "@zowe/imperative": "8.29.10", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -46,7 +46,7 @@ "npm": "=10.9.4" }, "peerDependencies": { - "@zowe/imperative": "8.29.9" + "@zowe/imperative": "8.29.10" } }, "node_modules/@ampproject/remapping": { @@ -2153,27 +2153,27 @@ "dev": true }, "node_modules/@zowe/cli": { - "version": "8.29.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.9.tgz", - "integrity": "sha512-J+4ztZy4M1PZYJM4mbrcbOPXZI1N39MypS8V9ERT/iE9dp31x1ugX2viBcjnJlNV5CUeqOsPPs+PM2yQmEHAew==", + "version": "8.29.10", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli/-/cli-8.29.10.tgz", + "integrity": "sha512-b95BvFy6Z3SHXOLTtz0uF0HhJ4bN4Lj9p5edQyAib47jhm3HSEgunJ4Q2gjs8gfsSRpk2HHlaVvORrOwIB79gw==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "license": "EPL-2.0", "dependencies": { - "@zowe/core-for-zowe-sdk": "8.29.9", - "@zowe/imperative": "8.29.9", - "@zowe/provisioning-for-zowe-sdk": "8.29.9", - "@zowe/zos-console-for-zowe-sdk": "8.29.9", - "@zowe/zos-files-for-zowe-sdk": "8.29.9", - "@zowe/zos-jobs-for-zowe-sdk": "8.29.9", - "@zowe/zos-logs-for-zowe-sdk": "8.29.9", - "@zowe/zos-tso-for-zowe-sdk": "8.29.9", - "@zowe/zos-uss-for-zowe-sdk": "8.29.9", - "@zowe/zos-workflows-for-zowe-sdk": "8.29.9", - "@zowe/zosmf-for-zowe-sdk": "8.29.9", + "@zowe/core-for-zowe-sdk": "8.29.10", + "@zowe/imperative": "8.29.10", + "@zowe/provisioning-for-zowe-sdk": "8.29.10", + "@zowe/zos-console-for-zowe-sdk": "8.29.10", + "@zowe/zos-files-for-zowe-sdk": "8.29.10", + "@zowe/zos-jobs-for-zowe-sdk": "8.29.10", + "@zowe/zos-logs-for-zowe-sdk": "8.29.10", + "@zowe/zos-tso-for-zowe-sdk": "8.29.10", + "@zowe/zos-uss-for-zowe-sdk": "8.29.10", + "@zowe/zos-workflows-for-zowe-sdk": "8.29.10", + "@zowe/zosmf-for-zowe-sdk": "8.29.10", "find-process": "^1.4.7", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "minimatch": "^9.0.5", "tar": "^7.5.4" }, @@ -2188,9 +2188,9 @@ } }, "node_modules/@zowe/cli-test-utils": { - "version": "8.29.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.9.tgz", - "integrity": "sha512-K0kWwNhpdrBzgcyA7I8EQp5bmXomXiYRXOZNU4rzj32A4AkaoM+FpisD8E/Os6OtLkms+fqgLwZmRo/3bX1I5Q==", + "version": "8.29.10", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/cli-test-utils/-/cli-test-utils-8.29.10.tgz", + "integrity": "sha512-Fbkb/i0xM7u1DEoa9iaDqkpHCS7ybCdSFn1I+DTyDHF7HWP60C2xL8d/PNzbnoMXIBI6MkKT8AIzFFuiGb67lg==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2329,8 +2329,8 @@ "license": "MIT" }, "node_modules/@zowe/cli/node_modules/@zowe/core-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-xsjiB4Ixwqy5sL5ireUctEmby9XoaUKYUqpMYvP1bpfk8a2X1yvj3atxtvFFQVf6WCyfRXUQglr2Hn0iZScAQg==", + "version": "8.29.10", + "integrity": "sha512-wd53wquhLtSDTSbXxb+qAvfAleDm6HWe09lUmw+ITxdWAhvEd9YCA2rP2Z+9lZYXSK0Opekk7K7ZQmC83WfQ8A==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2345,8 +2345,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/imperative": { - "version": "8.29.9", - "integrity": "sha512-J4oSHka5/bd93jJZlh9+MhrTtLNgC9ZOK0g9yde3rImtMvG/JB9zhIor2unaT494H/RXmCPKtvwATHCKY5KL6g==", + "version": "8.29.10", + "integrity": "sha512-6LCC8s871KJpq5bQBRIM8OKtj1ujU28Kz/rWe316Jn1z5dqvkowYawRLnpbYmKkRnQSK3OP55+2lKDFnZg+60A==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2370,7 +2370,7 @@ "js-yaml": "^4.1.0", "jsonfile": "^6.0.0", "jsonschema": "^1.4.1", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "lodash-deep": "^2.0.0", "log4js": "^6.9.1", "markdown-it": "^14.1.0", @@ -2393,8 +2393,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/provisioning-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-wUFL6+rKURWq2Pe6FPCk8a/SBHSxzGT7D8qZkkWyMCErdrbIwUQYFclx4PDeEEWZTOBKpF1gIkSCGO77t/jl8A==", + "version": "8.29.10", + "integrity": "sha512-7XWmTxmp/5Ys8Shat0suHyeIXw0FcUrO7TzlLOlWrbB63K3iGWL2cWvpg9Oo3dq2Se8AtzypL2/b9P4060LCOg==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2420,8 +2420,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-console-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-Gv2FrqAWOLsrh88zDUv5erQStmz2LZ0Hi4RO0RoKskrhrCwt16boSH3C3SJKR0SrMYLmR22AqJnlbb4XGwoiHQ==", + "version": "8.29.10", + "integrity": "sha512-hUE5sXuYuiDmW9egCypwb+cs+fF108hl3EccZC6odMUnSmI1zPrriGL0QKOWFmT7rNE816nBjwl6wbuFMF1Gdw==", "dev": true, "license": "EPL-2.0", "engines": { @@ -2433,12 +2433,12 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-files-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-OwK9yhOuKGsAJakrd4IdyL8Pyk9to3Ym2ALBnkcMgZqEo0zjBNxYlvNvPZK44uDNBn1Z3CorMGT7/2VYAwn7Kw==", + "version": "8.29.10", + "integrity": "sha512-5OC9z/KKsmh0MEV4QT18Kq3y9CIAMMmgH0nnnjmu4JK4wj7KDpCfnla+4cLJGDCPUWSqOCEVwFzLyT+ORo6B4Q==", "dev": true, "license": "EPL-2.0", "dependencies": { - "lodash": "^4.17.21", + "lodash": "^4.17.23", "minimatch": "^9.0.5" }, "engines": { @@ -2450,12 +2450,12 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-jobs-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-dsEspf9+u28wScaod2hBKx21Lf80/9pRx2LyRkEeE7LGakZVqtaqQFv7prD/t3itIkGfMyzTfAs8vwCZWhLKkA==", + "version": "8.29.10", + "integrity": "sha512-MAr4qzKGCrWVIblwGyJhi+lQ6D9fIVV3Vgc6aMfzxYchTsy2nCSK6BiJ6JwFM3zbegGiafzs2cufJveEyuP1jQ==", "dev": true, "license": "EPL-2.0", "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.9" + "@zowe/zos-files-for-zowe-sdk": "8.29.10" }, "engines": { "node": ">=20.9.0" @@ -2466,8 +2466,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-logs-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-lU0/iaum+EUaS3El38mnCloo59bqDkXGL5IMcdmudWlxEcF4UbxqCZumZ2nUY7UpE+Li2L2kCcdR197so2UJLg==", + "version": "8.29.10", + "integrity": "sha512-c5WFoxejoWRJtXUJZ9dYjOF3dm6FaqPkK97H6aAa1haSbV3twXGj1yEercO6PqQ0uydNGw65se3Eo32hRgp/JQ==", "dev": true, "license": "EPL-2.0", "engines": { @@ -2479,12 +2479,12 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-tso-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-90otKtTuLUURj1bYMv1cnLymH0Q/UmtJ7fqASFxVaFpC12jhuZj+vL620owkVFK9fhXoj+poC7esh/yI/DjQ4w==", + "version": "8.29.10", + "integrity": "sha512-W0pFEaQenCE3vRgH8V/bU+6abwwoUeGHs2+cXVnM8zykeYOfmbMxTUi7/Q/YzAha4F1GKthEMqN4+VGluwSlIA==", "dev": true, "license": "EPL-2.0", "dependencies": { - "@zowe/zosmf-for-zowe-sdk": "8.29.9" + "@zowe/zosmf-for-zowe-sdk": "8.29.10" }, "engines": { "node": ">=20.9.0" @@ -2495,8 +2495,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-uss-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-YY6nEP18B1W00el+/c+MZ6rJd8dHDDc+0/b6A2v+dX2GsgMS7UBXF5d6iwVHkzRdRrcH4MOu6WhQw57Z9TDNSw==", + "version": "8.29.10", + "integrity": "sha512-aeUg36rZdnhReD2bmqM909SmtUDjcoFBeyuEWSH64N/a7QRP2hPlpfLPZm3NU0Z8kv7bC0FPEZllMaXIKMeEvQ==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -2510,12 +2510,12 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zos-workflows-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-ltc+TvcJ+oCRE/PSyUgD/xT+RIghmO8Vfh1TnoVzaM7bXs9AC3n9MVa+z3d1FxwqAT8MBz/6fV/RxlikfgaTxg==", + "version": "8.29.10", + "integrity": "sha512-gi7qfln4BojWlgy1p26gkqhcXh9ZPQttCa9MpZu0owxhC9JmUgqk6mT5c4XEHjEljBzBKkiZKkM/vaEVI5gLEQ==", "dev": true, "license": "EPL-2.0", "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.29.9" + "@zowe/zos-files-for-zowe-sdk": "8.29.10" }, "engines": { "node": ">=20.9.0" @@ -2526,8 +2526,8 @@ } }, "node_modules/@zowe/cli/node_modules/@zowe/zosmf-for-zowe-sdk": { - "version": "8.29.9", - "integrity": "sha512-m/YnLS98ROxalR26uFuSlJVKI09CF+gyCNmeeO6tN/anQ8LDK6pqs5/VClfUvDuIbuclRCk24STbJSC48upTcQ==", + "version": "8.29.10", + "integrity": "sha512-DIT8f7e7X4aYQrQLIylAmatFNermf3aaROoeyCRmaLSEavXEZ6mhENf+7lX8vjRmYN7CXomYzX6s9NxxxevXag==", "dev": true, "license": "EPL-2.0", "engines": { @@ -3260,7 +3260,8 @@ } }, "node_modules/@zowe/cli/node_modules/lodash": { - "version": "4.17.21", + "version": "4.17.23", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, @@ -4105,9 +4106,9 @@ } }, "node_modules/@zowe/imperative": { - "version": "8.29.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.9.tgz", - "integrity": "sha512-J4oSHka5/bd93jJZlh9+MhrTtLNgC9ZOK0g9yde3rImtMvG/JB9zhIor2unaT494H/RXmCPKtvwATHCKY5KL6g==", + "version": "8.29.10", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@zowe/imperative/-/imperative-8.29.10.tgz", + "integrity": "sha512-6LCC8s871KJpq5bQBRIM8OKtj1ujU28Kz/rWe316Jn1z5dqvkowYawRLnpbYmKkRnQSK3OP55+2lKDFnZg+60A==", "dev": true, "license": "EPL-2.0", "dependencies": { @@ -4131,7 +4132,7 @@ "js-yaml": "^4.1.0", "jsonfile": "^6.0.0", "jsonschema": "^1.4.1", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "lodash-deep": "^2.0.0", "log4js": "^6.9.1", "markdown-it": "^14.1.0", @@ -7546,10 +7547,11 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "version": "4.17.23", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" }, "node_modules/lodash-deep": { "version": "2.0.0", diff --git a/zowe-cli-id-federation-plugin/package.json b/zowe-cli-id-federation-plugin/package.json index d4e7f8fd25..4891b590b5 100644 --- a/zowe-cli-id-federation-plugin/package.json +++ b/zowe-cli-id-federation-plugin/package.json @@ -54,9 +54,9 @@ "@types/node": "20.19.30", "@typescript-eslint/eslint-plugin": "8.53.1", "@typescript-eslint/parser": "8.53.1", - "@zowe/cli": "8.29.9", - "@zowe/cli-test-utils": "8.29.9", - "@zowe/imperative": "8.29.9", + "@zowe/cli": "8.29.10", + "@zowe/cli-test-utils": "8.29.10", + "@zowe/imperative": "8.29.10", "copyfiles": "2.4.1", "env-cmd": "10.1.0", "eslint": "9.39.2", @@ -82,7 +82,7 @@ "@babel/traverse": "7.28.6" }, "peerDependencies": { - "@zowe/imperative": "8.29.9" + "@zowe/imperative": "8.29.10" }, "engines": { "npm": "=10.9.4", From 95235b3605e164d778f35dc476ee044124612a73 Mon Sep 17 00:00:00 2001 From: Andrea Tabone <39694626+taban03@users.noreply.github.com> Date: Tue, 27 Jan 2026 10:44:34 +0100 Subject: [PATCH 33/71] chore: update npm token secret (#4471) Signed-off-by: Andrea Tabone Co-authored-by: Zowe Robot Signed-off-by: Gowtham Selvaraj --- .github/workflows/automated-release-nodejs.yml | 2 +- .github/workflows/binary-specific-release.yml | 2 +- onboarding-enabler-nodejs-sample-app/src/index.js | 1 + onboarding-enabler-nodejs/package-lock.json | 4 ++-- onboarding-enabler-nodejs/package.json | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/automated-release-nodejs.yml b/.github/workflows/automated-release-nodejs.yml index a59bf76823..a10f334669 100644 --- a/.github/workflows/automated-release-nodejs.yml +++ b/.github/workflows/automated-release-nodejs.yml @@ -71,7 +71,7 @@ jobs: cd .. env: DEFAULT_SCOPE: 'patch' - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_PUBLIC_TOKEN }} - uses: ./.github/actions/teardown diff --git a/.github/workflows/binary-specific-release.yml b/.github/workflows/binary-specific-release.yml index ade10db228..49c03cef20 100644 --- a/.github/workflows/binary-specific-release.yml +++ b/.github/workflows/binary-specific-release.yml @@ -52,7 +52,7 @@ jobs: git push --no-verify cd .. env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_PUBLIC_TOKEN }} - name: Release with Gradle automatic shell: bash diff --git a/onboarding-enabler-nodejs-sample-app/src/index.js b/onboarding-enabler-nodejs-sample-app/src/index.js index b4e885d874..bf22f22391 100755 --- a/onboarding-enabler-nodejs-sample-app/src/index.js +++ b/onboarding-enabler-nodejs-sample-app/src/index.js @@ -23,6 +23,7 @@ const args = { const app = express(); let httpsServer; process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0; + /** * Registers the service to the APIML Discovery service */ diff --git a/onboarding-enabler-nodejs/package-lock.json b/onboarding-enabler-nodejs/package-lock.json index 82f1469d5d..00ba733edf 100644 --- a/onboarding-enabler-nodejs/package-lock.json +++ b/onboarding-enabler-nodejs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@zowe/apiml-onboarding-enabler-nodejs", - "version": "3.2.4", + "version": "3.2.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@zowe/apiml-onboarding-enabler-nodejs", - "version": "3.2.4", + "version": "3.2.5", "license": "EPL-2.0", "dependencies": { "async": "3.2.6", diff --git a/onboarding-enabler-nodejs/package.json b/onboarding-enabler-nodejs/package.json index 2a8630fe07..be50db2b26 100644 --- a/onboarding-enabler-nodejs/package.json +++ b/onboarding-enabler-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/apiml-onboarding-enabler-nodejs", - "version": "3.2.4", + "version": "3.2.5", "description": "NodeJS enabler for Zowe API Mediation Layer", "type": "module", "main": "src/index.js", From 58f08e5250f60a801132cb3c73b09b8d66d03c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Jare=C5=A1?= <58428711+pavel-jares-bcm@users.noreply.github.com> Date: Tue, 27 Jan 2026 12:44:35 +0100 Subject: [PATCH 34/71] feat: Support binding on multiple network interfaces (#4457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pavel Jareš Signed-off-by: Pavel Jareš <58428711+pavel-jares-bcm@users.noreply.github.com> Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .../apicatalog/ApiCatalogApplication.java | 3 + .../main/resources/META-INF/spring.factories | 5 + .../ServerAddressPropertiesUpdater.java | 252 ++++++++++++++++++ .../ServerAddressPropertiesUpdaterTest.java | 61 +++++ .../test/resources/META-INF/spring.factories | 5 + apiml-package/src/main/resources/bin/start.sh | 1 + .../java/org/zowe/apiml/ApimlApplication.java | 7 +- .../java/org/zowe/apiml/ModulithConfig.java | 37 --- .../main/resources/META-INF/spring.factories | 8 + apiml/src/main/resources/application.yml | 5 +- .../zowe/apiml/acceptance/AcceptanceTest.java | 4 +- apiml/src/test/resources/application.yml | 4 + .../apiml/caching/config/GeneralConfig.java | 3 +- .../main/resources/META-INF/spring.factories | 5 + .../DiscoveryServiceApplication.java | 1 + .../main/resources/META-INF/spring.factories | 5 + .../main/resources/META-INF/spring.factories | 5 + .../main/resources/META-INF/spring.factories | 5 + 18 files changed, 375 insertions(+), 41 deletions(-) create mode 100644 api-catalog-services/src/main/resources/META-INF/spring.factories create mode 100644 apiml-common/src/main/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdater.java create mode 100644 apiml-common/src/test/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdaterTest.java create mode 100644 apiml-common/src/test/resources/META-INF/spring.factories create mode 100644 apiml/src/main/resources/META-INF/spring.factories create mode 100644 caching-service/src/main/resources/META-INF/spring.factories create mode 100644 discovery-service/src/main/resources/META-INF/spring.factories create mode 100644 gateway-service/src/main/resources/META-INF/spring.factories create mode 100644 zaas-service/src/main/resources/META-INF/spring.factories diff --git a/api-catalog-services/src/main/java/org/zowe/apiml/apicatalog/ApiCatalogApplication.java b/api-catalog-services/src/main/java/org/zowe/apiml/apicatalog/ApiCatalogApplication.java index 4656f0b135..a259418794 100644 --- a/api-catalog-services/src/main/java/org/zowe/apiml/apicatalog/ApiCatalogApplication.java +++ b/api-catalog-services/src/main/java/org/zowe/apiml/apicatalog/ApiCatalogApplication.java @@ -14,9 +14,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Import; import org.springframework.retry.annotation.EnableRetry; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; +import org.zowe.apiml.product.config.ServerAddressPropertiesUpdater; import org.zowe.apiml.product.logging.annotations.EnableApimlLogger; import org.zowe.apiml.product.monitoring.LatencyUtilsConfigInitializer; import org.zowe.apiml.product.version.BuildInfo; @@ -32,6 +34,7 @@ "org.zowe.apiml.product.service", "org.zowe.apiml.filter" }) +@Import(ServerAddressPropertiesUpdater.class) @EnableScheduling @EnableRetry @EnableAsync diff --git a/api-catalog-services/src/main/resources/META-INF/spring.factories b/api-catalog-services/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/api-catalog-services/src/main/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port diff --git a/apiml-common/src/main/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdater.java b/apiml-common/src/main/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdater.java new file mode 100644 index 0000000000..61056dbe82 --- /dev/null +++ b/apiml-common/src/main/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdater.java @@ -0,0 +1,252 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.product.config; + +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.Connector; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.env.EnvironmentPostProcessor; +import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; +import org.springframework.boot.web.embedded.tomcat.TomcatReactiveWebServerFactory; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.server.AbstractConfigurableWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.MapPropertySource; + +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.*; + +@Order(Ordered.LOWEST_PRECEDENCE) +@Configuration +@Slf4j +public class ServerAddressPropertiesUpdater implements EnvironmentPostProcessor { + + private static final String ADDITIONAL_SUFFIX = ".additional"; + + /** + * map of extra connector to bind a port (see key) to a network interface (see value). It shouldn't contain + * the main pair (port x network interface), because it is bound by Spring Boot. + */ + private static final Map> ADDITIONAL_NETWORKS = new HashMap<>(); + + // to know what type of customizer to use (Servlet vs. Reactive) + private static String webApplicationType; + + /** + * To read the META-INF/spring.factories file that contains also the port definition + * @return configuration of additional ports + */ + private Properties readProperties() { + Properties properties = new Properties(); + try ( + InputStream is = getClass().getClassLoader().getResourceAsStream("META-INF/spring.factories") + ) { + if (is == null) { + log.debug("META-INF/spring.factories file was not found."); + return properties; + } + properties.load(is); + } catch (Exception e) { + log.error("Cannot read Tomcat connector configuration", e); + } + return properties; + } + + /** + * The method are spliting a original configuration value if there are multiple values. The original value should + * contain exact one network interfaces. The rest is stored in a new configuration value (the same name with + * suffix .additional) + * @param environment Spring env + * @param overriddenProperties map to collect all new or modified configuration values + * @param addressKey name of configuration value with network interfaces + * @param portKey name of configuration to read the port value + * @param basePort if true, ignore the first value because it is bound by Spring boot + */ + private void splitProperty(ConfigurableEnvironment environment, Map overriddenProperties, String addressKey, String portKey, boolean basePort) { + String addressValue = environment.getProperty(addressKey); + if (addressValue == null) { + // the value is not configured at all (uses the default one: 0.0.0.0) + return; + } + + var addresses = Arrays.asList(addressValue.split(",")).stream() + .map(String::trim) + .toList(); + + if (basePort) { + // process the default port - the first value is configured by Spring Boot + overriddenProperties.putIfAbsent(addressKey, addresses.get(0)); + addresses = addresses.subList(1, addresses.size()); + overriddenProperties.putIfAbsent(addressKey + ADDITIONAL_SUFFIX, StringUtils.join(addresses, ",")); + } + + if (!addresses.isEmpty()) { + int port = Integer.parseInt(environment.getProperty(portKey)); + ADDITIONAL_NETWORKS.put(port, addresses); + } + } + + /** + * This processor is responsible for normalizing a configuration values. If there are properties like + * `server.address` it cannot be a list. The processor update this value to contain one value and if there are + * other values they are stored as a new configuration value (the same name with the suffix `.additional`) + * @param environment the environment to post-process + * @param application the application to which the environment belongs + */ + @Override + public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { + webApplicationType = environment.getProperty("spring.main.web-application-type"); + + try { + var overriddenProperties = new HashMap(); + var config = readProperties(); + for (int i = 0; ; i++) { + String prefix = getClass().getName() + ".connector." + i + "."; + if (!config.containsKey(prefix + "portKey")) break; + + splitProperty( + environment, overriddenProperties, + (String) config.get(prefix + "addressKey"), + (String) config.get(prefix + "portKey"), + Boolean.valueOf((String) config.get(prefix + "main")) + ); + } + + if (!overriddenProperties.isEmpty()) { + environment.getPropertySources().addFirst(new MapPropertySource("override", overriddenProperties)); + } + } catch (RuntimeException e) { + log.error("Cannot open additional Tomcat connectors", e); + throw e; + } + } + + /** + * This bean is responsible for generating new beans that create a new connector. It is implemented as Tomcat + * customizer. Each additional connector has one new bean. + * @return processor to create new customizer beans or an empty processor if there are no additional address. + */ + @Bean + public BeanDefinitionRegistryPostProcessor registerAdditionalTomcatConnectors() { + if (ADDITIONAL_NETWORKS.isEmpty()) { + return registry -> {}; + } + + Class connectorCustomizerClass = "servlet".equalsIgnoreCase(webApplicationType) ? AdditionalConnectorServlet.class : AdditionalConnectorReactive.class; + return registry -> { + for (var entry : ADDITIONAL_NETWORKS.entrySet()) { + int port = entry.getKey(); + for (ListIterator li = entry.getValue().listIterator(); li.hasNext(); ) { + String address = (String) li.next(); + String beanName = "tomcatAdditionalConnector-" + port + "-" + li.nextIndex(); + var beanDefinition = BeanDefinitionBuilder.genericBeanDefinition(connectorCustomizerClass) + .addPropertyValue("port", port) + .addPropertyValue("address", address) + .getBeanDefinition(); + registry.registerBeanDefinition(beanName, beanDefinition); + } + } + }; + } + + @RequiredArgsConstructor + static abstract class AbstractAdditionalConnector implements WebServerFactoryCustomizer { + + protected final List connectorCustomizers; + + @Setter + protected int port; + @Setter + protected String address; + + protected Connector connector = new Connector(); + + private void invokeCustomizer(F factory, Class factoryClass, Connector connector) { + Exception exception; + try { + Method method = factoryClass.getDeclaredMethod("customizeConnector", Connector.class); + method.setAccessible(true); + method.invoke(factory, connector); + return; + } catch (NoSuchMethodException e) { + if (factoryClass != Object.class) { + invokeCustomizer(factory, factoryClass.getSuperclass(), connector); + return; + } + exception = e; + } catch (SecurityException | IllegalAccessException | InvocationTargetException e) { + exception = e; + } + log.error("Cannot create the custom Tomcat reactive connector with address {} on port {}: {}", address, port, exception.getMessage()); + throw new RuntimeException(exception); + } + + @Override + public void customize(F factory) { + invokeCustomizer(factory, (Class) factory.getClass(), connector); + connector.setPort(port); + if (address != null) { + connector.setProperty("address", address); + } + initFactory(factory); + } + + protected abstract void initFactory(F factory); + + } + + /** + * Customizer to bind a new connector to a network interface on reactive service + */ + static class AdditionalConnectorReactive extends AbstractAdditionalConnector { + + public AdditionalConnectorReactive(List connectorCustomizers) { + super(connectorCustomizers); + } + + @Override + protected void initFactory(TomcatReactiveWebServerFactory factory) { + factory.addAdditionalTomcatConnectors(connector); + factory.addConnectorCustomizers(connectorCustomizers.toArray(new TomcatConnectorCustomizer[0])); + } + + } + + /** + * Customizer to bind a new connector to a network interface on servlet service + */ + static class AdditionalConnectorServlet extends AbstractAdditionalConnector { + + public AdditionalConnectorServlet(List connectorCustomizers) { + super(connectorCustomizers); + } + + @Override + protected void initFactory(TomcatServletWebServerFactory factory) { + factory.addAdditionalTomcatConnectors(connector); + factory.addConnectorCustomizers(connectorCustomizers.toArray(new TomcatConnectorCustomizer[0])); + } + + } + +} diff --git a/apiml-common/src/test/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdaterTest.java b/apiml-common/src/test/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdaterTest.java new file mode 100644 index 0000000000..44d6f8fa10 --- /dev/null +++ b/apiml-common/src/test/java/org/zowe/apiml/product/config/ServerAddressPropertiesUpdaterTest.java @@ -0,0 +1,61 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.product.config; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; +import org.springframework.core.env.MapPropertySource; +import org.springframework.test.util.ReflectionTestUtils; + +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ServerAddressPropertiesUpdaterTest { + + private ApplicationContextRunner createContextRunner(String type) { + return new ApplicationContextRunner() + .withBean(ServerAddressPropertiesUpdater.class) + .withInitializer(context -> { + context.getEnvironment().getPropertySources().addFirst(new MapPropertySource("input", Map.of( + "server.address", "127.0.0.1,192.168.0.1,10.0.0.1", + "server.port", "8000", + "spring.main.web-application-type", type + ))); + new ServerAddressPropertiesUpdater().postProcessEnvironment( + context.getEnvironment(), new SpringApplication() + ); + }); + } + + @ParameterizedTest(name = "givePortConfiguration_whenInitialize_thenCustomizerAreCreated({0}, {1})") + @CsvSource({ + "servlet,org.zowe.apiml.product.config.ServerAddressPropertiesUpdater$AdditionalConnectorServlet", + "reactive,org.zowe.apiml.product.config.ServerAddressPropertiesUpdater$AdditionalConnectorReactive" + }) + void givePortConfiguration_whenInitialize_thenCustomizerAreCreated(String type, Class customizerClass) { + createContextRunner(type).run(context -> { + var customizers = context.getBeansOfType(customizerClass); + assertEquals(2, customizers.size()); + assertEquals("127.0.0.1", context.getEnvironment().getProperty("server.address")); + assertEquals("192.168.0.1,10.0.0.1", context.getEnvironment().getProperty("server.address.additional")); + + assertEquals(8000, ReflectionTestUtils.getField(customizers.get("tomcatAdditionalConnector-8000-1"), "port")); + assertEquals("192.168.0.1", ReflectionTestUtils.getField(customizers.get("tomcatAdditionalConnector-8000-1"), "address")); + + assertEquals(8000, ReflectionTestUtils.getField(customizers.get("tomcatAdditionalConnector-8000-2"), "port")); + assertEquals("10.0.0.1", ReflectionTestUtils.getField(customizers.get("tomcatAdditionalConnector-8000-2"), "address")); + }); + } + +} diff --git a/apiml-common/src/test/resources/META-INF/spring.factories b/apiml-common/src/test/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/apiml-common/src/test/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port diff --git a/apiml-package/src/main/resources/bin/start.sh b/apiml-package/src/main/resources/bin/start.sh index c6e826d091..106d407ae5 100755 --- a/apiml-package/src/main/resources/bin/start.sh +++ b/apiml-package/src/main/resources/bin/start.sh @@ -377,6 +377,7 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${APIML_CODE} ${JAVA_BIN_DIR}java \ -Dapiml.health.protected=${ZWE_components_gateway_apiml_health_protected:-${ZWE_configs_apiml_health_protected:-true}} \ -Dapiml.httpclient.ssl.enabled-protocols=${client_enabled_protocols} \ -Dapiml.internal-discovery.port=${ZWE_components_discovery_port:-${ZWE_configs_internal_discovery_port:-7553}} \ + -Dapiml.internal-discovery.address=${ZWE_configs_internal_discovery_address:-${ZWE_configs_zowe_network_server_listenAddresses_0:-${ZWE_zowe_network_server_listenAddresses_0:-"0.0.0.0"}}} \ -Dapiml.logs.location=${ZWE_zowe_logDirectory} \ -Dapiml.security.allowTokenRefresh=${ZWE_components_gateway_apiml_security_allowtokenrefresh:-${ZWE_configs_apiml_security_allowtokenrefresh:-false}} \ -Dapiml.security.auth.cookieProperties.cookieName=${cookieName:-apimlAuthenticationToken} \ diff --git a/apiml/src/main/java/org/zowe/apiml/ApimlApplication.java b/apiml/src/main/java/org/zowe/apiml/ApimlApplication.java index 1e329130e5..f149da2e39 100644 --- a/apiml/src/main/java/org/zowe/apiml/ApimlApplication.java +++ b/apiml/src/main/java/org/zowe/apiml/ApimlApplication.java @@ -53,6 +53,11 @@ public class ApimlApplication { public static void main(String[] args) { - SpringApplication.run(ApimlApplication.class, args); + try { + SpringApplication.run(ApimlApplication.class, args); + } catch (Throwable t) { + t.printStackTrace(); // NOSONAR + System.exit(2); + } } } diff --git a/apiml/src/main/java/org/zowe/apiml/ModulithConfig.java b/apiml/src/main/java/org/zowe/apiml/ModulithConfig.java index ce304f571b..5997e4708c 100644 --- a/apiml/src/main/java/org/zowe/apiml/ModulithConfig.java +++ b/apiml/src/main/java/org/zowe/apiml/ModulithConfig.java @@ -29,7 +29,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.catalina.Context; import org.apache.catalina.Host; -import org.apache.catalina.connector.Connector; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.ObjectProvider; @@ -40,7 +39,6 @@ import org.springframework.boot.web.embedded.tomcat.TomcatContextCustomizer; import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer; import org.springframework.boot.web.embedded.tomcat.TomcatReactiveWebServerFactory; -import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient; @@ -73,8 +71,6 @@ import reactor.core.publisher.Flux; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.*; import static org.zowe.apiml.services.ServiceInfoUtils.getInstances; @@ -377,39 +373,6 @@ protected void configureContext(Context context) { return factory; } - - /** - * Create a custom Tomcat connector with same customizations as the main - * external (GW) connector to handle - * "legacy" connections in v3 meant to go to Eureka / Discovery Service - * - * @param internalDiscoveryPort port that will handle legacy Discovery Service - * connections - * @return - */ - @Bean - WebServerFactoryCustomizer internalPortCustomizer( - @Value("${apiml.internal-discovery.port:10011}") int internalDiscoveryPort, List connectorCustomizers) { - return factory -> { - var connector = new Connector(); - - try { - Method method = TomcatReactiveWebServerFactory.class.getDeclaredMethod("customizeConnector", - Connector.class); - method.setAccessible(true); - method.invoke(factory, connector); - } catch (NoSuchMethodException | SecurityException | IllegalAccessException | InvocationTargetException e) { - throw new RuntimeException(e); - } - - connector.setPort(internalDiscoveryPort); - - factory.addAdditionalTomcatConnectors(connector); - factory.addConnectorCustomizers(connectorCustomizers.toArray(new TomcatConnectorCustomizer[0])); - }; - - } - static class ServletWithFilters extends TomcatHttpHandlerAdapter { private final Servlet servlet; diff --git a/apiml/src/main/resources/META-INF/spring.factories b/apiml/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..3f3d50f456 --- /dev/null +++ b/apiml/src/main/resources/META-INF/spring.factories @@ -0,0 +1,8 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.1.main = false +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.1.addressKey = apiml.internal-discovery.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.1.portKey = apiml.internal-discovery.port diff --git a/apiml/src/main/resources/application.yml b/apiml/src/main/resources/application.yml index f791b58f2a..aed6b48525 100644 --- a/apiml/src/main/resources/application.yml +++ b/apiml/src/main/resources/application.yml @@ -106,7 +106,9 @@ apiml: userid: eureka # Userid that Eureka server will use to check authentication of its clients (other services) password: password # Password that Eureka server will use to check authentication of its clients (other services) allPeersUrls: ${apiml.service.scheme}://${apiml.service.hostname}:${apiml.service.port}/eureka/ - + internal-discovery: + address: ${server.address} + port: 10011 gateway: eureka: instance: @@ -248,6 +250,7 @@ apiml: server: http2: enabled: false + address: 0.0.0.0 port: ${apiml.service.port} ssl: clientAuth: want diff --git a/apiml/src/test/java/org/zowe/apiml/acceptance/AcceptanceTest.java b/apiml/src/test/java/org/zowe/apiml/acceptance/AcceptanceTest.java index fd31b07419..7cfd318fe9 100644 --- a/apiml/src/test/java/org/zowe/apiml/acceptance/AcceptanceTest.java +++ b/apiml/src/test/java/org/zowe/apiml/acceptance/AcceptanceTest.java @@ -22,6 +22,7 @@ import org.springframework.web.reactive.result.view.freemarker.FreeMarkerConfigurer; import org.zowe.apiml.ApimlApplication; import org.zowe.apiml.gateway.config.GatewayHealthIndicator; +import org.zowe.apiml.product.config.ServerAddressPropertiesUpdater; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -50,7 +51,8 @@ @SpringBootTest(classes = { ApimlApplication.class, FreeMarkerConfigurer.class, - TestConfig.class + TestConfig.class, + ServerAddressPropertiesUpdater.class }, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = { diff --git a/apiml/src/test/resources/application.yml b/apiml/src/test/resources/application.yml index 4cb227e8e2..c4a88e2f63 100644 --- a/apiml/src/test/resources/application.yml +++ b/apiml/src/test/resources/application.yml @@ -44,6 +44,9 @@ apiml: userid: eureka # Userid that Eureka server will use to check authentication of its clients (other services) password: password # Password that Eureka server will use to check authentication of its clients (other services) allPeersUrls: http://${apiml.discovery.userid}:${apiml.discovery.password}@${apiml.service.hostname}:${apiml.service.port}/eureka/ + internal-discovery: + address: ${server.address} + port: 10011 gateway: eureka: instance: @@ -173,6 +176,7 @@ jgroups: address: localhost server: + address: 0.0.0.0 port: ${apiml.service.port} ssl: clientAuth: want diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/config/GeneralConfig.java b/caching-service/src/main/java/org/zowe/apiml/caching/config/GeneralConfig.java index 95158bfd29..b8f97583bf 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/config/GeneralConfig.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/config/GeneralConfig.java @@ -20,6 +20,7 @@ import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.zowe.apiml.filter.AttlsHttpHandler; +import org.zowe.apiml.product.config.ServerAddressPropertiesUpdater; import org.zowe.apiml.product.security.WebServerSecurityConfig; import org.zowe.apiml.product.service.ServiceStartupEventHandler; import org.zowe.apiml.product.web.ApimlTomcatCustomizer; @@ -27,7 +28,7 @@ import org.zowe.apiml.product.web.TomcatKeyringFix; @Configuration -@Import({TomcatKeyringFix.class, TomcatAcceptFixConfig.class, ApimlTomcatCustomizer.class, AttlsHttpHandler.class, WebServerSecurityConfig.class}) +@Import({TomcatKeyringFix.class, TomcatAcceptFixConfig.class, ApimlTomcatCustomizer.class, AttlsHttpHandler.class, WebServerSecurityConfig.class, ServerAddressPropertiesUpdater.class}) @Data @ToString public class GeneralConfig implements WebMvcConfigurer { diff --git a/caching-service/src/main/resources/META-INF/spring.factories b/caching-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/caching-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port diff --git a/discovery-service/src/main/java/org/zowe/apiml/discovery/DiscoveryServiceApplication.java b/discovery-service/src/main/java/org/zowe/apiml/discovery/DiscoveryServiceApplication.java index ef1b27d74f..255602013d 100644 --- a/discovery-service/src/main/java/org/zowe/apiml/discovery/DiscoveryServiceApplication.java +++ b/discovery-service/src/main/java/org/zowe/apiml/discovery/DiscoveryServiceApplication.java @@ -30,6 +30,7 @@ @SpringBootApplication @ComponentScan({ "org.zowe.apiml.discovery", + "org.zowe.apiml.product.config", "org.zowe.apiml.product.security", "org.zowe.apiml.product.web", "org.zowe.apiml.product.service", diff --git a/discovery-service/src/main/resources/META-INF/spring.factories b/discovery-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/discovery-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port diff --git a/gateway-service/src/main/resources/META-INF/spring.factories b/gateway-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/gateway-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port diff --git a/zaas-service/src/main/resources/META-INF/spring.factories b/zaas-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..5f4a5b6534 --- /dev/null +++ b/zaas-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1,5 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.zowe.apiml.product.config.ServerAddressPropertiesUpdater + +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.main = true +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.addressKey = server.address +org.zowe.apiml.product.config.ServerAddressPropertiesUpdater.connector.0.portKey = server.port From 7ff39b1da1967a7e2fc1f9922ec1b2facdffaf75 Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Tue, 27 Jan 2026 08:46:47 -0500 Subject: [PATCH 35/71] chore: Update all non-major dependencies (v3.x.x) (#4472) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Renovate Bot Co-authored-by: Renovate Bot Co-authored-by: Pavel Jareš <58428711+pavel-jares-bcm@users.noreply.github.com> Signed-off-by: Gowtham Selvaraj --- gradle/versions.gradle | 4 +- .../package-lock.json | 112 +++++++++--------- zowe-cli-id-federation-plugin/package.json | 4 +- 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 1a0dc34cf3..a0511a4a2a 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -60,7 +60,7 @@ dependencyResolutionManagement { strictly '[2.3.9,3.0.0)' prefer '2.3.9' } - version('jbossLogging', '3.6.1.Final') + version('jbossLogging', '3.6.2.Final') version('jerseySun', '1.19.4') version('jettyWebSocketClient', '12.1.5') version('jettison', '1.5.4') @@ -82,7 +82,7 @@ dependencyResolutionManagement { // netty reactor contains a bug: https://github.com/reactor/reactor-netty/issues/3559 > https://github.com/reactor/reactor-netty/pull/3581 version('nettyReactor', '1.3.2') version('nimbusJoseJwt', '10.7') - version('openApiDiff', '2.1.6') + version('openApiDiff', '2.1.7') version('picocli', '4.7.7') version('reactor', '3.8.2') diff --git a/zowe-cli-id-federation-plugin/package-lock.json b/zowe-cli-id-federation-plugin/package-lock.json index 8586eeecf3..09fb7cf07e 100644 --- a/zowe-cli-id-federation-plugin/package-lock.json +++ b/zowe-cli-id-federation-plugin/package-lock.json @@ -15,8 +15,8 @@ "@eslint/js": "9.39.2", "@types/jest": "29.5.14", "@types/node": "20.19.30", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.54.0", + "@typescript-eslint/parser": "8.54.0", "@zowe/cli": "8.29.10", "@zowe/cli-test-utils": "8.29.10", "@zowe/imperative": "8.29.10", @@ -1789,17 +1789,17 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz", - "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", + "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.53.1", - "@typescript-eslint/type-utils": "8.53.1", - "@typescript-eslint/utils": "8.53.1", - "@typescript-eslint/visitor-keys": "8.53.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/type-utils": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" @@ -1812,7 +1812,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.53.1", + "@typescript-eslint/parser": "^8.54.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -1841,16 +1841,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.53.1.tgz", - "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/parser/-/parser-8.54.0.tgz", + "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.53.1", - "@typescript-eslint/types": "8.53.1", - "@typescript-eslint/typescript-estree": "8.53.1", - "@typescript-eslint/visitor-keys": "8.53.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", "debug": "^4.4.3" }, "engines": { @@ -1866,14 +1866,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz", - "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.53.1", - "@typescript-eslint/types": "^8.53.1", + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", "debug": "^4.4.3" }, "engines": { @@ -1888,14 +1888,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz", - "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", + "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.53.1", - "@typescript-eslint/visitor-keys": "8.53.1" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1906,9 +1906,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz", - "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", "dev": true, "license": "MIT", "engines": { @@ -1923,15 +1923,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz", - "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", + "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.53.1", - "@typescript-eslint/typescript-estree": "8.53.1", - "@typescript-eslint/utils": "8.53.1", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, @@ -1961,9 +1961,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.53.1.tgz", - "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", "dev": true, "license": "MIT", "engines": { @@ -1975,16 +1975,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz", - "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.53.1", - "@typescript-eslint/tsconfig-utils": "8.53.1", - "@typescript-eslint/types": "8.53.1", - "@typescript-eslint/visitor-keys": "8.53.1", + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", @@ -2042,16 +2042,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.53.1.tgz", - "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/utils/-/utils-8.54.0.tgz", + "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.53.1", - "@typescript-eslint/types": "8.53.1", - "@typescript-eslint/typescript-estree": "8.53.1" + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2066,13 +2066,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.53.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz", - "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==", + "version": "8.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/types": "8.54.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { diff --git a/zowe-cli-id-federation-plugin/package.json b/zowe-cli-id-federation-plugin/package.json index 4891b590b5..54338666c6 100644 --- a/zowe-cli-id-federation-plugin/package.json +++ b/zowe-cli-id-federation-plugin/package.json @@ -52,8 +52,8 @@ "@eslint/js": "9.39.2", "@types/jest": "29.5.14", "@types/node": "20.19.30", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.54.0", + "@typescript-eslint/parser": "8.54.0", "@zowe/cli": "8.29.10", "@zowe/cli-test-utils": "8.29.10", "@zowe/imperative": "8.29.10", From 36f0f5863bbf5e06374467a64a5e623c5a636257 Mon Sep 17 00:00:00 2001 From: Nafi Xhafa <164854562+nxhafa@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:09:29 +0100 Subject: [PATCH 36/71] chore: upgrade libraries and resolve security vulnerabilities (#4470) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nxhafa Co-authored-by: Pavel Jareš <58428711+pavel-jares-bcm@users.noreply.github.com> Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/package-lock.json | 769 ++++++--- api-catalog-ui/frontend/package.json | 7 +- .../package-lock.json | 451 +++--- .../package.json | 2 +- onboarding-enabler-python-sample-app/Pipfile | 5 +- .../Pipfile.lock | 953 +++++------ onboarding-enabler-python/Pipfile | 2 +- onboarding-enabler-python/Pipfile.lock | 1412 ++++++++++------- zss-sample-service/package-lock.json | 533 ++++--- zss-sample-service/package.json | 2 +- 10 files changed, 2334 insertions(+), 1802 deletions(-) diff --git a/api-catalog-ui/frontend/package-lock.json b/api-catalog-ui/frontend/package-lock.json index 376bc719ba..8d32158db0 100644 --- a/api-catalog-ui/frontend/package-lock.json +++ b/api-catalog-ui/frontend/package-lock.json @@ -76,7 +76,7 @@ "@testing-library/user-event": "14.6.1", "ajv": "8.17.1", "ansi-regex": "6.2.2", - "body-parser": "1.20.4", + "body-parser": "2.2.2", "caniuse-lite": "1.0.30001766", "concurrently": "9.2.1", "cors": "2.8.6", @@ -94,7 +94,7 @@ "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-prettier": "5.5.5", "eslint-plugin-react": "7.37.5", - "express": "4.22.1", + "express": "5.2.1", "globals": "15.15.0", "html-loader": "5.1.0", "jest": "29.7.0", @@ -9101,78 +9101,47 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "2.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "dev": true, "license": "MIT", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/body-parser/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -10308,16 +10277,17 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -10347,11 +10317,14 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/copy-descriptor": { "version": "0.1.1", @@ -13248,68 +13221,99 @@ } }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "5.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/express/node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/express/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/extend": { "version": "3.0.2", @@ -13748,41 +13752,27 @@ } }, "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "2.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", @@ -14171,13 +14161,13 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/from": { @@ -15385,20 +15375,24 @@ "license": "MIT" }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/http-parser-js": { @@ -16376,6 +16370,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-regex/-/is-regex-1.2.1.tgz", @@ -20244,13 +20245,13 @@ "license": "MIT" }, "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/memfs": { @@ -20267,11 +20268,14 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "dev": true, "license": "MIT", + "engines": { + "node": ">=18" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -21654,11 +21658,15 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "8.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -23664,9 +23672,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -23790,52 +23798,38 @@ } }, "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "dev": true, "license": "MIT", "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", + "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "dev": true, "license": "MIT", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { "version": "18.3.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/react/-/react-18.3.1.tgz", @@ -27046,8 +27040,25 @@ "randombytes": "^2.1.0" } }, - "node_modules/rst-selector-parser": { - "version": "2.2.3", + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rst-selector-parser": { + "version": "2.2.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", "integrity": "sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==", "dev": true, @@ -27680,55 +27691,57 @@ } }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "1.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/send/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/send/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/serialize-error": { @@ -27855,19 +27868,23 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "2.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/set-cookie-parser": { @@ -28908,9 +28925,9 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "engines": { @@ -30533,19 +30550,47 @@ } }, "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dev": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 0.6" } }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -31440,6 +31485,144 @@ } } }, + "node_modules/webpack-dev-server/node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/webpack-dev-server/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/express": { + "version": "4.22.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/webpack-dev-server/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webpack-dev-server/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/webpack-dev-server/node_modules/ipaddr.js": { "version": "2.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -31450,6 +31633,49 @@ "node": ">= 10" } }, + "node_modules/webpack-dev-server/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/rimraf/-/rimraf-3.0.2.tgz", @@ -31467,6 +31693,61 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/webpack-dev-server/node_modules/send": { + "version": "0.19.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/webpack-dev-server/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/webpack-dev-server/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/webpack-dev-server/node_modules/ws": { "version": "8.18.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ws/-/ws-8.18.1.tgz", diff --git a/api-catalog-ui/frontend/package.json b/api-catalog-ui/frontend/package.json index 9837f1ce8b..8410304e1d 100644 --- a/api-catalog-ui/frontend/package.json +++ b/api-catalog-ui/frontend/package.json @@ -98,7 +98,7 @@ "@reduxjs/toolkit": "2.11.2", "ajv": "8.17.1", "ansi-regex": "6.2.2", - "body-parser": "1.20.4", + "body-parser": "2.2.2", "caniuse-lite": "1.0.30001766", "concurrently": "9.2.1", "cors": "2.8.6", @@ -116,7 +116,7 @@ "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-prettier": "5.5.5", "eslint-plugin-react": "7.37.5", - "express": "4.22.1", + "express": "5.2.1", "globals": "15.15.0", "html-loader": "5.1.0", "jest": "29.7.0", @@ -165,7 +165,8 @@ }, "prismjs": "1.30.0" }, - "js-yaml": "4.1.1" + "js-yaml": "4.1.1", + "qs": "6.14.1" }, "engines": { "npm": "=10.9.4", diff --git a/onboarding-enabler-nodejs-sample-app/package-lock.json b/onboarding-enabler-nodejs-sample-app/package-lock.json index bbea49b482..b5e0aec9fc 100644 --- a/onboarding-enabler-nodejs-sample-app/package-lock.json +++ b/onboarding-enabler-nodejs-sample-app/package-lock.json @@ -10,7 +10,7 @@ "license": "EPL-2.0", "dependencies": { "@zowe/apiml-onboarding-enabler-nodejs": "file:../onboarding-enabler-nodejs", - "express": "4.22.1" + "express": "5.2.1" }, "engines": { "node": ">=20.19.6", @@ -24,7 +24,7 @@ "dependencies": { "async": "3.2.6", "js-yaml": "4.1.1", - "lodash": "4.17.21" + "lodash": "4.17.23" }, "devDependencies": { "babel-core": "6.26.3", @@ -55,46 +55,40 @@ "link": true }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "2.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/bytes": { @@ -136,15 +130,16 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -166,18 +161,29 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "license": "MIT" + "version": "1.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/depd": { @@ -189,16 +195,6 @@ "node": ">= 0.8" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -274,45 +270,42 @@ } }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "5.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" }, "funding": { "type": "opencollective", @@ -320,21 +313,24 @@ } }, "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "version": "2.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/forwarded": { @@ -347,12 +343,12 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/function-bind": { @@ -458,15 +454,19 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/inherits": { @@ -484,6 +484,12 @@ "node": ">= 0.10" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -494,75 +500,61 @@ } }, "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "license": "MIT", "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" + "node": ">=18" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "version": "2.1.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -592,6 +584,15 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/parseurl/-/parseurl-1.3.3.tgz", @@ -602,10 +603,14 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "license": "MIT" + "version": "8.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -645,39 +650,35 @@ } }, "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "license": "MIT", "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", + "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -686,48 +687,48 @@ "license": "MIT" }, "node_modules/send": { - "version": "0.19.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "version": "1.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "version": "2.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/setprototypeof": { @@ -827,13 +828,14 @@ } }, "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 0.6" @@ -848,15 +850,6 @@ "node": ">= 0.8" } }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/vary/-/vary-1.1.2.tgz", @@ -865,6 +858,12 @@ "engines": { "node": ">= 0.8" } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" } } } diff --git a/onboarding-enabler-nodejs-sample-app/package.json b/onboarding-enabler-nodejs-sample-app/package.json index f03f1bfdea..95130d050a 100755 --- a/onboarding-enabler-nodejs-sample-app/package.json +++ b/onboarding-enabler-nodejs-sample-app/package.json @@ -16,7 +16,7 @@ "license": "EPL-2.0", "dependencies": { "@zowe/apiml-onboarding-enabler-nodejs": "file:../onboarding-enabler-nodejs", - "express": "4.22.1" + "express": "5.2.1" }, "overrides": { "tough-cookie": "5.1.2" diff --git a/onboarding-enabler-python-sample-app/Pipfile b/onboarding-enabler-python-sample-app/Pipfile index f6609c5137..1a8fb2dde6 100644 --- a/onboarding-enabler-python-sample-app/Pipfile +++ b/onboarding-enabler-python-sample-app/Pipfile @@ -60,7 +60,6 @@ mistune = ">=3.1.2" more-itertools = ">=10.6.0" multidict = ">=6.1.0" nbclient = ">=0.10.2" -nbconvert = ">=7.16.6" nbformat = ">=5.10.4" outcome = ">=1.3.0.post0" packaging = ">=24.2" @@ -80,7 +79,7 @@ pyctuator = ">=0.11" pydantic = ">=2.9.2" pydantic-core = ">=2.23.4" pygments = ">=2.19.1" -pytest = ">=8.3.5" +pytest = ">=9.0.2" pytest-asyncio = ">=0.25.3" pytest-mock = ">=3.14.0" pytest-tornasync = ">=0.6.0.post2" @@ -104,7 +103,7 @@ traitlets = ">=5.14.3" trio = ">=0.29.0" typeguard = ">=4.3.0" typing-extensions = ">=4.12.2" -urllib3 = ">=2.6.0" +urllib3 = ">=2.6.3" uvicorn = ">=0.34.0" wcwidth = ">=0.2.13" webencodings = ">=0.5.1" diff --git a/onboarding-enabler-python-sample-app/Pipfile.lock b/onboarding-enabler-python-sample-app/Pipfile.lock index 3e89670137..188fed32f5 100644 --- a/onboarding-enabler-python-sample-app/Pipfile.lock +++ b/onboarding-enabler-python-sample-app/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "78beaf2851095ab7a62b377bafd2d0741f0aacca6896c2939c29662a5d75dd5a" + "sha256": "d282d2fffa708a830daf9811c7750d9a5fde540ea476f1e3c4750b195aa1bd78" }, "pipfile-spec": 6, "requires": { - "python_version": "3.13" + "python_version": "3.12" }, "sources": [ { @@ -27,130 +27,130 @@ }, "aiohttp": { "hashes": [ - "sha256:04c3971421576ed24c191f610052bcb2f059e395bc2489dd99e397f9bc466329", - "sha256:05c4dd3c48fb5f15db31f57eb35374cb0c09afdde532e7fb70a75aede0ed30f6", - "sha256:070599407f4954021509193404c4ac53153525a19531051661440644728ba9a7", - "sha256:0740f31a60848d6edb296a0df827473eede90c689b8f9f2a4cdde74889eb2254", - "sha256:088912a78b4d4f547a1f19c099d5a506df17eacec3c6f4375e2831ec1d995742", - "sha256:0a3d54e822688b56e9f6b5816fb3de3a3a64660efac64e4c2dc435230ad23bad", - "sha256:0db1e24b852f5f664cd728db140cf11ea0e82450471232a394b3d1a540b0f906", - "sha256:0e87dff73f46e969af38ab3f7cb75316a7c944e2e574ff7c933bc01b10def7f5", - "sha256:1237c1375eaef0db4dcd7c2559f42e8af7b87ea7d295b118c60c36a6e61cb811", - "sha256:16f15a4eac3bc2d76c45f7ebdd48a65d41b242eb6c31c2245463b40b34584ded", - "sha256:1f9b2c2d4b9d958b1f9ae0c984ec1dd6b6689e15c75045be8ccb4011426268ca", - "sha256:204ffff2426c25dfda401ba08da85f9c59525cdc42bda26660463dd1cbcfec6f", - "sha256:20b10bbfbff766294fe99987f7bb3b74fdd2f1a2905f2562132641ad434dcf98", - "sha256:20db2d67985d71ca033443a1ba2001c4b5693fe09b0e29f6d9358a99d4d62a8a", - "sha256:228a1cd556b3caca590e9511a89444925da87d35219a49ab5da0c36d2d943a6a", - "sha256:2372b15a5f62ed37789a6b383ff7344fc5b9f243999b0cd9b629d8bc5f5b4155", - "sha256:23ad365e30108c422d0b4428cf271156dd56790f6dd50d770b8e360e6c5ab2e6", - "sha256:23fb0783bc1a33640036465019d3bba069942616a6a2353c6907d7fe1ccdaf4e", - "sha256:2475391c29230e063ef53a66669b7b691c9bfc3f1426a0f7bcdf1216bdbac38b", - "sha256:27e569eb9d9e95dbd55c0fc3ec3a9335defbf1d8bc1d20171a49f3c4c607b93e", - "sha256:29562998ec66f988d49fb83c9b01694fa927186b781463f376c5845c121e4e0b", - "sha256:2adebd4577724dcae085665f294cc57c8701ddd4d26140504db622b8d566d7aa", - "sha256:2ca6ffef405fc9c09a746cb5d019c1672cd7f402542e379afc66b370833170cf", - "sha256:2e1a9bea6244a1d05a4e57c295d69e159a5c50d8ef16aa390948ee873478d9a5", - "sha256:364e25edaabd3d37b1db1f0cbcee8c73c9a3727bfa262b83e5e4cf3489a2a9dc", - "sha256:364f55663085d658b8462a1c3f17b2b84a5c2e1ba858e1b79bff7b2e24ad1514", - "sha256:39d02cb6025fe1aabca329c5632f48c9532a3dabccd859e7e2f110668972331f", - "sha256:3a92cf4b9bea33e15ecbaa5c59921be0f23222608143d025c989924f7e3e0c07", - "sha256:40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca", - "sha256:4356474ad6333e41ccefd39eae869ba15a6c5299c9c01dfdcfdd5c107be4363e", - "sha256:43dff14e35aba17e3d6d5ba628858fb8cb51e30f44724a2d2f0c75be492c55e9", - "sha256:4647d02df098f6434bafd7f32ad14942f05a9caa06c7016fdcc816f343997dd0", - "sha256:47f438b1a28e926c37632bff3c44df7d27c9b57aaf4e34b1def3c07111fdb782", - "sha256:4dd3db9d0f4ebca1d887d76f7cdbcd1116ac0d05a9221b9dad82c64a62578c4d", - "sha256:4ebf9cfc9ba24a74cf0718f04aac2a3bbe745902cc7c5ebc55c0f3b5777ef213", - "sha256:5276807b9de9092af38ed23ce120539ab0ac955547b38563a9ba4f5b07b95293", - "sha256:53b07472f235eb80e826ad038c9d106c2f653584753f3ddab907c83f49eedead", - "sha256:550bf765101ae721ee1d37d8095f47b1f220650f85fe1af37a90ce75bab89d04", - "sha256:56d36e80d2003fa3fc0207fac644216d8532e9504a785ef9a8fd013f84a42c61", - "sha256:585542825c4bc662221fb257889e011a5aa00f1ae4d75d1d246a5225289183e3", - "sha256:5b927cf9b935a13e33644cbed6c8c4b2d0f25b713d838743f8fe7191b33829c4", - "sha256:5d7f02042c1f009ffb70067326ef183a047425bb2ff3bc434ead4dd4a4a66a2b", - "sha256:6315fb6977f1d0dd41a107c527fee2ed5ab0550b7d885bc15fee20ccb17891da", - "sha256:66bac29b95a00db411cd758fea0e4b9bdba6d549dfe333f9a945430f5f2cc5a6", - "sha256:6c00dbcf5f0d88796151e264a8eab23de2997c9303dd7c0bf622e23b24d3ce22", - "sha256:6e7352512f763f760baaed2637055c49134fd1d35b37c2dedfac35bfe5cf8725", - "sha256:7519bdc7dfc1940d201651b52bf5e03f5503bda45ad6eacf64dda98be5b2b6be", - "sha256:78cd586d8331fb8e241c2dd6b2f4061778cc69e150514b39a9e28dd050475661", - "sha256:7a653d872afe9f33497215745da7a943d1dc15b728a9c8da1c3ac423af35178e", - "sha256:7c3a50345635a02db61792c85bb86daffac05330f6473d524f1a4e3ef9d0046d", - "sha256:7fbdf5ad6084f1940ce88933de34b62358d0f4a0b6ec097362dcd3e5a65a4989", - "sha256:7fd19df530c292542636c2a9a85854fab93474396a52f1695e799186bbd7f24c", - "sha256:868e195e39b24aaa930b063c08bb0c17924899c16c672a28a65afded9c46c6ec", - "sha256:8709a0f05d59a71f33fd05c17fc11fcb8c30140506e13c2f5e8ee1b8964e1b45", - "sha256:88d6c017966a78c5265d996c19cdb79235be5e6412268d7e2ce7dee339471b7a", - "sha256:8aa7c807df234f693fed0ecd507192fc97692e61fee5702cdc11155d2e5cadc8", - "sha256:8b2f1414f6a1e0683f212ec80e813f4abef94c739fd090b66c9adf9d2a05feac", - "sha256:93655083005d71cd6c072cdab54c886e6570ad2c4592139c3fb967bfc19e4694", - "sha256:939ced4a7add92296b0ad38892ce62b98c619288a081170695c6babe4f50e636", - "sha256:9434bc0d80076138ea986833156c5a48c9c7a8abb0c96039ddbb4afc93184169", - "sha256:94f05348c4406450f9d73d38efb41d669ad6cd90c7ee194810d0eefbfa875a7a", - "sha256:960c2fc686ba27b535f9fd2b52d87ecd7e4fd1cf877f6a5cba8afb5b4a8bd204", - "sha256:96581619c57419c3d7d78703d5b78c1e5e5fc0172d60f555bdebaced82ded19a", - "sha256:97a0895a8e840ab3520e2288db7cace3a1981300d48babeb50e7425609e2e0ab", - "sha256:98c4fb90bb82b70a4ed79ca35f656f4281885be076f3f970ce315402b53099ae", - "sha256:99c5280a329d5fa18ef30fd10c793a190d996567667908bef8a7f81f8202b948", - "sha256:9acda8604a57bb60544e4646a4615c1866ee6c04a8edef9b8ee6fd1d8fa2ddc8", - "sha256:9c705601e16c03466cb72011bd1af55d68fa65b045356d8f96c216e5f6db0fa5", - "sha256:9e8f8afb552297aca127c90cb840e9a1d4bfd6a10d7d8f2d9176e1acc69bad30", - "sha256:9eb3e33fdbe43f88c3c75fa608c25e7c47bbd80f48d012763cb67c47f39a7e16", - "sha256:9ec49dff7e2b3c85cdeaa412e9d438f0ecd71676fde61ec57027dd392f00c693", - "sha256:9f377d0a924e5cc94dc620bc6366fc3e889586a7f18b748901cf016c916e2084", - "sha256:a09a6d073fb5789456545bdee2474d14395792faa0527887f2f4ec1a486a59d3", - "sha256:a2713a95b47374169409d18103366de1050fe0ea73db358fc7a7acb2880422d4", - "sha256:a3b6fb0c207cc661fa0bf8c66d8d9b657331ccc814f4719468af61034b478592", - "sha256:a4b88ebe35ce54205c7074f7302bd08a4cb83256a3e0870c72d6f68a3aaf8e49", - "sha256:a88d13e7ca367394908f8a276b89d04a3652044612b9a408a0bb22a5ed976a1a", - "sha256:ac6cde5fba8d7d8c6ac963dbb0256a9854e9fafff52fbcc58fdf819357892c3e", - "sha256:ae32f24bbfb7dbb485a24b30b1149e2f200be94777232aeadba3eecece4d0aa4", - "sha256:b009194665bcd128e23eaddef362e745601afa4641930848af4c8559e88f18f9", - "sha256:b1e56bab2e12b2b9ed300218c351ee2a3d8c8fdab5b1ec6193e11a817767e47b", - "sha256:b395bbca716c38bef3c764f187860e88c724b342c26275bc03e906142fc5964f", - "sha256:b59d13c443f8e049d9e94099c7e412e34610f1f49be0f230ec656a10692a5802", - "sha256:ba2715d842ffa787be87cbfce150d5e88c87a98e0b62e0f5aa489169a393dbbb", - "sha256:bb7fb776645af5cc58ab804c58d7eba545a97e047254a52ce89c157b5af6cd0b", - "sha256:c038a8fdc8103cd51dbd986ecdce141473ffd9775a7a8057a6ed9c3653478011", - "sha256:c20423ce14771d98353d2e25e83591fa75dfa90a3c1848f3d7c68243b4fbded3", - "sha256:c5c94825f744694c4b8db20b71dba9a257cd2ba8e010a803042123f3a25d50d7", - "sha256:cf00e5db968c3f67eccd2778574cf64d8b27d95b237770aa32400bd7a1ca4f6c", - "sha256:d23b5fe492b0805a50d3371e8a728a9134d8de5447dce4c885f5587294750734", - "sha256:d7bc4b7f9c4921eba72677cd9fedd2308f4a4ca3e12fab58935295ad9ea98700", - "sha256:d8a9b889aeabd7a4e9af0b7f4ab5ad94d42e7ff679aaec6d0db21e3b639ad58d", - "sha256:dacd50501cd017f8cccb328da0c90823511d70d24a323196826d923aad865901", - "sha256:e036a3a645fe92309ec34b918394bb377950cbb43039a97edae6c08db64b23e2", - "sha256:e09a0a06348a2dd73e7213353c90d709502d9786219f69b731f6caa0efeb46f5", - "sha256:e0c8e31cfcc4592cb200160344b2fb6ae0f9e4effe06c644b5a125d4ae5ebe23", - "sha256:e1b4951125ec10c70802f2cb09736c895861cd39fd9dcb35107b4dc8ae6220b8", - "sha256:e2a9ea08e8c58bb17655630198833109227dea914cd20be660f52215f6de5613", - "sha256:e3403f24bcb9c3b29113611c3c16a2a447c3953ecf86b79775e7be06f7ae7ccb", - "sha256:e574a7d61cf10351d734bcddabbe15ede0eaa8a02070d85446875dc11189a251", - "sha256:e67446b19e014d37342f7195f592a2a948141d15a312fe0e700c2fd2f03124f6", - "sha256:e736c93e9c274fce6419af4aac199984d866e55f8a4cec9114671d0ea9688780", - "sha256:e7c952aefdf2460f4ae55c5e9c3e80aa72f706a6317e06020f80e96253b1accd", - "sha256:e7f8659a48995edee7229522984bd1009c1213929c769c2daa80b40fe49a180c", - "sha256:e96eb1a34396e9430c19d8338d2ec33015e4a87ef2b4449db94c22412e25ccdf", - "sha256:ec7534e63ae0f3759df3a1ed4fa6bc8f75082a924b590619c0dd2f76d7043caa", - "sha256:ed2f9c7216e53c3df02264f25d824b079cc5914f9e2deba94155190ef648ee40", - "sha256:eeacf451c99b4525f700f078becff32c32ec327b10dcf31306a8a52d78166de7", - "sha256:f10d9c0b0188fe85398c61147bbd2a657d616c876863bfeff43376e0e3134673", - "sha256:f2bef8237544f4e42878c61cef4e2839fee6346dc60f5739f876a9c50be7fcdb", - "sha256:f33c8748abef4d8717bb20e8fb1b3e07c6adacb7fd6beaae971a764cf5f30d61", - "sha256:f7c183e786e299b5d6c49fb43a769f8eb8e04a2726a2bd5887b98b5cc2d67940", - "sha256:fa4dcb605c6f82a80c7f95713c2b11c3b8e9893b3ebd2bc9bde93165ed6107be", - "sha256:fa89cb11bc71a63b69568d5b8a25c3ca25b6d54c15f907ca1c130d72f320b76b", - "sha256:fe242cd381e0fb65758faf5ad96c2e460df6ee5b2de1072fe97e4127927e00b4", - "sha256:fe91b87fc295973096251e2d25a811388e7d8adf3bd2b97ef6ae78bc4ac6c476", - "sha256:fed38a5edb7945f4d1bcabe2fcd05db4f6ec7e0e82560088b754f7e08d93772d", - "sha256:ff0a7b0a82a7ab905cbda74006318d1b12e37c797eb1b0d4eb3e316cf47f658f", - "sha256:ff15c147b2ad66da1f2cbb0622313f2242d8e6e8f9b79b5206c84523a4473248", - "sha256:ff5e771f5dcbc81c64898c597a434f7682f2259e0cd666932a913d53d1341d1a" + "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", + "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c", + "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c", + "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", + "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f", + "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40", + "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2", + "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", + "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821", + "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64", + "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7", + "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", + "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", + "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea", + "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", + "sha256:2ba0eea45eb5cc3172dbfc497c066f19c41bac70963ea1a67d51fc92e4cf9a80", + "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4", + "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767", + "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43", + "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592", + "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a", + "sha256:31a83ea4aead760dfcb6962efb1d861db48c34379f2ff72db9ddddd4cda9ea2e", + "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687", + "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8", + "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", + "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd", + "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a", + "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", + "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587", + "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", + "sha256:40c5e40ecc29ba010656c18052b877a1c28f84344825efa106705e835c28530f", + "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", + "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344", + "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6", + "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", + "sha256:4ae5b5a0e1926e504c81c5b84353e7a5516d8778fbbff00429fe7b05bb25cbce", + "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808", + "sha256:56339a36b9f1fc708260c76c87e593e2afb30d26de9ae1eb445b5e051b98a7a1", + "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29", + "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3", + "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b", + "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51", + "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", + "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926", + "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64", + "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f", + "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b", + "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", + "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440", + "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", + "sha256:69c56fbc1993fa17043e24a546959c0178fe2b5782405ad4559e6c13975c15e3", + "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", + "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415", + "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279", + "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", + "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603", + "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", + "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c", + "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", + "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", + "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540", + "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e", + "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26", + "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a", + "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845", + "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", + "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", + "sha256:8a60e60746623925eab7d25823329941aee7242d559baa119ca2b253c88a7bd6", + "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba", + "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df", + "sha256:947c26539750deeaee933b000fb6517cc770bbd064bad6033f1cff4803881e43", + "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", + "sha256:988a8c5e317544fdf0d39871559e67b6341065b87fceac641108c2096d5506b7", + "sha256:9a9dc347e5a3dc7dfdbc1f82da0ef29e388ddb2ed281bfce9dd8248a313e62b7", + "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", + "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29", + "sha256:9b174f267b5cfb9a7dba9ee6859cecd234e9a681841eb85068059bc867fb8f02", + "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984", + "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1", + "sha256:9ebf57d09e131f5323464bd347135a88622d1c0976e88ce15b670e7ad57e4bd6", + "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632", + "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56", + "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239", + "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", + "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", + "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc", + "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11", + "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", + "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0", + "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", + "sha256:b46020d11d23fe16551466c77823df9cc2f2c1e63cc965daf67fa5eec6ca1877", + "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1", + "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", + "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25", + "sha256:b99281b0704c103d4e11e72a76f1b543d4946fea7dd10767e7e1b5f00d4e5704", + "sha256:bae5c2ed2eae26cc382020edad80d01f36cb8e746da40b292e68fec40421dc6a", + "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", + "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1", + "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29", + "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", + "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160", + "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d", + "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", + "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f", + "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538", + "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", + "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7", + "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72", + "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af", + "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455", + "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", + "sha256:e50a2e1404f063427c9d027378472316201a2290959a295169bcf25992d04558", + "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c", + "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808", + "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7", + "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", + "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3", + "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", + "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa", + "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==3.13.2" + "version": "==3.13.3" }, "aiosignal": { "hashes": [ @@ -180,12 +180,12 @@ }, "anyio": { "hashes": [ - "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", - "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb" + "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", + "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==4.12.0" + "version": "==4.12.1" }, "appnope": { "hashes": [ @@ -281,12 +281,12 @@ }, "certifi": { "hashes": [ - "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", - "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316" + "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", + "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==2025.11.12" + "version": "==2026.1.4" }, "charset-normalizer": { "hashes": [ @@ -489,12 +489,12 @@ }, "fastapi": { "hashes": [ - "sha256:260cd178ad75e6d259991f2fd9b0fee924b224850079df576a3ba604ce58f4e6", - "sha256:91596bdc6dde303c318f06e8d2bc75eafb341fc793a0c9c92c0bc1db1ac52480" + "sha256:1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a", + "sha256:aebd93f9716ee3b4f4fcfe13ffb7cf308d99c9f3ab5622d8877441072561582d" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==0.124.0" + "markers": "python_version >= '3.9'", + "version": "==0.128.0" }, "fastjsonschema": { "hashes": [ @@ -652,58 +652,63 @@ }, "greenlet": { "hashes": [ - "sha256:047ab3df20ede6a57c35c14bf5200fcf04039d50f908270d3f9a7a82064f543b", - "sha256:087ea5e004437321508a8d6f20efc4cfec5e3c30118e1417ea96ed1d93950527", - "sha256:0a5d554d0712ba1de0a6c94c640f7aeba3f85b3a6e1f2899c11c2c0428da9365", - "sha256:2662433acbca297c9153a4023fe2161c8dcfdcc91f10433171cf7e7d94ba2221", - "sha256:286d093f95ec98fdd92fcb955003b8a3d054b4e2cab3e2707a5039e7b50520fd", - "sha256:2d9ad37fc657b1102ec880e637cccf20191581f75c64087a549e66c57e1ceb53", - "sha256:2de5a0b09eab81fc6a382791b995b1ccf2b172a9fec934747a7a23d2ff291794", - "sha256:30a6e28487a790417d036088b3bcb3f3ac7d8babaa7d0139edbaddebf3af9492", - "sha256:349345b770dc88f81506c6861d22a6ccd422207829d2c854ae2af8025af303e3", - "sha256:39b28e339fc3c348427560494e28d8a6f3561c8d2bcf7d706e1c624ed8d822b9", - "sha256:3a898b1e9c5f7307ebbde4102908e6cbfcb9ea16284a3abe15cab996bee8b9b3", - "sha256:3c6e9b9c1527a78520357de498b0e709fb9e2f49c3a513afd5a249007261911b", - "sha256:4243050a88ba61842186cb9e63c7dfa677ec146160b0efd73b855a3d9c7fcf32", - "sha256:4449a736606bd30f27f8e1ff4678ee193bc47f6ca810d705981cfffd6ce0d8c5", - "sha256:5375d2e23184629112ca1ea89a53389dddbffcf417dad40125713d88eb5f96e8", - "sha256:5773edda4dc00e173820722711d043799d3adb4f01731f40619e07ea2750b955", - "sha256:60c2ef0f578afb3c8d92ea07ad327f9a062547137afe91f38408f08aacab667f", - "sha256:670d0f94cd302d81796e37299bcd04b95d62403883b24225c6b5271466612f45", - "sha256:6c10513330af5b8ae16f023e8ddbfb486ab355d04467c4679c5cfe4659975dd9", - "sha256:6cb3a8ec3db4a3b0eb8a3c25436c2d49e3505821802074969db017b87bc6a948", - "sha256:6f8496d434d5cb2dce025773ba5597f71f5410ae499d5dd9533e0653258cdb3d", - "sha256:73631cd5cccbcfe63e3f9492aaa664d278fda0ce5c3d43aeda8e77317e38efbd", - "sha256:73f51dd0e0bdb596fb0417e475fa3c5e32d4c83638296e560086b8d7da7c4170", - "sha256:7652ee180d16d447a683c04e4c5f6441bae7ba7b17ffd9f6b3aff4605e9e6f71", - "sha256:7d2d9fd66bfadf230b385fdc90426fcd6eb64db54b40c495b72ac0feb5766c54", - "sha256:7dee147740789a4632cace364816046e43310b59ff8fb79833ab043aefa72fd5", - "sha256:83cd0e36932e0e7f36a64b732a6f60c2fc2df28c351bae79fbaf4f8092fe7614", - "sha256:87e63ccfa13c0a0f6234ed0add552af24cc67dd886731f2261e46e241608bee3", - "sha256:9ee1942ea19550094033c35d25d20726e4f1c40d59545815e1128ac58d416d38", - "sha256:9f515a47d02da4d30caaa85b69474cec77b7929b2e936ff7fb853d42f4bf8808", - "sha256:a1e41a81c7e2825822f4e068c48cb2196002362619e2d70b148f20a831c00739", - "sha256:a687205fb22794e838f947e2194c0566d3812966b41c78709554aa883183fb62", - "sha256:a7a34b13d43a6b78abf828a6d0e87d3385680eaf830cd60d20d52f249faabf39", - "sha256:a82bb225a4e9e4d653dd2fb7b8b2d36e4fb25bc0165422a11e48b88e9e6f78fb", - "sha256:ab97cf74045343f6c60a39913fa59710e4bd26a536ce7ab2397adf8b27e67c39", - "sha256:ac0549373982b36d5fd5d30beb8a7a33ee541ff98d2b502714a09f1169f31b55", - "sha256:b01548f6e0b9e9784a2c99c5651e5dc89ffcbe870bc5fb2e5ef864e9cc6b5dcb", - "sha256:b299a0cb979f5d7197442dccc3aee67fce53500cd88951b7e6c35575701c980b", - "sha256:b3c374782c2935cc63b2a27ba8708471de4ad1abaa862ffdb1ef45a643ddbb7d", - "sha256:b49e7ed51876b459bd645d83db257f0180e345d3f768a35a85437a24d5a49082", - "sha256:b96dc7eef78fd404e022e165ec55327f935b9b52ff355b067eb4a0267fc1cffb", - "sha256:c024b1e5696626890038e34f76140ed1daf858e37496d33f2af57f06189e70d7", - "sha256:d198d2d977460358c3b3a4dc844f875d1adb33817f0613f663a656f463764ccc", - "sha256:d6ed6f85fae6cdfdb9ce04c9bf7a08d666cfcfb914e7d006f44f840b46741931", - "sha256:d9125050fcf24554e69c4cacb086b87b3b55dc395a8b3ebe6487b045b2614388", - "sha256:dcd2bdbd444ff340e8d6bdf54d2f206ccddbb3ccfdcd3c25bf4afaa7b8f0cf45", - "sha256:e29f3018580e8412d6aaf5641bb7745d38c85228dacf51a73bd4e26ddf2a6a8e", - "sha256:e8e18ed6995e9e2c0b4ed264d2cf89260ab3ac7e13555b8032b25a74c6d18655" + "sha256:02925a0bfffc41e542c70aa14c7eda3593e4d7e274bfcccca1827e6c0875902e", + "sha256:04bee4775f40ecefcdaa9d115ab44736cd4b9c5fba733575bfe9379419582e13", + "sha256:070472cd156f0656f86f92e954591644e158fd65aa415ffbe2d44ca77656a8f5", + "sha256:09f51496a0bfbaa9d74d36a52d2580d1ef5ed4fdfcff0a73730abfbbbe1403dd", + "sha256:1108b61b06b5224656121c3c8ee8876161c491cbe74e5c519e0634c837cf93d5", + "sha256:12184c61e5d64268a160226fb4818af4df02cfead8379d7f8b99a56c3a54ff3e", + "sha256:14194f5f4305800ff329cbf02c5fcc88f01886cadd29941b807668a45f0d2336", + "sha256:20fedaadd422fa02695f82093f9a98bad3dab5fcda793c658b945fcde2ab27ba", + "sha256:27289986f4e5b0edec7b5a91063c109f0276abb09a7e9bdab08437525977c946", + "sha256:2f080e028001c5273e0b42690eaf359aeef9cb1389da0f171ea51a5dc3c7608d", + "sha256:301860987846c24cb8964bdec0e31a96ad4a2a801b41b4ef40963c1b44f33451", + "sha256:32e4ca9777c5addcbf42ff3915d99030d8e00173a56f80001fb3875998fe410b", + "sha256:33a956fe78bbbda82bfc95e128d61129b32d66bcf0a20a1f0c08aa4839ffa951", + "sha256:34a729e2e4e4ffe9ae2408d5ecaf12f944853f40ad724929b7585bca808a9d6f", + "sha256:39eda9ba259cc9801da05351eaa8576e9aa83eb9411e8f0c299e05d712a210f2", + "sha256:3a300354f27dd86bae5fbf7002e6dd2b3255cd372e9242c933faf5e859b703fe", + "sha256:3e0f3878ca3a3ff63ab4ea478585942b53df66ddde327b59ecb191b19dbbd62d", + "sha256:3e63252943c921b90abb035ebe9de832c436401d9c45f262d80e2d06cc659242", + "sha256:41848f3230b58c08bb43dee542e74a2a2e34d3c59dc3076cec9151aeeedcae98", + "sha256:49f4ad195d45f4a66a0eb9c1ba4832bb380570d361912fa3554746830d332149", + "sha256:4b065d3284be43728dd280f6f9a13990b56470b81be20375a207cdc814a983f2", + "sha256:4b9721549a95db96689458a1e0ae32412ca18776ed004463df3a9299c1b257ab", + "sha256:50e1457f4fed12a50e427988a07f0f9df53cf0ee8da23fab16e6732c2ec909d4", + "sha256:59913f1e5ada20fde795ba906916aea25d442abcc0593fba7e26c92b7ad76249", + "sha256:5fd23b9bc6d37b563211c6abbb1b3cab27db385a4449af5c32e932f93017080c", + "sha256:6423481193bbbe871313de5fd06a082f2649e7ce6e08015d2a76c1e9186ca5b3", + "sha256:65be2f026ca6a176f88fb935ee23c18333ccea97048076aef4db1ef5bc0713ac", + "sha256:67ea3fc73c8cd92f42467a72b75e8f05ed51a0e9b1d15398c913416f2dafd49f", + "sha256:71c767cf281a80d02b6c1bdc41c9468e1f5a494fb11bc8688c360524e273d7b1", + "sha256:76e39058e68eb125de10c92524573924e827927df5d3891fbc97bd55764a8774", + "sha256:7932f5f57609b6a3b82cc11877709aa7a98e3308983ed93552a1c377069b20c8", + "sha256:7a3ae05b3d225b4155bda56b072ceb09d05e974bc74be6c3fc15463cf69f33fd", + "sha256:7ab327905cabb0622adca5971e488064e35115430cec2c35a50fd36e72a315b3", + "sha256:7b2fe4150a0cf59f847a67db8c155ac36aed89080a6a639e9f16df5d6c6096f1", + "sha256:7e806ca53acf6d15a888405880766ec84721aa4181261cd11a457dfe9a7a4975", + "sha256:80aa4d79eb5564f2e0a6144fcc744b5a37c56c4a92d60920720e99210d88db0f", + "sha256:92497c78adf3ac703b57f1e3813c2d874f27f71a178f9ea5887855da413cd6d2", + "sha256:96aff77af063b607f2489473484e39a0bbae730f2ea90c9e5606c9b73c44174a", + "sha256:aec9ab04e82918e623415947921dea15851b152b822661cce3f8e4393c3df683", + "sha256:b066e8b50e28b503f604fa538adc764a638b38cf8e81e025011d26e8a627fa79", + "sha256:b31c05dd84ef6871dd47120386aed35323c944d86c3d91a17c4b8d23df62f15b", + "sha256:bd59acd8529b372775cd0fcbc5f420ae20681c5b045ce25bd453ed8455ab99b5", + "sha256:bfb2d1763d777de5ee495c85309460f6fd8146e50ec9d0ae0183dbf6f0a829d1", + "sha256:c620051669fd04ac6b60ebc70478210119c56e2d5d5df848baec4312e260e4ca", + "sha256:c9f9d5e7a9310b7a2f416dd13d2e3fd8b42d803968ea580b7c0f322ccb389b97", + "sha256:cb0feb07fe6e6a74615ee62a880007d976cf739b6669cce95daa7373d4fc69c5", + "sha256:cc98b9c4e4870fa983436afa999d4eb16b12872fab7071423d5262fa7120d57a", + "sha256:d842c94b9155f1c9b3058036c24ffb8ff78b428414a19792b2380be9cecf4f36", + "sha256:da19609432f353fed186cc1b85e9440db93d489f198b4bdf42ae19cc9d9ac9b4", + "sha256:e0093bd1a06d899892427217f0ff2a3c8f306182b8c754336d32e2d587c131b4", + "sha256:e2e7e882f83149f0a71ac822ebf156d902e7a5d22c9045e3e0d1daf59cee2cc9", + "sha256:e84b51cbebf9ae573b5fbd15df88887815e3253fc000a7d0ff95170e8f7e9729", + "sha256:ed6b402bc74d6557a705e197d47f9063733091ed6357b3de33619d8a8d93ac53" ], "index": "pypi", "markers": "python_version >= '3.10'", - "version": "==3.3.0" + "version": "==3.3.1" }, "h11": { "hashes": [ @@ -759,12 +764,12 @@ }, "importlib-metadata": { "hashes": [ - "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", - "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd" + "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", + "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==8.7.0" + "version": "==8.7.1" }, "incremental": { "hashes": [ @@ -795,12 +800,12 @@ }, "ipython": { "hashes": [ - "sha256:8e4ce129a627eb9dd221c41b1d2cdaed4ef7c9da8c17c63f6f578fe231141f83", - "sha256:ebe6d1d58d7d988fbf23ff8ff6d8e1622cfdb194daf4b7b73b792c4ec3b85385" + "sha256:48fbed1b2de5e2c7177eefa144aba7fcb82dac514f09b57e2ac9da34ddb54220", + "sha256:b457fe9165df2b84e8ec909a97abcf2ed88f565970efba16b1f7229c283d252b" ], "index": "pypi", "markers": "python_version >= '3.11'", - "version": "==9.8.0" + "version": "==9.9.0" }, "ipython-pygments-lexers": { "hashes": [ @@ -839,12 +844,12 @@ }, "jsonschema": { "hashes": [ - "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", - "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" + "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", + "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==4.25.1" + "markers": "python_version >= '3.10'", + "version": "==4.26.0" }, "jsonschema-specifications": { "hashes": [ @@ -857,12 +862,12 @@ }, "jupyter-client": { "hashes": [ - "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", - "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f" + "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", + "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==8.6.3" + "markers": "python_version >= '3.10'", + "version": "==8.8.0" }, "jupyter-core": { "hashes": [ @@ -989,12 +994,12 @@ }, "mistune": { "hashes": [ - "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", - "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164" + "sha256:708487c8a8cdd99c9d90eb3ed4c3ed961246ff78ac82f03418f5183ab70e398a", + "sha256:febdc629a3c78616b94393c6580551e0e34cc289987ec6c35ed3f4be42d0eee1" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==3.1.4" + "version": "==3.2.0" }, "more-itertools": { "hashes": [ @@ -1007,174 +1012,165 @@ }, "multidict": { "hashes": [ - "sha256:03ca744319864e92721195fa28c7a3b2bc7b686246b35e4078c1e4d0eb5466d3", - "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec", - "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", - "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b", - "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb", - "sha256:08325c9e5367aa379a3496aa9a022fe8837ff22e00b94db256d3a1378c76ab32", - "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", - "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7", - "sha256:096f52730c3fb8ed419db2d44391932b63891b2c5ed14850a7e215c0ba9ade36", - "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd", - "sha256:0a13fb8e748dfc94749f622de065dd5c1def7e0d2216dba72b1d8069a389c6ff", - "sha256:0db4956f82723cc1c270de9c6e799b4c341d327762ec78ef82bb962f79cc07d8", - "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d", - "sha256:14c9e076eede3b54c636f8ce1c9c252b5f057c62131211f0ceeec273810c9721", - "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", - "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", - "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d", - "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa", - "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10", - "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", - "sha256:23bfeee5316266e5ee2d625df2d2c602b829435fc3a235c2ba2131495706e4a0", - "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", - "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", - "sha256:295a92a76188917c7f99cda95858c822f9e4aae5824246bba9b6b44004ddd0a6", - "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1", - "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", - "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754", - "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c", - "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390", - "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", - "sha256:329aa225b085b6f004a4955271a7ba9f1087e39dcb7e65f6284a988264a63912", - "sha256:363eb68a0a59bd2303216d2346e6c441ba10d36d1f9969fcb6f1ba700de7bb5c", - "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", - "sha256:3996b50c3237c4aec17459217c1e7bbdead9a22a0fcd3c365564fbd16439dde6", - "sha256:39f1719f57adbb767ef592a50ae5ebb794220d1188f9ca93de471336401c34d2", - "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f", - "sha256:3ba3ef510467abb0667421a286dc906e30eb08569365f5cdb131d7aff7c2dd84", - "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", - "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", - "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6", - "sha256:3e56d780c238f9e1ae66a22d2adf8d16f485381878250db8d496623cd38b22bd", - "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8", - "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", - "sha256:478cc36476687bac1514d651cbbaa94b86b0732fb6855c60c673794c7dd2da62", - "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec", - "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", - "sha256:4b73189894398d59131a66ff157837b1fafea9974be486d036bb3d32331fdbf0", - "sha256:4b7a9db5a870f780220e931d0002bbfd88fb53aceb6293251e2c839415c1b20e", - "sha256:4c09703000a9d0fa3c3404b27041e574cc7f4df4c6563873246d0e11812a94b6", - "sha256:4d409aa42a94c0b3fa617708ef5276dfe81012ba6753a0370fcc9d0195d0a1fc", - "sha256:4d72a9a2d885f5c208b0cb91ff2ed43636bb7e345ec839ff64708e04f69a13cc", - "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c", - "sha256:51cb455de290ae462593e5b1cb1118c5c22ea7f0d3620d9940bf695cea5a4bd7", - "sha256:521f33e377ff64b96c4c556b81c55d0cfffb96a11c194fd0c3f1e56f3d8dd5a4", - "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4", - "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", - "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5", - "sha256:661709cdcd919a2ece2234f9bae7174e5220c80b034585d7d8a755632d3e2111", - "sha256:680878b9f3d45c31e1f730eef731f9b0bc1da456155688c6745ee84eb818e90e", - "sha256:6843b28b0364dc605f21481c90fadb5f60d9123b442eb8a726bb74feef588a84", - "sha256:68af405971779d8b37198726f2b6fe3955db846fee42db7a4286fc542203934c", - "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1", - "sha256:6bdce131e14b04fd34a809b6380dbfd826065c3e2fe8a50dbae659fa0c390546", - "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", - "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c", - "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036", - "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", - "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", - "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64", - "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", - "sha256:7e73299c99939f089dd9b2120a04a516b95cdf8c1cd2b18c53ebf0de80b1f18f", - "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159", - "sha256:7f5170993a0dd3ab871c74f45c0a21a4e2c37a2f2b01b5f722a2ad9c6650469e", - "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12", - "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", - "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0", - "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184", - "sha256:8b55d5497b51afdfde55925e04a022f1de14d4f4f25cdfd4f5d9b0aa96166851", - "sha256:8cfc12a8630a29d601f48d47787bd7eb730e475e83edb5d6c5084317463373eb", - "sha256:9281bf5b34f59afbc6b1e477a372e9526b66ca446f4bf62592839c195a718b32", - "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b", - "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288", - "sha256:95b5ffa4349df2887518bb839409bcf22caa72d82beec453216802f475b23c81", - "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd", - "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45", - "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a", - "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca", - "sha256:9cf41880c991716f3c7cec48e2f19ae4045fc9db5fc9cff27347ada24d710bb5", - "sha256:9d14baca2ee12c1a64740d4531356ba50b82543017f3ad6de0deb943c5979abb", - "sha256:9f474ad5acda359c8758c8accc22032c6abe6dc87a8be2440d097785e27a9349", - "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b", - "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", - "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32", - "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5", - "sha256:a048ce45dcdaaf1defb76b2e684f997fb5abf74437b6cb7b22ddad934a964e34", - "sha256:a265acbb7bb33a3a2d626afbe756371dce0279e7b17f4f4eda406459c2b5ff1c", - "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4", - "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17", - "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60", - "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", - "sha256:a90af66facec4cebe4181b9e62a68be65e45ac9b52b67de9eec118701856e7ff", - "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00", - "sha256:afa8a2978ec65d2336305550535c9c4ff50ee527914328c8677b3973ade52b85", - "sha256:b15b3afff74f707b9275d5ba6a91ae8f6429c3ffb29bbfd216b0b375a56f13d7", - "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304", - "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13", - "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e", - "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e", - "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792", - "sha256:b61189b29081a20c7e4e0b49b44d5d44bb0dc92be3c6d06a11cc043f81bf9329", - "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", - "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", - "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000", - "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6", - "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62", - "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", - "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", - "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", - "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c", - "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827", - "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8", - "sha256:ce8fdc2dca699f8dbf055a61d73eaa10482569ad20ee3c36ef9641f69afa8c91", - "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", - "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad", - "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", - "sha256:d874eb056410ca05fed180b6642e680373688efafc7f077b2a2f61811e873a40", - "sha256:db99677b4457c7a5c5a949353e125ba72d62b35f74e26da141530fbb012218a7", - "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4", - "sha256:df0e3bf7993bdbeca5ac25aa859cf40d39019e015c9c91809ba7093967f7a648", - "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", - "sha256:e2862408c99f84aa571ab462d25236ef9cb12a602ea959ba9c9009a54902fc73", - "sha256:e3aa16de190d29a0ea1b48253c57d99a68492c8dd8948638073ab9e74dc9410b", - "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762", - "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e", - "sha256:eb866162ef2f45063acc7a53a88ef6fe8bf121d45c30ea3c9cd87ce7e191a8d4", - "sha256:ec81878ddf0e98817def1e77d4f50dae5ef5b0e4fe796fae3bd674304172416e", - "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546", - "sha256:f0e77e3c0008bc9316e662624535b88d360c3a5d3f81e15cf12c139a75250046", - "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6", - "sha256:f470f68adc395e0183b92a2f4689264d1ea4b40504a24d9882c27375e6662bb9", - "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", - "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf", - "sha256:f8e5c0031b90ca9ce555e2e8fd5c3b02a25f14989cbc310701823832c99eb687", - "sha256:fb287618b9c7aa3bf8d825f02d9201b2f13078a5ed3b293c8f4d953917d84d5e", - "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885", - "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7" + "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0", + "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", + "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", + "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", + "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941", + "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", + "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", + "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", + "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", + "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f", + "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", + "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8", + "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", + "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", + "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", + "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", + "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", + "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", + "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", + "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", + "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5", + "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", + "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", + "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", + "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", + "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", + "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", + "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", + "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", + "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", + "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", + "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", + "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", + "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", + "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", + "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2", + "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", + "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", + "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", + "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", + "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", + "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", + "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", + "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", + "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", + "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", + "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", + "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", + "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", + "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", + "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", + "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", + "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", + "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", + "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", + "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", + "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", + "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", + "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", + "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", + "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f", + "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0", + "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", + "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", + "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", + "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", + "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0", + "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9", + "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", + "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", + "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", + "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", + "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", + "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", + "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", + "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", + "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", + "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", + "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", + "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", + "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", + "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", + "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", + "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", + "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", + "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", + "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", + "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", + "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", + "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8", + "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", + "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", + "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", + "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", + "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", + "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", + "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", + "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", + "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", + "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5", + "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de", + "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", + "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", + "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", + "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", + "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", + "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", + "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f", + "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", + "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", + "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", + "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", + "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", + "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358", + "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", + "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e", + "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", + "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", + "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", + "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", + "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", + "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", + "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", + "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", + "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", + "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", + "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", + "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", + "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", + "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", + "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", + "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", + "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", + "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", + "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", + "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", + "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a", + "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", + "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", + "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", + "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4", + "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", + "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", + "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", + "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", + "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==6.7.0" + "version": "==6.7.1" }, "nbclient": { "hashes": [ - "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", - "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193" + "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", + "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440" ], "index": "pypi", - "markers": "python_full_version >= '3.9.0'", - "version": "==0.10.2" - }, - "nbconvert": { - "hashes": [ - "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", - "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==7.16.6" + "markers": "python_full_version >= '3.10.0'", + "version": "==0.10.4" }, "nbformat": { "hashes": [ @@ -1196,12 +1192,12 @@ }, "packaging": { "hashes": [ - "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==25.0" + "version": "==26.0" }, "pandocfilters": { "hashes": [ @@ -1428,12 +1424,12 @@ }, "py-eureka-client": { "hashes": [ - "sha256:37990637f8720a0ebfe083c26692716d1d9fa90973098ea9d1fb4e2eadda9846", - "sha256:7ff4bda00cbb2ab28f97ea4501d00086c2d850e4cea3c58ccc42cddbf705a12a" + "sha256:ccfcdad3c6458c6ad4a15f2db3561389d018fcdeeb220ef3abfa60008d54c6bc", + "sha256:f6e55bfc898adb50412fb701861ca86be363f84b632ddd31a104b2ca170c0676" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==0.13.2" + "version": "==0.13.3" }, "pyctuator": { "hashes": [ @@ -1649,7 +1645,7 @@ "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], "index": "pypi", - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "pyyaml": { @@ -1977,7 +1973,7 @@ "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], "index": "pypi", - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "sniffio": { @@ -1999,12 +1995,12 @@ }, "soupsieve": { "hashes": [ - "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", - "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" + "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", + "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==2.8" + "version": "==2.8.3" }, "stack-data": { "hashes": [ @@ -2024,80 +2020,85 @@ }, "tinycss2": { "hashes": [ - "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", - "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289" + "sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661", + "sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.4.0" + "markers": "python_version >= '3.10'", + "version": "==1.5.1" }, "tomli": { "hashes": [ - "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456", - "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845", - "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", - "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", - "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", - "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", - "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", - "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be", - "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", - "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", - "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", - "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", - "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", - "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", - "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c", - "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", - "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", - "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba", - "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", - "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", - "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", - "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", - "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441", - "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", - "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", - "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", - "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", - "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", - "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", - "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", - "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", - "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", - "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", - "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", - "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", - "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf", - "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", - "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", - "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", - "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", - "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", - "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876" + "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", + "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", + "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", + "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", + "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", + "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", + "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", + "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", + "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", + "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", + "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", + "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", + "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", + "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", + "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", + "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", + "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", + "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", + "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", + "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", + "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", + "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", + "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", + "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", + "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", + "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", + "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", + "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", + "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", + "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", + "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", + "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", + "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", + "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", + "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", + "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", + "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", + "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", + "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", + "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", + "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", + "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", + "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", + "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", + "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", + "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", + "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==2.3.0" + "version": "==2.4.0" }, "tornado": { "hashes": [ - "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", - "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", - "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", - "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", - "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", - "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", - "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", - "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", - "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", - "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", - "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", - "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108" + "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1", + "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1", + "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", + "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", + "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", + "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", + "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", + "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", + "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", + "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", + "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", + "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==6.5.2" + "version": "==6.5.4" }, "traitlets": { "hashes": [ @@ -2145,30 +2146,30 @@ }, "urllib3": { "hashes": [ - "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f", - "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1" + "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", + "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==2.6.0" + "version": "==2.6.3" }, "uvicorn": { "hashes": [ - "sha256:48c0afd214ceb59340075b4a052ea1ee91c16fbc2a9b1469cca0e54566977b02", - "sha256:fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d" + "sha256:839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea", + "sha256:c6c8f55bc8bf13eb6fa9ff87ad62308bbbc33d0b67f84293151efe87e0d5f2ee" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==0.38.0" + "markers": "python_version >= '3.10'", + "version": "==0.40.0" }, "wcwidth": { "hashes": [ - "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", - "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1" + "sha256:46478e02cf7149ba150fb93c39880623ee7e5181c64eda167b6a1de51b7a7ba1", + "sha256:8af2c81174b3aa17adf05058c543c267e4e5b6767a28e31a673a658c1d766783" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==0.2.14" + "markers": "python_version >= '3.8'", + "version": "==0.4.0" }, "webencodings": { "hashes": [ @@ -2180,12 +2181,12 @@ }, "werkzeug": { "hashes": [ - "sha256:2ad50fb9ed09cc3af22c54698351027ace879a0b60a3b5edf5730b2f7d876905", - "sha256:cd3cd98b1b92dc3b7b3995038826c68097dcb16f9baa63abe35f20eafeb9fe5e" + "sha256:5111e36e91086ece91f93268bb39b4a35c1e6f1feac762c9c822ded0a4e322dc", + "sha256:6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==3.1.4" + "version": "==3.1.5" }, "yarg": { "hashes": [ @@ -2343,40 +2344,40 @@ }, "zope.interface": { "hashes": [ - "sha256:127b0e4c873752b777721543cf8525b3db5e76b88bd33bab807f03c568e9003f", - "sha256:169214da1b82b7695d1a36f92d70b11166d66b6b09d03df35d150cc62ac52276", - "sha256:3d1f053d2d5e2b393e619bce1e55954885c2e63969159aa521839e719442db49", - "sha256:3fb25fca0442c7fb93c4ee40b42e3e033fef2f648730c4b7ae6d43222a3e8946", - "sha256:49aad83525eca3b4747ef51117d302e891f0042b06f32aa1c7023c62642f962b", - "sha256:50e5eb3b504a7d63dc25211b9298071d5b10a3eb754d6bf2f8ef06cb49f807ab", - "sha256:51b10e6e8e238d719636a401f44f1e366146912407b58453936b781a19be19ec", - "sha256:531fba91dcb97538f70cf4642a19d6574269460274e3f6004bba6fe684449c51", - "sha256:54627ddf6034aab1f506ba750dd093f67d353be6249467d720e9f278a578efe5", - "sha256:557c0f1363c300db406e9eeaae8ab6d1ba429d4fed60d8ab7dadab5ca66ccd35", - "sha256:5c6b12b656c7d7e3d79cad8e2afc4a37eae6b6076e2c209a33345143148e435e", - "sha256:63db1241804417aff95ac229c13376c8c12752b83cc06964d62581b493e6551b", - "sha256:64a1ad7f4cb17d948c6bdc525a1d60c0e567b2526feb4fa38b38f249961306b8", - "sha256:71cf329a21f98cb2bd9077340a589e316ac8a415cac900575a32544b3dffcb98", - "sha256:807778883d07177713136479de7fd566f9056a13aef63b686f0ab4807c6be259", - "sha256:80edee6116d569883c58ff8efcecac3b737733d646802036dc337aa839a5f06b", - "sha256:84f9be6d959640de9da5d14ac1f6a89148b16da766e88db37ed17e936160b0b1", - "sha256:9639bf4ed07b5277fb231e54109117c30d608254685e48a7104a34618bcbfc83", - "sha256:a16715808408db7252b8c1597ed9008bdad7bf378ed48eb9b0595fad4170e49d", - "sha256:a4cb0ea75a26b606f5bc8524fbce7b7d8628161b6da002c80e6417ce5ec757c0", - "sha256:bac588d0742b4e35efb7c7df1dacc0397b51ed37a17d4169a38019a1cebacf0a", - "sha256:c267b00b5a49a12743f5e1d3b4beef45479d696dab090f11fe3faded078a5133", - "sha256:ce6b58752acc3352c4aa0b55bbeae2a941d61537e6afdad2467a624219025aae", - "sha256:da311e9d253991ca327601f47c4644d72359bac6950fbb22f971b24cd7850f8c", - "sha256:e0892c9d2dd47b45f62d1861bcae8b427fcc49b4a04fff67f12c5c55e56654d7", - "sha256:e25d3e2b9299e7ec54b626573673bdf0d740cf628c22aef0a3afef85b438aa54", - "sha256:e8a0fdd5048c1bb733e4693eae9bc4145a19419ea6a1c95299318a93fe9f3d72", - "sha256:eee6f93b2512ec9466cf30c37548fd3ed7bc4436ab29cd5943d7a0b561f14f0f", - "sha256:efef80ddec4d7d99618ef71bc93b88859248075ca2e1ae1c78636654d3d55533", - "sha256:fc65f5633d5a9583ee8d88d1f5de6b46cd42c62e47757cfe86be36fb7c8c4c9b", - "sha256:ff8a92dc8c8a2c605074e464984e25b9b5a8ac9b2a0238dd73a0f374df59a77e" + "sha256:0009d2d3c02ea783045d7804da4fd016245e5c5de31a86cebba66dd6914d59a2", + "sha256:05a0e42d6d830f547e114de2e7cd15750dc6c0c78f8138e6c5035e51ddfff37c", + "sha256:0723507127f8269b8f3f22663168f717e9c9742107d1b6c9f419df561b71aa6d", + "sha256:16c69da19a06566664ddd4785f37cad5693a51d48df1515d264c20d005d322e2", + "sha256:2499de92e8275d0dd68f84425b3e19e9268cd1fa8507997900fa4175f157733c", + "sha256:2bf9cf275468bafa3c72688aad8cfcbe3d28ee792baf0b228a1b2d93bd1d541a", + "sha256:34f877d1d3bb7565c494ed93828fa6417641ca26faf6e8f044e0d0d500807028", + "sha256:3bf73a910bb27344def2d301a03329c559a79b308e1e584686b74171d736be4e", + "sha256:46c7e4e8cbc698398a67e56ca985d19cb92365b4aafbeb6a712e8c101090f4cb", + "sha256:532367553e4420c80c0fc0cabcc2c74080d495573706f66723edee6eae53361d", + "sha256:561ce42390bee90bae51cf1c012902a8033b2aaefbd0deed81e877562a116d48", + "sha256:6068322004a0158c80dfd4708dfb103a899635408c67c3b10e9acec4dbacefec", + "sha256:624b6787fc7c3e45fa401984f6add2c736b70a7506518c3b537ffaacc4b29d4c", + "sha256:6f4b4dfcfdfaa9177a600bb31cebf711fdb8c8e9ed84f14c61c420c6aa398489", + "sha256:788c293f3165964ec6527b2d861072c68eef53425213f36d3893ebee89a89623", + "sha256:845d14e580220ae4544bd4d7eb800f0b6034fe5585fc2536806e0a26c2ee6640", + "sha256:8f094bfb49179ec5dc9981cb769af1275702bd64720ef94874d9e34da1390d4c", + "sha256:9a4e785097e741a1c953b3970ce28f2823bd63c00adc5d276f2981dd66c96c15", + "sha256:9b05a919fdb0ed6ea942e5a7800e09a8b6cdae6f98fee1bef1c9d1a3fc43aaa0", + "sha256:a1ef4b43659e1348f35f38e7d1a6bbc1682efde239761f335ffc7e31e798b65b", + "sha256:a87fc7517f825a97ff4a4ca4c8a950593c59e0f8e7bfe1b6f898a38d5ba9f9cf", + "sha256:aae807efc7bd26302eb2fea05cd6de7d59269ed6ae23a6de1ee47add6de99b8c", + "sha256:afb20c371a601d261b4f6edb53c3c418c249db1a9717b0baafc9a9bb39ba1224", + "sha256:bc9ded9e97a0ed17731d479596ed1071e53b18e6fdb2fc33af1e43f5fd2d3aaa", + "sha256:c31acfa3d7cde48bec45701b0e1f4698daffc378f559bfb296837d8c834732f6", + "sha256:c65ade7ea85516e428651048489f5e689e695c79188761de8c622594d1e13322", + "sha256:ccc62b5712dd7bd64cfba3ee63089fb11e840f5914b990033beeae3b2180b6cb", + "sha256:ccf52f7d44d669203c2096c1a0c2c15d52e36b2e7a9413df50f48392c7d4d080", + "sha256:d2bb8e7364e18f083bf6744ccf30433b2a5f236c39c95df8514e3c13007098ce", + "sha256:dfc4f44e8de2ff4eba20af4f0a3ca42d3c43ab24a08e49ccd8558b7a4185b466", + "sha256:f777e68c76208503609c83ca021a6864902b646530a1a39abb9ed310d1100664" ], "markers": "python_version >= '3.10'", - "version": "==8.1.1" + "version": "==8.2" }, "zowe-apiml-onboarding-enabler-python": { "editable": true, diff --git a/onboarding-enabler-python/Pipfile b/onboarding-enabler-python/Pipfile index 4293b81f37..697d9c0bf2 100644 --- a/onboarding-enabler-python/Pipfile +++ b/onboarding-enabler-python/Pipfile @@ -20,7 +20,7 @@ pluggy = ">=1.6.0" propcache = ">=0.3.1" py-eureka-client = ">=0.11.13" pyproject-hooks = ">=1.2.0" -pytest = ">=8.3.5" +pytest = ">=9.0.2" pytest-asyncio = ">=0.26.0" pytest-mock = ">=3.14.0" pyyaml = ">=6.0.2" diff --git a/onboarding-enabler-python/Pipfile.lock b/onboarding-enabler-python/Pipfile.lock index aef03b97b3..79f190b277 100644 --- a/onboarding-enabler-python/Pipfile.lock +++ b/onboarding-enabler-python/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "5d3ae31e38e8c6e9356bf84ac343bc5b6953558762674abafd3daee983e59ba9" + "sha256": "5d48e0cc85133cd7de14f03ce5405dee68a81330b015d71286d8ccfdb3dec40d" }, "pipfile-spec": 6, "requires": { @@ -27,96 +27,130 @@ }, "aiohttp": { "hashes": [ - "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", - "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", - "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", - "sha256:0a146708808c9b7a988a4af3821379e379e0f0e5e466ca31a73dbdd0325b0263", - "sha256:0a23918fedc05806966a2438489dcffccbdf83e921a1170773b6178d04ade142", - "sha256:0c643f4d75adea39e92c0f01b3fb83d57abdec8c9279b3078b68a3a52b3933b6", - "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", - "sha256:14954a2988feae3987f1eb49c706bff39947605f4b6fa4027c1d75743723eb09", - "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", - "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", - "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", - "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", - "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", - "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", - "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", - "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", - "sha256:3bdd6e17e16e1dbd3db74d7f989e8af29c4d2e025f9828e6ef45fbdee158ec75", - "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", - "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", - "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", - "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", - "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", - "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", - "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", - "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", - "sha256:46749be6e89cd78d6068cdf7da51dbcfa4321147ab8e4116ee6678d9a056a0cf", - "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", - "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", - "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", - "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", - "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", - "sha256:536ad7234747a37e50e7b6794ea868833d5220b49c92806ae2d7e8a9d6b5de02", - "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", - "sha256:57d16590a351dfc914670bd72530fd78344b885a00b250e992faea565b7fdc05", - "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", - "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", - "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", - "sha256:691d203c2bdf4f4637792efbbcdcd157ae11e55eaeb5e9c360c1206fb03d4d98", - "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", - "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", - "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", - "sha256:74bdd8c864b36c3673741023343565d95bfbd778ffe1eb4d412c135a28a8dc89", - "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", - "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", - "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", - "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", - "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", - "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", - "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", - "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", - "sha256:86ceded4e78a992f835209e236617bffae649371c4a50d5e5a3987f237db84b8", - "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", - "sha256:8e995e1abc4ed2a454c731385bf4082be06f875822adc4c6d9eaadf96e20d406", - "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", - "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", - "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", - "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", - "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", - "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", - "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", - "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", - "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", - "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", - "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", - "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", - "sha256:b7011a70b56facde58d6d26da4fec3280cc8e2a78c714c96b7a01a87930a9530", - "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", - "sha256:b784d6ed757f27574dca1c336f968f4e81130b27595e458e69457e6878251f5d", - "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", - "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", - "sha256:bc9a0f6569ff990e0bbd75506c8d8fe7214c8f6579cca32f0546e54372a3bb54", - "sha256:bd44d5936ab3193c617bfd6c9a7d8d1085a8dc8c3f44d5f1dcf554d17d04cf7d", - "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", - "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", - "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", - "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", - "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", - "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", - "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", - "sha256:f0adb4177fa748072546fb650d9bd7398caaf0e15b370ed3317280b13f4083b0", - "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", - "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", - "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", - "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", - "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", - "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d" + "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", + "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c", + "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c", + "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", + "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f", + "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40", + "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2", + "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", + "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821", + "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64", + "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7", + "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", + "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", + "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea", + "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", + "sha256:2ba0eea45eb5cc3172dbfc497c066f19c41bac70963ea1a67d51fc92e4cf9a80", + "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4", + "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767", + "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43", + "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592", + "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a", + "sha256:31a83ea4aead760dfcb6962efb1d861db48c34379f2ff72db9ddddd4cda9ea2e", + "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687", + "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8", + "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", + "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd", + "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a", + "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", + "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587", + "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", + "sha256:40c5e40ecc29ba010656c18052b877a1c28f84344825efa106705e835c28530f", + "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", + "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344", + "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6", + "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", + "sha256:4ae5b5a0e1926e504c81c5b84353e7a5516d8778fbbff00429fe7b05bb25cbce", + "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808", + "sha256:56339a36b9f1fc708260c76c87e593e2afb30d26de9ae1eb445b5e051b98a7a1", + "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29", + "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3", + "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b", + "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51", + "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", + "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926", + "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64", + "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f", + "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b", + "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", + "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440", + "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", + "sha256:69c56fbc1993fa17043e24a546959c0178fe2b5782405ad4559e6c13975c15e3", + "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", + "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415", + "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279", + "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", + "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603", + "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", + "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c", + "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", + "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", + "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540", + "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e", + "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26", + "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a", + "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845", + "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", + "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", + "sha256:8a60e60746623925eab7d25823329941aee7242d559baa119ca2b253c88a7bd6", + "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba", + "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df", + "sha256:947c26539750deeaee933b000fb6517cc770bbd064bad6033f1cff4803881e43", + "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", + "sha256:988a8c5e317544fdf0d39871559e67b6341065b87fceac641108c2096d5506b7", + "sha256:9a9dc347e5a3dc7dfdbc1f82da0ef29e388ddb2ed281bfce9dd8248a313e62b7", + "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", + "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29", + "sha256:9b174f267b5cfb9a7dba9ee6859cecd234e9a681841eb85068059bc867fb8f02", + "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984", + "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1", + "sha256:9ebf57d09e131f5323464bd347135a88622d1c0976e88ce15b670e7ad57e4bd6", + "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632", + "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56", + "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239", + "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", + "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", + "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc", + "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11", + "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", + "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0", + "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", + "sha256:b46020d11d23fe16551466c77823df9cc2f2c1e63cc965daf67fa5eec6ca1877", + "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1", + "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", + "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25", + "sha256:b99281b0704c103d4e11e72a76f1b543d4946fea7dd10767e7e1b5f00d4e5704", + "sha256:bae5c2ed2eae26cc382020edad80d01f36cb8e746da40b292e68fec40421dc6a", + "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", + "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1", + "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29", + "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", + "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160", + "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d", + "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", + "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f", + "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538", + "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", + "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7", + "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72", + "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af", + "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455", + "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", + "sha256:e50a2e1404f063427c9d027378472316201a2290959a295169bcf25992d04558", + "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c", + "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808", + "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7", + "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", + "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3", + "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", + "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa", + "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==3.12.15" + "version": "==3.13.3" }, "aiosignal": { "hashes": [ @@ -127,152 +161,218 @@ "markers": "python_version >= '3.9'", "version": "==1.4.0" }, + "anyio": { + "hashes": [ + "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", + "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c" + ], + "markers": "python_version >= '3.9'", + "version": "==4.12.1" + }, "attrs": { "hashes": [ - "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", - "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", + "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==25.3.0" + "markers": "python_version >= '3.9'", + "version": "==25.4.0" }, "build": { "hashes": [ - "sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397", - "sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4" + "sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596", + "sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==1.3.0" + "version": "==1.4.0" + }, + "certifi": { + "hashes": [ + "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", + "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120" + ], + "markers": "python_version >= '3.7'", + "version": "==2026.1.4" }, "dnspython": { "hashes": [ - "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", - "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1" + "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", + "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==2.7.0" + "markers": "python_version >= '3.10'", + "version": "==2.8.0" }, "frozenlist": { "hashes": [ - "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", - "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", - "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", - "sha256:1073557c941395fdfcfac13eb2456cb8aad89f9de27bae29fabca8e563b12615", - "sha256:1137b78384eebaf70560a36b7b229f752fb64d463d38d1304939984d5cb887b6", - "sha256:15900082e886edb37480335d9d518cec978afc69ccbc30bd18610b7c1b22a718", - "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", - "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", - "sha256:1e63344c4e929b1a01e29bc184bbb5fd82954869033765bfe8d65d09e336a677", - "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", - "sha256:1ed8d2fa095aae4bdc7fdd80351009a48d286635edffee66bf865e37a9125c50", - "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", - "sha256:21884e23cffabb157a9dd7e353779077bf5b8f9a58e9b262c6caad2ef5f80a56", - "sha256:24c34bea555fe42d9f928ba0a740c553088500377448febecaa82cc3e88aa1fa", - "sha256:284d233a8953d7b24f9159b8a3496fc1ddc00f4db99c324bd5fb5f22d8698ea7", - "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", - "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", - "sha256:2ea2a7369eb76de2217a842f22087913cdf75f63cf1307b9024ab82dfb525938", - "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", - "sha256:34a69a85e34ff37791e94542065c8416c1afbf820b68f720452f636d5fb990cd", - "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", - "sha256:3789ebc19cb811163e70fe2bd354cea097254ce6e707ae42e56f45e31e96cb8e", - "sha256:387cbfdcde2f2353f19c2f66bbb52406d06ed77519ac7ee21be0232147c2592d", - "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", - "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", - "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", - "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", - "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", - "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", - "sha256:400ddd24ab4e55014bba442d917203c73b2846391dd42ca5e38ff52bb18c3c5e", - "sha256:41be2964bd4b15bf575e5daee5a5ce7ed3115320fb3c2b71fca05582ffa4dc9e", - "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", - "sha256:43a82fce6769c70f2f5a06248b614a7d268080a9d20f7457ef10ecee5af82b63", - "sha256:45a6f2fdbd10e074e8814eb98b05292f27bad7d1883afbe009d96abdcf3bc898", - "sha256:46d84d49e00c9429238a7ce02dc0be8f6d7cd0cd405abd1bebdc991bf27c15bd", - "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", - "sha256:4a646531fa8d82c87fe4bb2e596f23173caec9185bfbca5d583b4ccfb95183e2", - "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", - "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", - "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", - "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", - "sha256:61d1a5baeaac6c0798ff6edfaeaa00e0e412d49946c53fae8d4b8e8b3566c4ae", - "sha256:69cac419ac6a6baad202c85aaf467b65ac860ac2e7f2ac1686dc40dbb52f6577", - "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", - "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", - "sha256:6eb93efb8101ef39d32d50bce242c84bcbddb4f7e9febfa7b524532a239b4464", - "sha256:716a9973a2cc963160394f701964fe25012600f3d311f60c790400b00e568b61", - "sha256:72c1b0fe8fe451b34f12dce46445ddf14bd2a5bcad7e324987194dc8e3a74c86", - "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", - "sha256:74739ba8e4e38221d2c5c03d90a7e542cb8ad681915f4ca8f68d04f810ee0a87", - "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", - "sha256:79b2ffbba483f4ed36a0f236ccb85fbb16e670c9238313709638167670ba235f", - "sha256:7d536ee086b23fecc36c2073c371572374ff50ef4db515e4e503925361c24f71", - "sha256:7edf5c043c062462f09b6820de9854bf28cc6cc5b6714b383149745e287181a8", - "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", - "sha256:836b42f472a0e006e02499cef9352ce8097f33df43baaba3e0a28a964c26c7d2", - "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", - "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", - "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", - "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", - "sha256:960d67d0611f4c87da7e2ae2eacf7ea81a5be967861e0c63cf205215afbfac59", - "sha256:974c5336e61d6e7eb1ea5b929cb645e882aadab0095c5a6974a111e6479f8878", - "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", - "sha256:9a19e85cc503d958abe5218953df722748d87172f71b73cf3c9257a91b999890", - "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", - "sha256:9b35db7ce1cd71d36ba24f80f0c9e7cff73a28d7a74e91fe83e23d27c7828750", - "sha256:9ccec739a99e4ccf664ea0775149f2749b8a6418eb5b8384b4dc0a7d15d304cb", - "sha256:a0fd1bad056a3600047fb9462cff4c5322cebc59ebf5d0a3725e0ee78955001d", - "sha256:a26f205c9ca5829cbf82bb2a84b5c36f7184c4316617d7ef1b271a56720d6b30", - "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", - "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", - "sha256:aa51e147a66b2d74de1e6e2cf5921890de6b0f4820b257465101d7f37b49fb5a", - "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", - "sha256:ac64b6478722eeb7a3313d494f8342ef3478dff539d17002f849101b212ef97c", - "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", - "sha256:af369aa35ee34f132fcfad5be45fbfcde0e3a5f6a1ec0712857f286b7d20cca9", - "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", - "sha256:b3950f11058310008a87757f3eee16a8e1ca97979833239439586857bc25482e", - "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", - "sha256:bcacfad3185a623fa11ea0e0634aac7b691aa925d50a440f39b458e41c561d98", - "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", - "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", - "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", - "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", - "sha256:c70db4a0ab5ab20878432c40563573229a7ed9241506181bba12f6b7d0dc41cb", - "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", - "sha256:cc4df77d638aa2ed703b878dd093725b72a824c3c546c076e8fdf276f78ee84a", - "sha256:ce48b2fece5aeb45265bb7a58259f45027db0abff478e3077e12b05b17fb9da7", - "sha256:cea3dbd15aea1341ea2de490574a4a37ca080b2ae24e4b4f4b51b9057b4c3630", - "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", - "sha256:d50ac7627b3a1bd2dcef6f9da89a772694ec04d9a61b66cf87f7d9446b4a0c31", - "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", - "sha256:dfcebf56f703cb2e346315431699f00db126d158455e513bd14089d992101e44", - "sha256:e22b9a99741294b2571667c07d9f8cceec07cb92aae5ccda39ea1b6052ed4319", - "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", - "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", - "sha256:e793a9f01b3e8b5c0bc646fb59140ce0efcc580d22a3468d70766091beb81b35", - "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", - "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", - "sha256:f22dac33bb3ee8fe3e013aa7b91dc12f60d61d05b7fe32191ffa84c3aafe77bd", - "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", - "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", - "sha256:f89f65d85774f1797239693cef07ad4c97fdd0639544bad9ac4b869782eb1981", - "sha256:fe2365ae915a1fafd982c146754e1de6ab3478def8a59c86e1f7242d794f97d5" + "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", + "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", + "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", + "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", + "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", + "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", + "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", + "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", + "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", + "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", + "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", + "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", + "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", + "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", + "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", + "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", + "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3", + "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", + "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087", + "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068", + "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", + "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", + "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", + "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", + "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", + "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", + "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", + "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", + "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", + "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", + "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", + "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", + "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675", + "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", + "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", + "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", + "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", + "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", + "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", + "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", + "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", + "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", + "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", + "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", + "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", + "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", + "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5", + "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", + "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", + "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", + "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", + "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", + "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", + "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", + "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", + "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95", + "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1", + "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", + "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", + "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", + "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", + "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459", + "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a", + "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", + "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", + "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", + "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", + "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", + "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6", + "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", + "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", + "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", + "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", + "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", + "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", + "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", + "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", + "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", + "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178", + "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", + "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", + "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", + "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", + "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", + "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61", + "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca", + "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", + "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", + "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", + "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", + "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", + "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", + "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", + "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103", + "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", + "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda", + "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", + "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", + "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", + "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", + "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", + "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", + "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", + "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", + "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", + "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", + "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", + "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", + "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", + "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", + "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", + "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47", + "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", + "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", + "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", + "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", + "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", + "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", + "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", + "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", + "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", + "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", + "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", + "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", + "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", + "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", + "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", + "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", + "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", + "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==1.7.0" + "version": "==1.8.0" + }, + "h11": { + "hashes": [ + "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", + "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86" + ], + "markers": "python_version >= '3.8'", + "version": "==0.16.0" + }, + "httpcore": { + "hashes": [ + "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", + "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8" + ], + "markers": "python_version >= '3.8'", + "version": "==1.0.9" + }, + "httpx": { + "hashes": [ + "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", + "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad" + ], + "markers": "python_version >= '3.8'", + "version": "==0.28.1" }, "idna": { "hashes": [ - "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", - "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" + "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", + "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==3.10" + "markers": "python_version >= '3.8'", + "version": "==3.11" }, "ifaddr": { "hashes": [ @@ -284,138 +384,174 @@ }, "iniconfig": { "hashes": [ - "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", - "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760" + "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", + "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==2.1.0" + "markers": "python_version >= '3.10'", + "version": "==2.3.0" }, "multidict": { "hashes": [ - "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", - "sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729", - "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", - "sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e", - "sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138", - "sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495", - "sha256:0b2e886624be5773e69cf32bcb8534aecdeb38943520b240fed3d5596a430f2f", - "sha256:0c5cbac6b55ad69cb6aa17ee9343dfbba903118fd530348c330211dc7aa756d1", - "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", - "sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6", - "sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8", - "sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded", - "sha256:10a68a9191f284fe9d501fef4efe93226e74df92ce7a24e301371293bd4918ae", - "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69", - "sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364", - "sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f", - "sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f", - "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", - "sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3", - "sha256:21f216669109e02ef3e2415ede07f4f8987f00de8cdfa0cc0b3440d42534f9f0", - "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", - "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", - "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", - "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", - "sha256:350f6b0fe1ced61e778037fdc7613f4051c8baf64b1ee19371b42a3acdb016a0", - "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", - "sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b", - "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", - "sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf", - "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", - "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf", - "sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f", - "sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24", - "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", - "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", - "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", - "sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b", - "sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0", - "sha256:4d09384e75788861e046330308e7af54dd306aaf20eb760eb1d0de26b2bea2cb", - "sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d", - "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", - "sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c", - "sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a", - "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", - "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", - "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", - "sha256:630f70c32b8066ddfd920350bc236225814ad94dfa493fe1910ee17fe4365cbb", - "sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e", - "sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287", - "sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb", - "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", - "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4", - "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad", - "sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f", - "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", - "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", - "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", - "sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793", - "sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e", - "sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db", - "sha256:8e42332cf8276bb7645d310cdecca93a16920256a5b01bebf747365f86a1675b", - "sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c", - "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", - "sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987", - "sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796", - "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", - "sha256:a59c63061f1a07b861c004e53869eb1211ffd1a4acbca330e3322efa6dd02978", - "sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802", - "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", - "sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6", - "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", - "sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace", - "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", - "sha256:af7618b591bae552b40dbb6f93f5518328a949dac626ee75927bba1ecdeea9f4", - "sha256:b6819f83aef06f560cb15482d619d0e623ce9bf155115150a85ab11b8342a665", - "sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f", - "sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402", - "sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9", - "sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb", - "sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7", - "sha256:be5bf4b3224948032a845d12ab0f69f208293742df96dc14c4ff9b09e508fc17", - "sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb", - "sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c", - "sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877", - "sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683", - "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", - "sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0", - "sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3", - "sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8", - "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", - "sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e", - "sha256:d9890d68c45d1aeac5178ded1d1cccf3bc8d7accf1f976f79bf63099fb16e4bd", - "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", - "sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7", - "sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7", - "sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52", - "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", - "sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50", - "sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb", - "sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2", - "sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6", - "sha256:edfdcae97cdc5d1a89477c436b61f472c4d40971774ac4729c613b4b133163cb", - "sha256:ee25f82f53262f9ac93bd7e58e47ea1bdcc3393cef815847e397cba17e284210", - "sha256:f3be27440f7644ab9a13a6fc86f09cdd90b347c3c5e30c6d6d860de822d7cb53", - "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", - "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605", - "sha256:f8d4916a81697faec6cb724a273bd5457e4c6c43d82b29f9dc02c5542fd21fc9", - "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e", - "sha256:f9867e55590e0855bcec60d4f9a092b69476db64573c9fe17e92b0c50614c16a", - "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773" + "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0", + "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", + "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", + "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", + "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941", + "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", + "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", + "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", + "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", + "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f", + "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", + "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8", + "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", + "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", + "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", + "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", + "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", + "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", + "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", + "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", + "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5", + "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", + "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", + "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", + "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", + "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", + "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", + "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", + "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", + "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", + "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", + "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", + "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", + "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", + "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", + "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2", + "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", + "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", + "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", + "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", + "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", + "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", + "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", + "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", + "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", + "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", + "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", + "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", + "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", + "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", + "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", + "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", + "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", + "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", + "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", + "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", + "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", + "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", + "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", + "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", + "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f", + "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0", + "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", + "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", + "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", + "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", + "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0", + "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9", + "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", + "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", + "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", + "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", + "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", + "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", + "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", + "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", + "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", + "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", + "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", + "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", + "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", + "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", + "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", + "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", + "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", + "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", + "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", + "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", + "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", + "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8", + "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", + "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", + "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", + "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", + "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", + "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", + "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", + "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", + "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", + "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5", + "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de", + "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", + "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", + "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", + "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", + "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", + "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", + "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f", + "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", + "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", + "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", + "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", + "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", + "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358", + "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", + "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e", + "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", + "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", + "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", + "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", + "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", + "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", + "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", + "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", + "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", + "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", + "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", + "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", + "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", + "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", + "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", + "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", + "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", + "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", + "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", + "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", + "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a", + "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", + "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", + "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", + "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4", + "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", + "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", + "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", + "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", + "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==6.6.4" + "version": "==6.7.1" }, "packaging": { "hashes": [ - "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" + "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==25.0" + "version": "==26.0" }, "pluggy": { "hashes": [ @@ -428,117 +564,141 @@ }, "propcache": { "hashes": [ - "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", - "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", - "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", - "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", - "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", - "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", - "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", - "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", - "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", - "sha256:1f43837d4ca000243fd7fd6301947d7cb93360d03cd08369969450cc6b2ce3b4", - "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", - "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", - "sha256:21d8759141a9e00a681d35a1f160892a36fb6caa715ba0b832f7747da48fb6ea", - "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", - "sha256:261df2e9474a5949c46e962065d88eb9b96ce0f2bd30e9d3136bcde84befd8f2", - "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", - "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", - "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", - "sha256:2ca6d378f09adb13837614ad2754fa8afaee330254f404299611bce41a8438cb", - "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", - "sha256:31248e44b81d59d6addbb182c4720f90b44e1efdc19f58112a3c3a1615fb47ef", - "sha256:34a624af06c048946709f4278b4176470073deda88d91342665d95f7c6270fbe", - "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", - "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", - "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", - "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", - "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", - "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", - "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", - "sha256:4ba3fef1c30f306b1c274ce0b8baaa2c3cdd91f645c48f06394068f37d3837a1", - "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", - "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", - "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", - "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", - "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", - "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", - "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", - "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", - "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", - "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", - "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", - "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", - "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", - "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", - "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", - "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", - "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", - "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", - "sha256:76cace5d6b2a54e55b137669b30f31aa15977eeed390c7cbfb1dafa8dfe9a701", - "sha256:7a2368eed65fc69a7a7a40b27f22e85e7627b74216f0846b04ba5c116e191ec9", - "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", - "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", - "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", - "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", - "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", - "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", - "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", - "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", - "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", - "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", - "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", - "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", - "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", - "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", - "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", - "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", - "sha256:a7fad897f14d92086d6b03fdd2eb844777b0c4d7ec5e3bac0fbae2ab0602bbe5", - "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", - "sha256:abb7fa19dbf88d3857363e0493b999b8011eea856b846305d8c0512dfdf8fbb1", - "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", - "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", - "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", - "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", - "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", - "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", - "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", - "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", - "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", - "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", - "sha256:cc2782eb0f7a16462285b6f8394bbbd0e1ee5f928034e941ffc444012224171b", - "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", - "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", - "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", - "sha256:d4a996adb6904f85894570301939afeee65f072b4fd265ed7e569e8d9058e4ec", - "sha256:d81ac3ae39d38588ad0549e321e6f773a4e7cc68e7751524a22885d5bbadf886", - "sha256:db429c19a6c7e8a1c320e6a13c99799450f411b02251fb1b75e6217cf4a14fcb", - "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", - "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", - "sha256:e514326b79e51f0a177daab1052bc164d9d9e54133797a3a58d24c9c87a3fe6d", - "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", - "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", - "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", - "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", - "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", - "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", - "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", - "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", - "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206" + "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e", + "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", + "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", + "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", + "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", + "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", + "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", + "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", + "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", + "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888", + "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", + "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", + "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", + "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", + "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", + "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", + "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", + "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", + "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", + "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb", + "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", + "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", + "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", + "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff", + "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", + "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", + "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", + "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", + "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", + "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", + "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", + "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc", + "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", + "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", + "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", + "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", + "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", + "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", + "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", + "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", + "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", + "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", + "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", + "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", + "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938", + "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", + "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", + "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", + "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", + "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", + "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", + "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", + "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", + "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0", + "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", + "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", + "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", + "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", + "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", + "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", + "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", + "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", + "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", + "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", + "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f", + "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", + "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", + "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183", + "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", + "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", + "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", + "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", + "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", + "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19", + "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", + "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", + "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", + "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", + "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", + "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", + "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", + "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", + "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", + "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", + "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", + "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", + "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", + "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", + "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", + "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", + "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", + "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac", + "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", + "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", + "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", + "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", + "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", + "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", + "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00", + "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a", + "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", + "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", + "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", + "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", + "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", + "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", + "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", + "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", + "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", + "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", + "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", + "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", + "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", + "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", + "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", + "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", + "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", + "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", + "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", + "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88", + "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", + "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==0.3.2" + "version": "==0.4.1" }, "py-eureka-client": { "hashes": [ - "sha256:277e033975d1d9a452949de1de0b81f4faf82a93b484a167e6cc66046eda9126", - "sha256:41c376d9d1ba55fb325f14cdcbaa007a2c8af8b06fcf03ad2f30155482ac39fd" + "sha256:ccfcdad3c6458c6ad4a15f2db3561389d018fcdeeb220ef3abfa60008d54c6bc", + "sha256:f6e55bfc898adb50412fb701861ca86be363f84b632ddd31a104b2ca170c0676" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==0.11.13" + "version": "==0.13.3" }, "pygments": { "hashes": [ @@ -559,201 +719,255 @@ }, "pytest": { "hashes": [ - "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", - "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c" + "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", + "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==8.4.1" + "markers": "python_version >= '3.10'", + "version": "==9.0.2" }, "pytest-asyncio": { "hashes": [ - "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", - "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea" + "sha256:611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5", + "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==1.1.0" + "markers": "python_version >= '3.10'", + "version": "==1.3.0" }, "pytest-mock": { "hashes": [ - "sha256:159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e", - "sha256:178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0" + "sha256:0a25e2eb88fe5168d535041d09a4529a188176ae608a6d249ee65abc0949630d", + "sha256:1849a238f6f396da19762269de72cb1814ab44416fa73a8686deac10b0d87a0f" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==3.14.1" + "markers": "python_version >= '3.9'", + "version": "==3.15.1" }, "pyyaml": { "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" + "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", + "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", + "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", + "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", + "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", + "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", + "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", + "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", + "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", + "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", + "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", + "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6", + "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", + "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", + "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", + "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", + "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", + "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", + "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295", + "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", + "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", + "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", + "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", + "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", + "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", + "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", + "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", + "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b", + "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", + "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", + "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", + "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", + "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369", + "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", + "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", + "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", + "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", + "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", + "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", + "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", + "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", + "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", + "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", + "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", + "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", + "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", + "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", + "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", + "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", + "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4", + "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", + "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", + "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", + "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", + "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", + "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", + "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", + "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", + "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", + "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", + "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", + "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f", + "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", + "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", + "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", + "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", + "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", + "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", + "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3", + "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", + "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", + "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==6.0.2" + "version": "==6.0.3" + }, + "typing-extensions": { + "hashes": [ + "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" + ], + "markers": "python_version < '3.13'", + "version": "==4.15.0" }, "yarl": { "hashes": [ - "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", - "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", - "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", - "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", - "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", - "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", - "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", - "sha256:14a85f3bd2d7bb255be7183e5d7d6e70add151a98edf56a770d6140f5d5f4010", - "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", - "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", - "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", - "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", - "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", - "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", - "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", - "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", - "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", - "sha256:2c89b5c792685dd9cd3fa9761c1b9f46fc240c2a3265483acc1565769996a3f8", - "sha256:30c41ad5d717b3961b2dd785593b67d386b73feca30522048d37298fee981805", - "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", - "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", - "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", - "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", - "sha256:41493b9b7c312ac448b7f0a42a089dffe1d6e6e981a2d76205801a023ed26a2b", - "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", - "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", - "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", - "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", - "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", - "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", - "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", - "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", - "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", - "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", - "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", - "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", - "sha256:57edc88517d7fc62b174fcfb2e939fbc486a68315d648d7e74d07fac42cec240", - "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", - "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", - "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", - "sha256:59febc3969b0781682b469d4aca1a5cab7505a4f7b85acf6db01fa500fa3f6ba", - "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", - "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", - "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", - "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", - "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", - "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", - "sha256:69e9b141de5511021942a6866990aea6d111c9042235de90e08f94cf972ca03d", - "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", - "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", - "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", - "sha256:749d73611db8d26a6281086f859ea7ec08f9c4c56cec864e52028c8b328db723", - "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", - "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", - "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", - "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", - "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", - "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", - "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", - "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", - "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", - "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", - "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", - "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", - "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", - "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", - "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", - "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", - "sha256:9427925776096e664c39e131447aa20ec738bdd77c049c48ea5200db2237e000", - "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", - "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", - "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", - "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", - "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", - "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", - "sha256:b5f307337819cdfdbb40193cad84978a029f847b0a357fbe49f712063cfc4f06", - "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", - "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", - "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", - "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", - "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", - "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", - "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", - "sha256:c7ddf7a09f38667aea38801da8b8d6bfe81df767d9dfc8c88eb45827b195cd1c", - "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", - "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", - "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", - "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", - "sha256:d2b6fb3622b7e5bf7a6e5b679a69326b4279e805ed1699d749739a61d242449e", - "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", - "sha256:dab096ce479d5894d62c26ff4f699ec9072269d514b4edd630a393223f45a0ee", - "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", - "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", - "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", - "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", - "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", - "sha256:e42ba79e2efb6845ebab49c7bf20306c4edf74a0b20fc6b2ccdd1a219d12fad3", - "sha256:eae7bfe2069f9c1c5b05fc7fe5d612e5bbc089a39309904ee8b829e322dcad00", - "sha256:f5a5928ff5eb13408c62a968ac90d43f8322fd56d87008b8f9dabf3c0f6ee983", - "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", - "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", - "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", - "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", - "sha256:ff70f32aa316393eaf8222d518ce9118148eddb8a53073c2403863b41033eed5" + "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", + "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8", + "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", + "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", + "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", + "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890", + "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", + "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", + "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", + "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", + "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed", + "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", + "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", + "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", + "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b", + "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", + "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", + "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", + "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", + "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", + "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", + "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", + "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", + "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba", + "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", + "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", + "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", + "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", + "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748", + "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", + "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", + "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", + "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", + "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", + "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", + "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", + "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", + "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", + "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", + "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", + "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", + "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", + "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", + "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b", + "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", + "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", + "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", + "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", + "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", + "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", + "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", + "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", + "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", + "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba", + "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9", + "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", + "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", + "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", + "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", + "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", + "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", + "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", + "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", + "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", + "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", + "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", + "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", + "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", + "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", + "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", + "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca", + "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", + "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", + "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", + "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", + "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60", + "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", + "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", + "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", + "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", + "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e", + "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", + "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", + "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859", + "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", + "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", + "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", + "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054", + "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", + "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", + "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", + "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", + "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", + "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", + "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", + "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", + "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", + "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", + "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", + "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", + "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", + "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", + "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", + "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", + "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", + "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", + "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", + "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", + "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", + "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2", + "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", + "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", + "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", + "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", + "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", + "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", + "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", + "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", + "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", + "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b", + "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", + "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", + "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", + "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", + "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", + "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", + "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", + "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", + "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", + "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==1.20.1" + "version": "==1.22.0" } }, "develop": {} diff --git a/zss-sample-service/package-lock.json b/zss-sample-service/package-lock.json index d4e5f90867..a5fdffe2d8 100644 --- a/zss-sample-service/package-lock.json +++ b/zss-sample-service/package-lock.json @@ -8,53 +8,51 @@ "name": "zss-sample-service", "version": "0.0.0", "dependencies": { - "express": "4.22.1" + "express": "5.2.1" } }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "2.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -89,20 +87,23 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, + "version": "1.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -117,35 +118,40 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "version": "1.2.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.4.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -163,12 +169,14 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -206,92 +214,80 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "5.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", "dependencies": { - "side-channel": "^1.1.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { - "node": ">=0.6" + "node": ">= 18.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/forwarded": { @@ -303,11 +299,12 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/function-bind": { @@ -393,35 +390,46 @@ } }, "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.7.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -431,6 +439,12 @@ "node": ">= 0.10" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -441,68 +455,62 @@ } }, "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "version": "1.1.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "node": ">=18" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.54.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "version": "2.1.3", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "1.0.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -523,6 +531,7 @@ "version": "2.4.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -530,19 +539,33 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "license": "MIT" + "version": "8.3.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -557,11 +580,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -574,88 +598,98 @@ "version": "1.2.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "3.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "1.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "2.2.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/side-channel": { "version": "1.1.0", @@ -730,9 +764,10 @@ } }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "2.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -741,17 +776,20 @@ "version": "1.0.1", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 0.6" @@ -761,18 +799,11 @@ "version": "1.0.0", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/vary/-/vary-1.1.2.tgz", @@ -780,6 +811,12 @@ "engines": { "node": ">= 0.8" } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://zowe.jfrog.io/artifactory/api/npm/npm-org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" } } } diff --git a/zss-sample-service/package.json b/zss-sample-service/package.json index 280284884a..b318a90cd2 100644 --- a/zss-sample-service/package.json +++ b/zss-sample-service/package.json @@ -6,6 +6,6 @@ "start": "node server.js" }, "dependencies": { - "express": "4.22.1" + "express": "5.2.1" } } From 0e1a0394b67279027857f2131ab5cdb6d5a39ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Jare=C5=A1?= <58428711+pavel-jares-bcm@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:16:29 +0100 Subject: [PATCH 37/71] fix: Fix infinispan configuration, exception handling, and the whole cache operation (v3) (#4450) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pavel Jareš Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .github/workflows/integration-tests.yml | 102 ++++++- .../apiml/acceptance/AvailabilityTest.java | 4 +- caching-service/build.gradle | 1 + .../apiml/caching/api/CachingController.java | 24 +- .../caching/health/CachesHealthIndicator.java | 55 ++++ .../health/CachingHealthIndicator.java | 62 +++++ .../zowe/apiml/caching/service/Messages.java | 3 +- .../infinispan/config/InfinispanConfig.java | 86 ++++-- .../infinispan/storage/InfinispanStorage.java | 43 ++- .../src/main/resources/application.yml | 26 +- .../main/resources/caching-log-messages.yml | 8 + .../caching/api/CachingControllerTest.java | 92 ++++++- .../health/CachesHealthIndicatorTest.java | 108 ++++++++ .../health/CachingHealthIndicatorTest.java | 128 +++++++++ .../storage/InfinispanStorageTest.java | 16 +- .../integration/ha/CachingServiceTests.java | 254 ++++++++++++++++++ .../ha/GatewayMultipleInstancesTest.java | 3 +- .../config/CachingServiceConfiguration.java | 18 +- ...nment-configuration-docker-modulith-ha.yml | 17 +- .../environment-configuration-ha.yml | 3 + keystore/docker/all-services.cer | 58 ++-- keystore/docker/all-services.ext | 52 ++-- keystore/docker/all-services.keystore.cer | 57 ++-- keystore/docker/all-services.keystore.key | 52 ++-- keystore/docker/all-services.keystore.p12 | Bin 5881 -> 5833 bytes keystore/docker/all-services.pem | 110 ++++---- keystore/docker/generate_cert.sh | 46 ++++ .../zaas/cache/CachingServiceClient.java | 18 +- .../token/ApimlAccessTokenProvider.java | 29 +- .../zaas/cache/CachingServiceClientTest.java | 34 ++- .../token/ApimlAccessTokenProviderTest.java | 37 ++- 31 files changed, 1262 insertions(+), 284 deletions(-) create mode 100644 caching-service/src/main/java/org/zowe/apiml/caching/health/CachesHealthIndicator.java create mode 100644 caching-service/src/main/java/org/zowe/apiml/caching/health/CachingHealthIndicator.java create mode 100644 caching-service/src/test/java/org/zowe/apiml/caching/health/CachesHealthIndicatorTest.java create mode 100644 caching-service/src/test/java/org/zowe/apiml/caching/health/CachingHealthIndicatorTest.java create mode 100644 integration-tests/src/test/java/org/zowe/apiml/integration/ha/CachingServiceTests.java create mode 100755 keystore/docker/generate_cert.sh diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 66d9e7c41b..c4fde90f19 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -187,7 +187,7 @@ jobs: if: always() timeout-minutes: 4 run: > - ./gradlew runStartUpCheck --info -Denvironment.config=-docker-modulith-ha -Ddiscoverableclient.instances=1 + ./gradlew runStartUpCheck --info -Denvironment.config=-docker-modulith-ha -Ddiscoverableclient.instances=1 -Denvironment.gwCount=2 -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD -Denvironment.modulith=true env: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} @@ -221,7 +221,7 @@ jobs: strategy: fail-fast: false matrix: - type: ["normal", "gateway-chaotic", "discoverableclient-chaotic", "websocket-chaotic"] + type: ["normal", "gateway-chaotic", "discoverableclient-chaotic", "websocket-chaotic", "caching-chaotic"] services: apiml: image: ghcr.io/balhar-jakub/apiml:${{ github.run_id }}-${{ github.run_number }} @@ -239,6 +239,11 @@ jobs: APIML_SERVICE_HOSTNAME: apiml logbackService: ZWEAGW1 APIML_HEALTH_PROTECTED: false + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "apiml[7600],apiml-2[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: apiml + JGROUPS_KEYEXCHANGE_PORT: 7601 apiml-2: image: ghcr.io/balhar-jakub/apiml:${{ github.run_id }}-${{ github.run_number }} env: @@ -250,11 +255,37 @@ jobs: SPRING_CLOUD_GATEWAY_SERVER_WEBFLUX_HTTPCLIENT_WEBSOCKET_MAXFRAMEPAYLOADLENGTH: 16348 APIML_GATEWAY_SERVICESTOLIMITREQUESTRATE: discoverableclient APIML_GATEWAY_COOKIENAMEFORRATELIMIT: apimlAuthenticationToken - APIML_SERVICE_DISCOVERYSERVICEURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka - APIML_DISCOVERY_ALLPEERSURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka + APIML_SERVICE_DISCOVERYSERVICEURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka,https://apiml-3:10011/eureka + APIML_DISCOVERY_ALLPEERSURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka,https://apiml-3:10011/eureka APIML_SERVICE_HOSTNAME: apiml-2 logbackService: ZWEAGW2 APIML_HEALTH_PROTECTED: false + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "apiml[7600],apiml-2[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: apiml-2 + JGROUPS_KEYEXCHANGE_PORT: 7601 + apiml-3: + image: ghcr.io/balhar-jakub/apiml:${{ github.run_id }}-${{ github.run_number }} + env: + APIML_SECURITY_AUTH_JWT_CUSTOMAUTHHEADER: customJwtHeader + APIML_SECURITY_AUTH_PASSTICKET_CUSTOMUSERHEADER: customUserHeader + APIML_SECURITY_AUTH_PASSTICKET_CUSTOMAUTHHEADER: customPassticketHeader + APIML_SECURITY_X509_ENABLED: true + SERVER_MAX_HTTP_REQUEST_HEADER_SIZE: 16348 + SPRING_CLOUD_GATEWAY_SERVER_WEBFLUX_HTTPCLIENT_WEBSOCKET_MAXFRAMEPAYLOADLENGTH: 16348 + APIML_GATEWAY_SERVICESTOLIMITREQUESTRATE: discoverableclient + APIML_GATEWAY_COOKIENAMEFORRATELIMIT: apimlAuthenticationToken + APIML_SERVICE_DISCOVERYSERVICEURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka,https://apiml-3:10011/eureka + APIML_DISCOVERY_ALLPEERSURLS: https://apiml:10011/eureka,https://apiml-2:10011/eureka,https://apiml-3:10011/eureka + APIML_SERVICE_HOSTNAME: apiml-3 + logbackService: ZWEAGW3 + APIML_HEALTH_PROTECTED: false + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "apiml[7600],apiml-2[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: apiml-3 + JGROUPS_KEYEXCHANGE_PORT: 7601 discoverable-client: image: ghcr.io/balhar-jakub/discoverable-client:${{ github.run_id }}-${{ github.run_number }} env: @@ -286,7 +317,7 @@ jobs: - name: Run Normal HA Tests in Modulith if: ${{ 'normal' == matrix.type }} run: > - ./gradlew runHATests --info -Denvironment.config=-docker-modulith-ha + ./gradlew runHATests --info -Denvironment.config=-docker-modulith-ha -Denvironment.gwCount=3 -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD -Denvironment.modulith=true env: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} @@ -322,6 +353,17 @@ jobs: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + - name: Run Caching Chaotic HA Tests + if: ${{ 'caching-chaotic' == matrix.type }} + run: > + ./gradlew :integration-tests:runChaoticHATests --tests org.zowe.apiml.integration.ha.CachingServiceTests + --info -Denvironment.config=-docker-modulith-ha -Denvironment.offPlatform=true -DcloudGateway.enabled=false + -Denvironment.modulith=true -Denvironment.chaotic=true + -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD + env: + ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} + ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + - name: Correct Permisions run: | chmod 755 -R .gradle @@ -1309,7 +1351,7 @@ jobs: if: always() timeout-minutes: 4 run: > - ./gradlew runStartUpCheck --info -Denvironment.config=-docker-modulith-ha -Ddiscoverableclient.instances=2 + ./gradlew runStartUpCheck --info -Denvironment.config=-docker-modulith-ha -Ddiscoverableclient.instances=2 -Denvironment.gwCount=2 -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD -Denvironment.modulith=true env: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} @@ -1523,7 +1565,7 @@ jobs: strategy: fail-fast: false matrix: - type: ["normal", "discovery-chaotic", "gateway-chaotic", "discoverableclient-chaotic", "websocket-chaotic"] + type: ["normal", "discovery-chaotic", "gateway-chaotic", "discoverableclient-chaotic", "websocket-chaotic", "caching-chaotic"] services: api-catalog-services: image: ghcr.io/balhar-jakub/api-catalog-services:${{ github.run_id }}-${{ github.run_number }} @@ -1538,6 +1580,40 @@ jobs: APIML_HEALTH_PROTECTED: false caching-service: image: ghcr.io/balhar-jakub/caching-service:${{ github.run_id }}-${{ github.run_number }} + env: + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "caching-service[7600],caching-service-2[7600],caching-service-3[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: caching-service + JGROUPS_KEYEXCHANGE_PORT: 7601 + APIML_SERVICE_HOSTNAME: caching-service + APIML_HEALTH_PROTECTED: false + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "*" + MANAGEMENT_ENDPOINT_SHUTDOWN_ACCESS: unrestricted + caching-service-2: + image: ghcr.io/balhar-jakub/caching-service:${{ github.run_id }}-${{ github.run_number }} + env: + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "caching-service[7600],caching-service-2[7600],caching-service-3[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: caching-service-2 + JGROUPS_KEYEXCHANGE_PORT: 7601 + APIML_SERVICE_HOSTNAME: caching-service-2 + APIML_HEALTH_PROTECTED: false + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "*" + MANAGEMENT_ENDPOINT_SHUTDOWN_ACCESS: unrestricted + caching-service-3: + image: ghcr.io/balhar-jakub/caching-service:${{ github.run_id }}-${{ github.run_number }} + env: + CACHING_STORAGE_MODE: infinispan + CACHING_STORAGE_INFINISPAN_INITIALHOSTS: "caching-service[7600],caching-service-2[7600],caching-service-3[7600]" + JGROUPS_BIND_PORT: 7600 + JGROUPS_BIND_ADDRESS: caching-service-3 + JGROUPS_KEYEXCHANGE_PORT: 7601 + APIML_SERVICE_HOSTNAME: caching-service-3 + APIML_HEALTH_PROTECTED: false + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "*" + MANAGEMENT_ENDPOINT_SHUTDOWN_ACCESS: unrestricted discoverable-client: image: ghcr.io/balhar-jakub/discoverable-client:${{ github.run_id }}-${{ github.run_number }} discoverable-client-2: @@ -1597,7 +1673,7 @@ jobs: - name: Run Normal HA Tests if: ${{ 'normal' == matrix.type }} run: > - ./gradlew runHATests --info -Denvironment.config=-ha + ./gradlew runHATests --info -Denvironment.config=-ha -Denvironment.gwCount=2 -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD env: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} @@ -1643,6 +1719,16 @@ jobs: ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + - name: Run Caching Chaotic HA Tests + if: ${{ 'caching-chaotic' == matrix.type }} + run: > + ./gradlew :integration-tests:runChaoticHATests --tests org.zowe.apiml.integration.ha.CachingServiceTests + --info -Denvironment.config=-ha -Denvironment.offPlatform=true -DcloudGateway.enabled=false -Denvironment.chaotic=true + -Partifactory_user=$ARTIFACTORY_USERNAME -Partifactory_password=$ARTIFACTORY_PASSWORD + env: + ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} + ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + - name: Correct Permisions run: | chmod 755 -R .gradle diff --git a/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java b/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java index ef5f53826b..610f8a8e5f 100644 --- a/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java +++ b/apiml/src/test/java/org/zowe/apiml/acceptance/AvailabilityTest.java @@ -40,8 +40,8 @@ public class AvailabilityTest extends AcceptanceTestWithBasePath { }) void serviceIsAvailable(String serviceName, int servicePort, int expectedStatus) { int actualPort = servicePort == 0 ? port : servicePort; - await().atMost(30, TimeUnit.SECONDS) - .pollInterval(500, TimeUnit.MILLISECONDS) + await().atMost(60, TimeUnit.SECONDS) + .pollInterval(1, TimeUnit.SECONDS) .ignoreExceptions() .untilAsserted(() -> given() diff --git a/caching-service/build.gradle b/caching-service/build.gradle index 02c3ad345e..797b493d7e 100644 --- a/caching-service/build.gradle +++ b/caching-service/build.gradle @@ -66,6 +66,7 @@ dependencies { implementation libs.spring.boot.starter.actuator implementation libs.spring.doc.webflux.ui implementation libs.spring.retry + implementation libs.eureka.jersey.client implementation libs.bundles.infinispan diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/api/CachingController.java b/caching-service/src/main/java/org/zowe/apiml/caching/api/CachingController.java index a377538c61..c323fb09c5 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/api/CachingController.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/api/CachingController.java @@ -115,6 +115,14 @@ public Mono> storeMapItem(@PathVariable String mapKey, @R mapKey, keyValue, request, HttpStatus.CREATED)); } + private boolean isStorageIncompatible(Exception exception) { + if (!(exception instanceof StorageException)) { + return false; + } + StorageException storageException = (StorageException) exception; + return Messages.INCOMPATIBLE_STORAGE_METHOD.getKey().equals(storageException.getKey()); + } + @GetMapping(value = "/cache-list/{mapKey}", produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "Retrieves all the items in the cache map", description = "Values returned for the calling service and specific cache map.") @@ -126,7 +134,10 @@ public Mono> getAllMapItems(@PathVariable String mapKey, try { return new ResponseEntity<>(storage.getAllMapItems(s, mapKey), HttpStatus.OK); } catch (Exception exception) { - return handleIncompatibleStorageMethod(exception, request); + if (isStorageIncompatible(exception)) { + return handleIncompatibleStorageMethod(exception, request); + } + return handleInternalError(exception, request); } } ).orElseGet(this::getUnauthorizedResponse)); @@ -143,7 +154,10 @@ public Mono> getAllMaps(ServerHttpRequest request) { try { return new ResponseEntity<>(storage.getAllMaps(s), HttpStatus.OK); } catch (Exception exception) { - return handleIncompatibleStorageMethod(exception, request); + if (isStorageIncompatible(exception)) { + return handleIncompatibleStorageMethod(exception, request); + } + return handleInternalError(exception, request); } } ).orElseGet(this::getUnauthorizedResponse)); @@ -193,6 +207,7 @@ public Mono> update(@RequestBody KeyValue keyValue, Serve private ResponseEntity exceptionToResponse(StorageException exception) { + log.debug("Storage exception", exception); Message message = messageService.createMessage(exception.getKey(), (Object[]) exception.getParameters()); return new ResponseEntity<>(message.mapToView(), exception.getStatus()); } @@ -306,12 +321,14 @@ private Optional getHeader(ServerHttpRequest request, String headerName) } private ResponseEntity handleInternalError(Exception exception, ServerHttpRequest request) { + log.debug("Internal error occurred", exception); Messages internalServerError = Messages.INTERNAL_SERVER_ERROR; Message message = messageService.createMessage(internalServerError.getKey(), request.getURI().toString(), exception.getMessage(), exception.toString()); return new ResponseEntity<>(message.mapToView(), internalServerError.getStatus()); } private ResponseEntity handleIncompatibleStorageMethod(Exception exception, ServerHttpRequest request) { + log.debug("Incompatible storage method", exception); Messages internalServerError = Messages.INCOMPATIBLE_STORAGE_METHOD; Message message = messageService.createMessage(internalServerError.getKey(), request.getURI().toString(), exception.getMessage(), exception.toString()); return new ResponseEntity<>(message.mapToView(), internalServerError.getStatus()); @@ -335,8 +352,7 @@ private void checkForInvalidPayload(KeyValue keyValue) { throw invalidPayloadException(keyValue.toString(), "No value provided in the payload"); } - String key = keyValue.getKey(); - if (key == null) { + if (keyValue.getKey() == null) { throw invalidPayloadException(keyValue.toString(), "No key provided in the payload"); } } diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/health/CachesHealthIndicator.java b/caching-service/src/main/java/org/zowe/apiml/caching/health/CachesHealthIndicator.java new file mode 100644 index 0000000000..652771773f --- /dev/null +++ b/caching-service/src/main/java/org/zowe/apiml/caching/health/CachesHealthIndicator.java @@ -0,0 +1,55 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.caching.health; + +import lombok.RequiredArgsConstructor; +import org.infinispan.spring.embedded.provider.SpringEmbeddedCacheManager; +import org.springframework.boot.actuate.health.AbstractHealthIndicator; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.cache.CacheManager; +import org.springframework.stereotype.Component; + +import java.util.HashMap; + +@Component +@RequiredArgsConstructor +@ConditionalOnProperty(name = "caching.storage.mode", havingValue = "infinispan") +public class CachesHealthIndicator extends AbstractHealthIndicator { + + private final CacheManager cacheManager; + + @Override + protected void doHealthCheck(Health.Builder builder) { + boolean health = true; + if (cacheManager instanceof SpringEmbeddedCacheManager springEmbeddedCacheManager) { + var nativeCacheManager = springEmbeddedCacheManager.getNativeCacheManager(); + var status = nativeCacheManager.getStatus(); + + var infinispan = new HashMap(); + infinispan.put("status", status); + + health &= status.allowInvocations(); + var caches = new HashMap(); + for (String cacheName : cacheManager.getCacheNames()) { + var cacheStatus = nativeCacheManager.getCache(cacheName).getStatus(); + caches.put(cacheName, cacheStatus); + health &= cacheStatus.allowInvocations(); + } + infinispan.put("caches", caches); + builder.withDetail("infinispan", infinispan); + } + + builder.status(health ? Status.UP : Status.DOWN); + } + +} diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/health/CachingHealthIndicator.java b/caching-service/src/main/java/org/zowe/apiml/caching/health/CachingHealthIndicator.java new file mode 100644 index 0000000000..8ee0af1d4f --- /dev/null +++ b/caching-service/src/main/java/org/zowe/apiml/caching/health/CachingHealthIndicator.java @@ -0,0 +1,62 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.caching.health; + +import com.netflix.discovery.shared.Application; +import jakarta.annotation.Nonnull; +import lombok.RequiredArgsConstructor; +import org.springframework.boot.actuate.health.AbstractHealthIndicator; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; +import org.zowe.apiml.eurekaservice.client.ApiMediationClient; +import org.zowe.apiml.product.constants.CoreService; + +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; + +/** + * Caching service health information (/cachingservice/application/health) + */ +@Component +@RequiredArgsConstructor +@ConditionalOnMissingBean(name = "modulithConfig") +public class CachingHealthIndicator extends AbstractHealthIndicator implements ApplicationListener { + + private final AtomicReference serviceUp = new AtomicReference<>(false); + + private final ApiMediationClient apiMediationClient; + private final Optional cachesHealthIndicator; + + @Override + protected void doHealthCheck(Health.Builder builder) { + boolean gatewayUp = Optional.ofNullable(apiMediationClient.getEurekaClient()) + .map(eurekaClient -> eurekaClient.getApplication(CoreService.GATEWAY.getServiceId())) + .map(Application::getInstances) + .map(i -> !i.isEmpty()) + .orElse(false); + builder.withDetail(CoreService.GATEWAY.getServiceId(), gatewayUp ? Status.UP : Status.DOWN); + + cachesHealthIndicator.ifPresent(i -> i.doHealthCheck(builder)); + if ((!(boolean) serviceUp.get()) || !gatewayUp) { + builder.down(); + } + } + + @Override + public void onApplicationEvent(@Nonnull final ApplicationReadyEvent event) { + serviceUp.set(true); + } + +} diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/service/Messages.java b/caching-service/src/main/java/org/zowe/apiml/caching/service/Messages.java index b2446d0c81..38e7d9859c 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/service/Messages.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/service/Messages.java @@ -26,7 +26,8 @@ public enum Messages { PAYLOAD_TOO_LARGE("org.zowe.apiml.cache.payloadTooLarge", HttpStatus.BAD_REQUEST), INTERNAL_SERVER_ERROR("org.zowe.apiml.common.internalRequestError", HttpStatus.INTERNAL_SERVER_ERROR), MISSING_CERTIFICATE("org.zowe.apiml.cache.missingCertificate", HttpStatus.UNAUTHORIZED), - INCOMPATIBLE_STORAGE_METHOD("org.zowe.apiml.cache.incompatibleStorageMethod", HttpStatus.BAD_REQUEST); + INCOMPATIBLE_STORAGE_METHOD("org.zowe.apiml.cache.incompatibleStorageMethod", HttpStatus.BAD_REQUEST), + CACHE_NOT_AVAILABLE("org.zowe.apiml.cache.notAvailable", HttpStatus.SERVICE_UNAVAILABLE); private final String key; private final HttpStatus status; } diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/config/InfinispanConfig.java b/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/config/InfinispanConfig.java index a39b532bcb..ec75a4cfa1 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/config/InfinispanConfig.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/config/InfinispanConfig.java @@ -10,6 +10,8 @@ package org.zowe.apiml.caching.service.infinispan.config; +import jakarta.annotation.PostConstruct; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.infinispan.commons.api.CacheContainerAdmin; import org.infinispan.commons.dataconversion.MediaType; @@ -21,6 +23,7 @@ import org.infinispan.lock.api.ClusteredLock; import org.infinispan.lock.api.ClusteredLockManager; import org.infinispan.manager.DefaultCacheManager; +import org.infinispan.partitionhandling.AvailabilityException; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -29,6 +32,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.zowe.apiml.cache.Storage; +import org.zowe.apiml.cache.StorageException; +import org.zowe.apiml.caching.service.Messages; import org.zowe.apiml.caching.service.infinispan.exception.InfinispanConfigException; import org.zowe.apiml.caching.service.infinispan.storage.InfinispanStorage; @@ -37,20 +42,26 @@ import java.nio.file.Paths; import java.util.Arrays; import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; import static org.zowe.apiml.security.SecurityUtils.formatKeyringUrl; import static org.zowe.apiml.security.SecurityUtils.isKeyring; +@Slf4j @Configuration @ConfigurationProperties(value = "caching.storage.infinispan") @ConditionalOnProperty(name = "caching.storage.mode", havingValue = "infinispan") public class InfinispanConfig implements InitializingBean { - private static final String SERVER_SSL_KEY_STORE_PASSWORD = "server.ssl.keyStorePassword"; - private static final String SERVER_SSL_KEY_STORE = "server.ssl.keyStore"; + private static final String KEYRING_PASSWORD = "password"; private static final String SERVER_SSL_KEY_STORE_TYPE = "server.ssl.keyStoreType"; + private static final String SERVER_SSL_KEY_STORE = "server.ssl.keyStore"; + private static final String SERVER_SSL_KEY_STORE_PASSWORD = "server.ssl.keyStorePassword"; - private static final String KEYRING_PASSWORD = "password"; + private static final String ZWE_HAINSTANCE_ID = "ZWE_haInstance_id"; + private static final String LOCK_ZOWE_INVALIDATED = "zoweInvalidatedTokenLock"; + private static final String CACHE_ZOWE = "zoweCache"; + private static final String CACHE_ZOWE_INVALIDATED_TOKEN = "zoweInvalidatedTokenCache"; @Value("${caching.storage.infinispan.initialHosts}") private String initialHosts; @@ -79,6 +90,14 @@ public class InfinispanConfig implements InitializingBean { @Value("${server.attlsServer.enabled:false}") private boolean isServerAttlsEnabled; + private AtomicReference zoweInvalidatedTokenLock = new AtomicReference<>(); + + @Override + public void afterPropertiesSet() { + updateKeyring(); + } + + @PostConstruct void updateKeyring() { if (isKeyring(keyStore)) { keyStore = formatKeyringUrl(keyStore); @@ -86,14 +105,9 @@ void updateKeyring() { } } - @Override - public void afterPropertiesSet() throws Exception { - updateKeyring(); - } - static String getRootFolder() { // using getenv().get is because of system compatibility (see non-case sensitive on Windows) - String instanceId = System.getenv().get("ZWE_haInstance_id"); + String instanceId = System.getenv().get(ZWE_HAINSTANCE_ID); if (StringUtils.isBlank(instanceId)) { instanceId = "localhost"; } @@ -135,24 +149,18 @@ synchronized DefaultCacheManager cacheManager(ResourceLoader resourceLoader) { holder.getGlobalConfigurationBuilder().globalState().persistentLocation(getRootFolder()).enable(); holder.newConfigurationBuilder("default") .persistence() - .passivation(true) .addSoftIndexFileStore() - .shared(false); + .clustering().cacheMode(CacheMode.DIST_SYNC); DefaultCacheManager cacheManager = new DefaultCacheManager(holder, true); ConfigurationBuilder builder = new ConfigurationBuilder(); - builder.clustering() - .cacheMode(CacheMode.REPL_SYNC) - .encoding() - .mediaType("application/x-jboss-marshalling"); - - builder.persistence() - .passivation(true) - .addSoftIndexFileStore() - .shared(false); + builder + .encoding().mediaType(MediaType.APPLICATION_JBOSS_MARSHALLING_TYPE) + .persistence().addSoftIndexFileStore().clustering() + .clustering().cacheMode(CacheMode.DIST_SYNC); - var caches = Arrays.asList("zoweCache", "zoweInvalidatedTokenCache", "zosmfAuthenticationEndpoint", "invalidatedJwtTokens", "validationJwtToken", "zosmfInfo", "zosmfJwtEndpoint", "trustedCertificates", "parseOIDCToken", "validationOIDCToken"); + var caches = Arrays.asList(CACHE_ZOWE, CACHE_ZOWE_INVALIDATED_TOKEN, "zosmfAuthenticationEndpoint", "invalidatedJwtTokens", "validationJwtToken", "zosmfInfo", "zosmfJwtEndpoint", "trustedCertificates", "parseOIDCToken", "validationOIDCToken"); caches.forEach(cacheName -> cacheManager.administration() .withFlags(CacheContainerAdmin.AdminFlag.VOLATILE) .getOrCreateCache(cacheName, builder.build())); @@ -164,17 +172,37 @@ synchronized DefaultCacheManager cacheManager(ResourceLoader resourceLoader) { return cacheManager; } - @Bean - ClusteredLock lock(DefaultCacheManager cacheManager) { - ClusteredLockManager clm = EmbeddedClusteredLockManagerFactory.from(cacheManager); - clm.defineLock("zoweInvalidatedTokenLock"); - return clm.get("zoweInvalidatedTokenLock"); - } + private ClusteredLock lock(DefaultCacheManager cacheManager) { + ClusteredLock lock = zoweInvalidatedTokenLock.get(); + if (lock != null) { + return lock; + } + try { + synchronized (zoweInvalidatedTokenLock) { + lock = zoweInvalidatedTokenLock.get(); + if (lock == null) { + ClusteredLockManager clm = EmbeddedClusteredLockManagerFactory.from(cacheManager); + // it can throw AvailabilityException + clm.defineLock(LOCK_ZOWE_INVALIDATED); + lock = clm.get(LOCK_ZOWE_INVALIDATED); + } + zoweInvalidatedTokenLock.set(lock); + } + return lock; + } catch (AvailabilityException ae) { + log.debug("Cannot obtain lock", ae); + throw new StorageException(Messages.CACHE_NOT_AVAILABLE.getKey(), Messages.CACHE_NOT_AVAILABLE.getStatus(), ae.getMessage()); + } + } @Bean - Storage storage(DefaultCacheManager cacheManager, ClusteredLock clusteredLock) { - return new InfinispanStorage(cacheManager.getCache("zoweCache"), cacheManager.getCache("zoweInvalidatedTokenCache"), clusteredLock); + public Storage storage(DefaultCacheManager cacheManager) { + return new InfinispanStorage( + cacheManager.getCache(CACHE_ZOWE), + cacheManager.getCache(CACHE_ZOWE_INVALIDATED_TOKEN), + () -> lock(cacheManager) + ); } } diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorage.java b/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorage.java index 508bbd28bd..fb987c7235 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorage.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorage.java @@ -15,16 +15,20 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import lombok.extern.slf4j.Slf4j; import org.infinispan.lock.api.ClusteredLock; -import org.zowe.apiml.caching.model.KeyValue; -import org.zowe.apiml.caching.service.Messages; import org.zowe.apiml.cache.Storage; import org.zowe.apiml.cache.StorageException; +import org.zowe.apiml.caching.model.KeyValue; +import org.zowe.apiml.caching.service.Messages; import org.zowe.apiml.models.AccessTokenContainer; import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; import java.util.stream.Collectors; @Slf4j @@ -33,13 +37,17 @@ public class InfinispanStorage implements Storage { private final ConcurrentMap cache; private final ConcurrentMap> tokenCache; - private final ClusteredLock lock; + private final Supplier lockSupplier; private static final ObjectMapper objectMapper = new ObjectMapper(); - public InfinispanStorage(ConcurrentMap cache, ConcurrentMap> tokenCache, ClusteredLock lock) { + public InfinispanStorage( + ConcurrentMap cache, + ConcurrentMap> tokenCache, + Supplier lockSupplier + ) { this.cache = cache; this.tokenCache = tokenCache; - this.lock = lock; + this.lockSupplier = lockSupplier; } static { @@ -61,6 +69,7 @@ public KeyValue create(String serviceId, KeyValue toCreate) { @Override public KeyValue storeMapItem(String serviceId, String mapKey, KeyValue toCreate) { + ClusteredLock lock = lockSupplier.get(); CompletableFuture complete = lock.tryLock(4, TimeUnit.SECONDS).whenComplete((r, ex) -> { if (Boolean.TRUE.equals(r)) { try { @@ -90,10 +99,21 @@ public Map getAllMapItems(String serviceId, String mapKey) { @Override public Map> getAllMaps(String serviceId) { log.info("Reading all records from token cache for service {} ", serviceId); - // filter all maps which belong given service and remove the service name from key names. - return tokenCache.entrySet().stream().filter( - entry -> entry.getKey().startsWith(serviceId)) - .collect(Collectors.toMap(e -> e.getKey().substring(serviceId.length()), Map.Entry::getValue)); + + /** + * Original implementation with stream, collect and lambdas to read keys leads to serializing of lambdas, + * see org.infinispan.marshall.core.LambdaMarshaller#write(java.io.ObjectOutput, java.lang.Object). + * It is difficult to support and also slower (see exchanging lambdas between nodes). + */ + Map> result = new HashMap<>(); + for (String key : tokenCache.keySet()) { + if (!key.startsWith(serviceId)) continue; + + String newKey = key.substring(serviceId.length()); + result.put(newKey, tokenCache.get(key)); + } + + return result; } @Override @@ -154,6 +174,7 @@ public void deleteForService(String serviceId) { @Override public void removeNonRelevantTokens(String serviceId, String mapKey) { + ClusteredLock lock = lockSupplier.get(); CompletableFuture complete = lock.tryLock(4, TimeUnit.SECONDS).whenComplete((r, ex) -> { if (Boolean.TRUE.equals(r)) { try { @@ -184,6 +205,7 @@ private void removeToken(String serviceId, String mapKey) { @Override public void removeNonRelevantRules(String serviceId, String mapKey) { + ClusteredLock lock = lockSupplier.get(); CompletableFuture complete = lock.tryLock(4, TimeUnit.SECONDS).whenComplete((r, ex) -> { if (Boolean.TRUE.equals(r)) { try { @@ -217,4 +239,5 @@ private void completeJoin(CompletableFuture complete) { } } } + } diff --git a/caching-service/src/main/resources/application.yml b/caching-service/src/main/resources/application.yml index 79f22e8ae7..b77595132f 100644 --- a/caching-service/src/main/resources/application.yml +++ b/caching-service/src/main/resources/application.yml @@ -1,5 +1,6 @@ # for back-compatibility spring.profiles.group.attls: attlsServer,attlsClient +spring.profiles.group.dev: debug,diag caching: storage: @@ -117,6 +118,10 @@ spring: gateway: mvc.enabled: false enabled: false + discovery: + client: + health-indicator: + enabled: false application: name: Caching service output.ansi.enabled: always @@ -168,25 +173,33 @@ management: health: showDetails: always --- +spring.config.activate.on-profile: debug + logging: level: ROOT: INFO - com.netflix.discovery.shared.transport.decorator: DEBUG org.zowe.apiml: DEBUG org.zowe.apiml.enable: DEBUG org.zowe.apiml.caching: DEBUG org.springframework: INFO org.apache: INFO org.apache.http: DEBUG + org.apache.tomcat.util.net.jsse.JSSESupport: INFO com.netflix: INFO org.hibernate: INFO org.jgroups.protocols: ERROR org.springframework.web.servlet.PageNotFound: WARN org.ehcache: INFO org.apache.tomcat.util.net: DEBUG + com.netflix.discovery.shared.transport.decorator: DEBUG org.springframework.security.web: DEBUG javax.net.ssl: ERROR - + org.apache.coyote.http11.Http11InputBuffer: TRACE + org.apache.tomcat: DEBUG + org.apache.catalina: DEBUG + org.jgroups: TRACE + org.infinispan: DEBUG +--- spring.config.activate.on-profile: dev logbackServiceName: ZWEACS1 @@ -216,13 +229,4 @@ eureka: nonSecurePortEnabled: true securePortEnabled: false ---- -spring.config.activate.on-profile: debug -logging: - level: - ROOT: INFO - org.apache.tomcat.util.net: DEBUG - org.apache.tomcat.util.net.jsse.JSSESupport: INFO - org.jgroups: DEBUG - org.infinispan: DEBUG diff --git a/caching-service/src/main/resources/caching-log-messages.yml b/caching-service/src/main/resources/caching-log-messages.yml index 420c6f3aaf..80e36e3c96 100644 --- a/caching-service/src/main/resources/caching-log-messages.yml +++ b/caching-service/src/main/resources/caching-log-messages.yml @@ -121,3 +121,11 @@ messages: text: "Missing header with certificate." reason: "Call executed without valid client certificate." action: "Verify ssl context in client application." + + - key: org.zowe.apiml.cache.notAvailable + number: ZWECS703 + type: WARNING + text: "Cache is not available: %s" + reason: "Cache is not ready to write at the moment." + action: "Wait till initialization of cache is done. In case it is done verify the instance configuration or connectivity between multiple instances." + diff --git a/caching-service/src/test/java/org/zowe/apiml/caching/api/CachingControllerTest.java b/caching-service/src/test/java/org/zowe/apiml/caching/api/CachingControllerTest.java index d4fa844c73..df835f23c7 100644 --- a/caching-service/src/test/java/org/zowe/apiml/caching/api/CachingControllerTest.java +++ b/caching-service/src/test/java/org/zowe/apiml/caching/api/CachingControllerTest.java @@ -19,10 +19,10 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.server.reactive.ServerHttpRequest; -import org.zowe.apiml.caching.model.KeyValue; -import org.zowe.apiml.caching.service.Messages; import org.zowe.apiml.cache.Storage; import org.zowe.apiml.cache.StorageException; +import org.zowe.apiml.caching.model.KeyValue; +import org.zowe.apiml.caching.service.Messages; import org.zowe.apiml.message.api.ApiMessageView; import org.zowe.apiml.message.core.MessageService; import org.zowe.apiml.message.yaml.YamlMessageService; @@ -484,10 +484,29 @@ void givenErrorReadingStorage_thenResponseBadRequest() throws StorageException { when(mockStorage.getAllMapItems(anyString(), anyString())) .thenThrow(new RuntimeException("error")); + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + + @Test + void givenInvalidStorage_thenResponseBadRequest() throws StorageException { + when(mockStorage.getAllMapItems(any(), any())).thenThrow(new StorageException(Messages.INCOMPATIBLE_STORAGE_METHOD.getKey(), HttpStatus.BAD_REQUEST)); + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.BAD_REQUEST))) .verifyComplete(); } + + @Test + void givenGenericErrorReadingStorage_thenResponseInternalError() throws StorageException { + when(mockStorage.getAllMapItems(any(), any())).thenThrow(new RuntimeException("error")); + + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + } @Nested @@ -523,4 +542,73 @@ void givenInCorrectRequest_thenReturn500() throws StorageException { .verifyComplete(); } } + + @Nested + class WhenGetAll { + + @Nested + class MapItems { + + @Test + void givenWrongStorage_whenGetAllMapItems_thenReturn400() { + Exception storageException = new StorageException(Messages.INCOMPATIBLE_STORAGE_METHOD.getKey(), Messages.INCOMPATIBLE_STORAGE_METHOD.getStatus()); + doThrow(storageException).when(mockStorage).getAllMapItems(any(), any()); + + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.BAD_REQUEST))) + .verifyComplete(); + } + + @Test + void givenUnexpectedError_whenGetAllMapItems_thenReturn500() { + doThrow(new RuntimeException("unexpected")).when(mockStorage).getAllMapItems(any(), any()); + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + + @Test + void givenUOtherStorageException_whenGetAllMapItems_thenReturn500() { + Exception storageException = new StorageException(Messages.DUPLICATE_KEY.getKey(), Messages.DUPLICATE_KEY.getStatus()); + doThrow(storageException).when(mockStorage).getAllMapItems(any(), any()); + StepVerifier.create(underTest.getAllMapItems(MAP_KEY, mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + + } + + @Nested + class Maps { + + @Test + void givenWrongStorage_whenGetAllMapItems_thenReturn400() { + Exception storageException = new StorageException(Messages.INCOMPATIBLE_STORAGE_METHOD.getKey(), Messages.INCOMPATIBLE_STORAGE_METHOD.getStatus()); + doThrow(storageException).when(mockStorage).getAllMaps(any()); + StepVerifier.create(underTest.getAllMaps(mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.BAD_REQUEST))) + .verifyComplete(); + } + + @Test + void givenUnexpectedError_whenGetAllMapItems_thenReturn500() { + doThrow(new RuntimeException("unexpected")).when(mockStorage).getAllMaps(any()); + StepVerifier.create(underTest.getAllMaps(mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + + @Test + void givenUOtherStorageException_whenGetAllMapItems_thenReturn500() { + Exception storageException = new StorageException(Messages.DUPLICATE_KEY.getKey(), Messages.DUPLICATE_KEY.getStatus()); + doThrow(storageException).when(mockStorage).getAllMaps(any()); + StepVerifier.create(underTest.getAllMaps(mockRequest)) + .assertNext(response -> assertThat(response.getStatusCode(), is(HttpStatus.INTERNAL_SERVER_ERROR))) + .verifyComplete(); + } + + } + + } + } diff --git a/caching-service/src/test/java/org/zowe/apiml/caching/health/CachesHealthIndicatorTest.java b/caching-service/src/test/java/org/zowe/apiml/caching/health/CachesHealthIndicatorTest.java new file mode 100644 index 0000000000..d228fb0032 --- /dev/null +++ b/caching-service/src/test/java/org/zowe/apiml/caching/health/CachesHealthIndicatorTest.java @@ -0,0 +1,108 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.caching.health; + +import org.infinispan.Cache; +import org.infinispan.lifecycle.ComponentStatus; +import org.infinispan.manager.EmbeddedCacheManager; +import org.infinispan.spring.embedded.provider.SpringEmbeddedCacheManager; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.Status; +import org.springframework.cache.CacheManager; + +import java.util.Arrays; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.*; + +class CachesHealthIndicatorTest { + + @Nested + class UnsupportedCacheManager { + + @Test + void givenUnsupportedCacheManager_whenBuildHealth_thenNoDetailsAdded() { + var cachesHealthIndicator = new CachesHealthIndicator(mock(CacheManager.class)); + var builder = mock(Health.Builder.class); + cachesHealthIndicator.doHealthCheck(builder); + verify(builder, never()).withDetail(any(), any()); + } + + } + + + @Nested + @ExtendWith(MockitoExtension.class) + class SupportedCacheManager { + + private static final String CACHES = "caches"; + private static final String INFINISPAN = "infinispan"; + private static final String STATUS = "status"; + private static final String CACHE_1 = "cache_1"; + + private SpringEmbeddedCacheManager cacheManager = mock(SpringEmbeddedCacheManager.class); + private EmbeddedCacheManager nativeCacheManager = mock(EmbeddedCacheManager.class); + private Cache cache = mock(Cache.class); + + @Captor + private ArgumentCaptor mapCaptor; + + @BeforeEach + void setUp() { + doReturn(nativeCacheManager).when(cacheManager).getNativeCacheManager(); + } + + @ParameterizedTest + @CsvSource({ + "FAILED,RUNNING,false", + "FAILED,FAILED,false", + "RUNNING,FAILED,false", + "RUNNING,RUNNING,true" + }) + void givenNonRunningCache_whenBuildHealth_thenItIsDown( + ComponentStatus wholeStatus, + ComponentStatus cacheStatus, + boolean result + ) { + doReturn(Arrays.asList(CACHE_1)).when(cacheManager).getCacheNames(); + doReturn(wholeStatus).when(nativeCacheManager).getStatus(); + doReturn(cache).when(nativeCacheManager).getCache(CACHE_1); + doReturn(cacheStatus).when(cache).getStatus(); + + var cachesHealthIndicator = new CachesHealthIndicator(cacheManager); + var builder = mock(Health.Builder.class); + cachesHealthIndicator.doHealthCheck(builder); + + verify(builder).withDetail(eq(INFINISPAN), mapCaptor.capture()); + var mapDetails = mapCaptor.getValue(); + assertEquals(2, mapDetails.size()); + assertTrue(mapDetails.containsKey(CACHES)); + assertTrue(mapDetails.containsKey(STATUS)); + var caches = (Map) mapDetails.get(CACHES); + assertEquals(cacheStatus, caches.get(CACHE_1)); + assertEquals(wholeStatus, mapDetails.get(STATUS)); + verify(builder).status(result ? Status.UP : Status.DOWN); + } + + } + +} diff --git a/caching-service/src/test/java/org/zowe/apiml/caching/health/CachingHealthIndicatorTest.java b/caching-service/src/test/java/org/zowe/apiml/caching/health/CachingHealthIndicatorTest.java new file mode 100644 index 0000000000..89472ab9d0 --- /dev/null +++ b/caching-service/src/test/java/org/zowe/apiml/caching/health/CachingHealthIndicatorTest.java @@ -0,0 +1,128 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.caching.health; + +import com.netflix.appinfo.InstanceInfo; +import com.netflix.discovery.EurekaClient; +import com.netflix.discovery.shared.Application; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.zowe.apiml.eurekaservice.client.ApiMediationClient; +import org.zowe.apiml.product.constants.CoreService; + +import java.util.Collections; +import java.util.Optional; + +import static org.mockito.Mockito.*; + +class CachingHealthIndicatorTest { + + private ApiMediationClient apiMediationClient = mock(ApiMediationClient.class); + private Health.Builder builder = mock(Health.Builder.class); + + void initEureka(boolean hasGw, boolean hasGwInstance) { + var eurekaClient = mock(EurekaClient.class); + doReturn(eurekaClient).when(apiMediationClient).getEurekaClient(); + if (!hasGw) return; + + var application = mock(Application.class); + doReturn(application).when(eurekaClient).getApplication(CoreService.GATEWAY.getServiceId()); + if (!hasGwInstance) return; + + doReturn(Collections.singletonList(mock(InstanceInfo.class))).when(application).getInstances(); + } + + @Nested + class WithoutCacheIndicator { + + @Test + void givenNoEurekaClient_whenBuildHealthIndicator_thenItIsDown() { + new CachingHealthIndicator(apiMediationClient, Optional.empty()).doHealthCheck(builder); + verify(builder).withDetail(CoreService.GATEWAY.getServiceId(), Status.DOWN); + verify(builder).down(); + } + + @Test + void givenNoService_whenBuildHealthIndicator_thenItIsDown() { + initEureka(false, false); + new CachingHealthIndicator(apiMediationClient, Optional.empty()).doHealthCheck(builder); + verify(builder).withDetail(CoreService.GATEWAY.getServiceId(), Status.DOWN); + verify(builder).down(); + } + + @Test + void givenNoGwInstance_whenBuildHealthIndicator_thenItIsDown() { + initEureka(true, false); + new CachingHealthIndicator(apiMediationClient, Optional.empty()).doHealthCheck(builder); + verify(builder).withDetail(CoreService.GATEWAY.getServiceId(), Status.DOWN); + verify(builder).down(); + } + + @Test + void givenGatewayInstanceBeforeStartUp_whenBuildHealthIndicator_thenItIsDown() { + initEureka(true, true); + new CachingHealthIndicator(apiMediationClient, Optional.empty()).doHealthCheck(builder); + verify(builder).withDetail(CoreService.GATEWAY.getServiceId(), Status.UP); + verify(builder).down(); + } + + @Test + void givenGatewayInstanceAfterStartUp_whenBuildHealthIndicator_thenItIsUp() { + initEureka(true, true); + var cachingHealthIndicator = new CachingHealthIndicator(apiMediationClient, Optional.empty()); + cachingHealthIndicator.onApplicationEvent(mock(ApplicationReadyEvent.class)); + cachingHealthIndicator.doHealthCheck(builder); + verify(builder).withDetail(CoreService.GATEWAY.getServiceId(), Status.UP); + verify(builder, never()).down(); + } + + } + + @Nested + class WithCacheIndicator { + + private CachesHealthIndicator cachesHealthIndicator = mock(CachesHealthIndicator.class); + + @Test + void givenNoGateway_whenBuildHealthIndicator_thenItIsDown() { + initEureka(false, false); + var cachingHealthIndicator = new CachingHealthIndicator(apiMediationClient, Optional.of(cachesHealthIndicator)); + cachingHealthIndicator.onApplicationEvent(mock(ApplicationReadyEvent.class)); + cachingHealthIndicator.doHealthCheck(builder); + verify(cachesHealthIndicator).doHealthCheck(builder); + verify(builder).down(); + } + + @Test + void givenNoStartUpEvent_whenBuildHealthIndicator_thenItIsDown() { + initEureka(true, true); + var cachingHealthIndicator = new CachingHealthIndicator(apiMediationClient, Optional.of(cachesHealthIndicator)); + cachingHealthIndicator.doHealthCheck(builder); + verify(cachesHealthIndicator).doHealthCheck(builder); + verify(builder).down(); + } + + @Test + void givenEverythingReady_whenBuildHealthIndicator_thenItIsUp() { + initEureka(true, true); + var cachingHealthIndicator = new CachingHealthIndicator(apiMediationClient, Optional.of(cachesHealthIndicator)); + cachingHealthIndicator.onApplicationEvent(mock(ApplicationReadyEvent.class)); + cachingHealthIndicator.doHealthCheck(builder); + verify(cachesHealthIndicator).doHealthCheck(builder); + verify(builder, never()).down(); + } + + } + +} diff --git a/caching-service/src/test/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorageTest.java b/caching-service/src/test/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorageTest.java index a13987d4f5..050ee042ca 100644 --- a/caching-service/src/test/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorageTest.java +++ b/caching-service/src/test/java/org/zowe/apiml/caching/service/infinispan/storage/InfinispanStorageTest.java @@ -46,8 +46,8 @@ class InfinispanStorageTest { void setup() { cache = mock(Cache.class); tokenCache = mock(AdvancedCache.class); - storage = new InfinispanStorage(cache, tokenCache, lock); lock = mock(ClusteredLock.class); + storage = new InfinispanStorage(cache, tokenCache, () -> lock); } @Nested @@ -124,7 +124,7 @@ void cacheIsUpdated() { @Test void itemIsDeleted() { ConcurrentMap cache = new ConcurrentHashMap<>(); - InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, lock); + InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, () -> lock); assertNull(storage.create(serviceId1, TO_CREATE)); assertEquals(TO_CREATE, storage.delete(serviceId1, TO_CREATE.getKey())); } @@ -132,7 +132,7 @@ void itemIsDeleted() { @Test void returnAll() { ConcurrentMap cache = new ConcurrentHashMap<>(); - InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, lock); + InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, () -> lock); storage.create(serviceId1, new KeyValue("key", "value")); storage.create(serviceId1, new KeyValue("key2", "value2")); assertEquals(2, storage.readForService(serviceId1).size()); @@ -141,7 +141,7 @@ void returnAll() { @Test void removeAll() { ConcurrentMap cache = new ConcurrentHashMap<>(); - InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, lock); + InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, () -> lock); storage.create(serviceId1, new KeyValue("key", "value")); storage.create(serviceId1, new KeyValue("key2", "value2")); assertEquals(2, storage.readForService(serviceId1).size()); @@ -173,7 +173,7 @@ void createStoreWithEntry() { void addToken() { HashMap hashMap = new HashMap<>(); hashMap.put("key", "token"); - InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, lock); + InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, () -> lock); when(tokenCache.get(anyString())).thenAnswer(invocation -> hashMap); assertNull(storage.storeMapItem(serviceId1, "invalidTokens", new KeyValue("newkey", "newvalue"))); verify(tokenCache, times(1)).put(serviceId1 + "invalidTokens", hashMap); @@ -183,7 +183,7 @@ void addToken() { void updateToken() { HashMap hashMap = new HashMap(); hashMap.put("key", "token"); - InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, lock); + InfinispanStorage storage = new InfinispanStorage(cache, tokenCache, () -> lock); when(tokenCache.get(serviceId1 + "invalidTokens")).thenReturn(hashMap); KeyValue keyValue = new KeyValue("key", "token2"); assertNull(storage.storeMapItem(serviceId1, "invalidTokens", keyValue)); @@ -223,7 +223,7 @@ void createStorage() { tokenCache.put(serviceId1 + "invalidTokens", tokensService1); tokenCache.put(serviceId1 + "invalidTokenRules", rulesService1); tokenCache.put(serviceId2 + "invalidTokens", tokensService2); - underTest = new InfinispanStorage(cache, tokenCache, lock); + underTest = new InfinispanStorage(cache, tokenCache, () -> lock); } @@ -275,7 +275,7 @@ void createStorage() { tokenCache.put(serviceId1 + "invalidTokens", tokensService); tokenCache.put(serviceId1 + "invalidScopes", rulesService); tokenCache.put(serviceId1 + "invalidUsers", rulesUsers); - underTest = new InfinispanStorage(cache, tokenCache, lock); + underTest = new InfinispanStorage(cache, tokenCache, () -> lock); } @Test void thenEvictItems() { diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/ha/CachingServiceTests.java b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/CachingServiceTests.java new file mode 100644 index 0000000000..54d3712141 --- /dev/null +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/CachingServiceTests.java @@ -0,0 +1,254 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.integration.ha; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.restassured.RestAssured; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.hamcrest.Matchers; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.zowe.apiml.util.categories.ChaoticHATest; +import org.zowe.apiml.util.categories.HATest; +import org.zowe.apiml.util.config.*; +import org.zowe.apiml.util.requests.Endpoints; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Random; +import java.util.stream.Collectors; + +import static io.restassured.RestAssured.given; +import static io.restassured.http.ContentType.JSON; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; +import static org.apache.http.HttpStatus.SC_OK; +import static org.awaitility.Awaitility.await; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.core.Is.is; +import static org.junit.jupiter.api.Assumptions.assumeTrue; +import static org.zowe.apiml.util.config.ConfigReader.environmentConfiguration; + +@Slf4j +@HATest +@ChaoticHATest +@TestInstance(TestInstance.Lifecycle. PER_CLASS) +class CachingServiceTests { + + private static final boolean IS_MODULITH_ENABLED = Boolean.getBoolean("environment.modulith"); + private static final String SERVLET_PATH = IS_MODULITH_ENABLED ? "" : "/cachingservice"; + + private static final String SERVICE = "service"; + private static final String KEY = "aCacheKey" + new Random().nextInt(); + private static final String VALUE = "aCacheValue"; + private static final String MAP = "aMap"; + private static final String MAP_KEY = "aMapCacheKey" + new Random().nextInt(); + private static final String MAP_VALUE = "aMapCacheValue"; + private static final String DN = "CN=Zowe Service, OU=API Mediation Layer, O=Zowe Sample, L=Prague, ST=Prague, C=CZ"; + + private static final KeyValue KEY_VALUE = new KeyValue(KEY, VALUE); + private static final KeyValue MAP_KEY_VALUE = new KeyValue(MAP_KEY, MAP_VALUE); + + private Credentials credentials; + private List baseUrls; + + private boolean isUp(int index) { + try { + String url = String.format("%s%s%s", baseUrls.get(index), SERVLET_PATH, Endpoints.HEALTH); + log.info("Check if {}. Caching Service is up: {}", index + 1, url); + + //@formatter:off + given() + .contentType(JSON) + .auth() + .basic(credentials.getUser(), credentials.getPassword()) + .when() + .get(url) + .then() + .statusCode(200) + .body("status", Matchers.is("UP")); + //@formatter:on + return true; + } catch (Throwable t) { + log.info("Caching service is down", t); + return false; + } + } + + private boolean isUp() { + for (int i = 0; i < baseUrls.size(); i++) { + if (!isUp(i)) { + return false; + } + } + return true; + } + + private boolean isChaotic() { + return Boolean.getBoolean("environment.chaotic"); + } + + @BeforeAll + void setUp() throws Exception { + RestAssured.useRelaxedHTTPSValidation(); + SslContext.prepareSslAuthentication(ItSslConfigFactory.integrationTests()); + + EnvironmentConfiguration environmentConfiguration = environmentConfiguration(); + CachingServiceConfiguration cachingServiceConfiguration = environmentConfiguration.getCachingServiceConfiguration(); + + KEY_VALUE.setServiceId(SERVICE); + + assumeTrue(cachingServiceConfiguration.getHost() != null); + baseUrls = Arrays.stream(cachingServiceConfiguration.getHost().split("[,;]")) + .map(host -> String.format("%s://%s:%d", cachingServiceConfiguration.getScheme(), host, cachingServiceConfiguration.getPort())) + .collect(Collectors.toList()); + assumeTrue(baseUrls.size() > 1, "This test requires multiple instances of Caching service."); + credentials = ConfigReader.environmentConfiguration().getCredentials(); + + await() + .atMost(10, MINUTES) + .pollDelay(0, SECONDS) + .pollInterval(10, SECONDS) + .until(this::isUp); + } + + private void assertContent(int index) { + //@formatter:off + + // check the all records (tokenCache) + given() + .config(SslContext.clientCertApiml) + .header("X-Certificate-DistinguishedName", DN) + .when() + .get(baseUrls.get(index) + "/cachingservice/api/v1/cache-list") + .then() + .log().ifValidationFails() + .statusCode(200) + .body(MAP + "." + MAP_KEY, equalTo(MAP_VALUE)); + + // check the all records (tokenCache) + given() + .config(SslContext.clientCertApiml) + .header("X-Certificate-DistinguishedName", DN) + .when() + .get(baseUrls.get(index) + "/cachingservice/api/v1/cache-list/" + MAP) + .then() + .log().ifValidationFails() + .statusCode(200) + .body(MAP_KEY, equalTo(MAP_VALUE)); + + // check the concrete record (cache) + given() + .config(SslContext.clientCertApiml) + .header("X-Certificate-DistinguishedName", DN) + .when() + .get(baseUrls.get(index) + "/cachingservice/api/v1/cache/" + KEY) + .then() + .log().ifValidationFails() + .statusCode(200) + .body("value", equalTo(VALUE)); + + //@formatter:on + } + + @Test + void givenMultipleInstances_whenShareAValue_thenShutdownDoesntChangeTheState() { + log.info("Set value on the first instance to cache storage"); + //@formatter:off + given() + .config(SslContext.clientCertApiml) + .header("X-Certificate-DistinguishedName", DN) + .contentType(JSON) + .body(KEY_VALUE) + .when() + .post(baseUrls.get(0) + "/cachingservice/api/v1/cache") + .then() + .statusCode(201); + + log.info("Set value on the first instance to tokenCache storage"); + given() + .config(SslContext.clientCertApiml) + .header("X-Certificate-DistinguishedName", DN) + .contentType(JSON) + .body(MAP_KEY_VALUE) + .when() + .post(baseUrls.get(0) + "/cachingservice/api/v1/cache-list/" + MAP) + .then() + .statusCode(201); + //@formatter:on + + int instances = baseUrls.size(); + for (int i = -1; i < instances - 1; i++) { + if (i >= 0) { + if (!isChaotic()) { + // for non-chaotic stop the test once all instances are verified + return; + } + + log.info("Kill {}. instance of caching service", i + 1); + //@formatter:off + given() + .config(SslContext.clientCertApiml) + .contentType(JSON) + .auth().basic(credentials.getUser(), credentials.getPassword()) + .when() + .post(baseUrls.get(i) + SERVLET_PATH + "/application/shutdown") + .then() + .statusCode(is(SC_OK)); + //@formatter:on + } + + for (int j = i + 1; j < instances; j++) { + log.info("Check if the value is accessible {}. instance", j + 1); + assertContent(j); + } + } + + } + + @RequiredArgsConstructor + @JsonInclude(JsonInclude.Include.NON_EMPTY) + @Data + static class KeyValue implements Serializable { + + private final String key; + private final String value; + private String serviceId; + private final String created; + + public KeyValue(String key, String value) { + this.key = key; + this.value = value; + this.serviceId = ""; + this.created = currentTime(); + } + + private static String currentTime() { + return String.valueOf(new Date().getTime()); + } + + @JsonCreator + public KeyValue() { + key = ""; + value = ""; + serviceId = ""; + created = currentTime(); + } + + } + +} diff --git a/integration-tests/src/test/java/org/zowe/apiml/integration/ha/GatewayMultipleInstancesTest.java b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/GatewayMultipleInstancesTest.java index 9122cdd578..0953a47780 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/integration/ha/GatewayMultipleInstancesTest.java +++ b/integration-tests/src/test/java/org/zowe/apiml/integration/ha/GatewayMultipleInstancesTest.java @@ -55,7 +55,8 @@ void gatewayInstancesAreUp() { void gatewayInstancesAreRegistered() { assumeTrue(haGatewayRequests.existing() > 1 && haDiscoveryRequests.existing() > 1); - assertThat(haDiscoveryRequests.getAmountOfRegisteredInstancesForService(0, Apps.GATEWAY), is(2)); + var expectedGatewayCount = Integer.getInteger("environment.gwCount", 2); + assertThat(haDiscoveryRequests.getAmountOfRegisteredInstancesForService(0, Apps.GATEWAY), is(expectedGatewayCount)); } } diff --git a/integration-tests/src/test/java/org/zowe/apiml/util/config/CachingServiceConfiguration.java b/integration-tests/src/test/java/org/zowe/apiml/util/config/CachingServiceConfiguration.java index eca6eeba76..3916496779 100644 --- a/integration-tests/src/test/java/org/zowe/apiml/util/config/CachingServiceConfiguration.java +++ b/integration-tests/src/test/java/org/zowe/apiml/util/config/CachingServiceConfiguration.java @@ -20,20 +20,8 @@ public class CachingServiceConfiguration implements ServiceConfiguration { private String url; - - @Override - public String getScheme() { - throw new IllegalStateException("Method is not implemented"); - } - - @Override - public String getHost() { - throw new IllegalStateException("Method is not implemented"); - } - - @Override - public int getPort() { - throw new IllegalStateException("Method is not implemented"); - } + private String scheme; + private String host; + private int port; } diff --git a/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml b/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml index 49875b01be..f590d7d9d6 100644 --- a/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml +++ b/integration-tests/src/test/resources/environment-configuration-docker-modulith-ha.yml @@ -5,11 +5,11 @@ credentials: clientUser: APIMTST gatewayServiceConfiguration: scheme: https - host: apiml,apiml-2 + host: apiml,apiml-2,apiml-3 port: 10010 internalPorts: 10010 externalPort: 10010 - instances: 2 + instances: 3 servicesEndpoint: gateway/api/v1/services bucketCapacity: 40 authProvider: zosmf @@ -18,24 +18,27 @@ discoveryServiceConfiguration: user: user password: user host: apiml - additionalHost: apiml-2 + additionalHost: apiml-2,apiml-3 additionalPort: 10011 port: 10011 - instances: 2 + instances: 3 discoverableClientConfiguration: scheme: https port: 10012 applId: ZOWEAPPL host: discoverable-client,discoverable-client-2 - instances: 1 + instances: 2 apiCatalogServiceConfiguration: scheme: https url: - host: apiml,apiml-2 + host: apiml,apiml-2,apiml-3 port: 10010 - instances: 2 + instances: 3 cachingServiceConfiguration: url: + scheme: https + host: apiml,apiml-2,apiml-3 + port: 10010 tlsConfiguration: keyAlias: localhost keyPassword: password diff --git a/integration-tests/src/test/resources/environment-configuration-ha.yml b/integration-tests/src/test/resources/environment-configuration-ha.yml index 5ef2f26c12..30b0b6c38f 100644 --- a/integration-tests/src/test/resources/environment-configuration-ha.yml +++ b/integration-tests/src/test/resources/environment-configuration-ha.yml @@ -39,6 +39,9 @@ apiCatalogServiceConfiguration: instances: 2 cachingServiceConfiguration: url: + scheme: https + host: caching-service,caching-service-2,caching-service-3 + port: 10016 tlsConfiguration: keyAlias: localhost keyPassword: password diff --git a/keystore/docker/all-services.cer b/keystore/docker/all-services.cer index ce826d9983..05c18044a9 100644 --- a/keystore/docker/all-services.cer +++ b/keystore/docker/all-services.cer @@ -1,36 +1,36 @@ -----BEGIN CERTIFICATE----- -MIIF6TCCBNGgAwIBAgIUIh7+Cdi0ufdM4hPSBUcK+cg1lTMwDQYJKoZIhvcNAQEL +MIIF+DCCBOCgAwIBAgIUOx5abqiQCp175z+0GmEJDu29yKUwDQYJKoZIhvcNAQEL BQAwgZ4xCzAJBgNVBAYTAkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlBy YWd1ZTEUMBIGA1UEChMLWm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRp b24gTGF5ZXIxOTA3BgNVBAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENl -cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNTEyMjkxNTA5NThaFw0zMDEyMjgxNTA5 -NThaMGoxCzAJBgNVBAYTAkNaMRAwDgYDVQQIDAdDemVjaGlhMQ8wDQYDVQQHDAZQ -cmFndWUxETAPBgNVBAoMCEJyb2FkY29tMQwwCgYDVQQLDANNU0QxFzAVBgNVBAMM -Dlpvd2UgQ29tcG9uZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -q9kjK8492YN5buAag7SvLvHqg+LLeuLHUUE5ocg6Lxri9p76eRoEk5BwinGPq8VL -RTZmD1mGv/miM52LKsIy1zMVhyrwiaFpI8DYKbg9Xc2u2X060JglWylOS5brJ5Ge -D3wSsUVTGzV9x1pHsjnEgswnx4UuE/1KCvcr64ZgEXYcsTfdzr1U9XyBluDuc602 -0d/Exsv+yXlKof/TRMzDQEvI9ZDWzNa1FAyZY+raSRlctL+6rxBxiWTZPWSCmsED -SjhsuQiz4dACTh7ezD4nlBgNL9rgZgQhYDYl/cgqtQQHDzn96qVRBKDnySq0PkPE -rsYLa+nMGZmaFM6Yn4HqHQIDAQABo4ICUDCCAkwwHQYDVR0lBBYwFAYIKwYBBQUH -AwIGCCsGAQUFBwMBMIIB6QYDVR0RBIIB4DCCAdyCCWxvY2FsaG9zdIIJMTI3LjAu -MC4xggx6YWFzLXNlcnZpY2WCDnphYXMtc2VydmljZS0yghRhcGktY2F0YWxvZy1z -ZXJ2aWNlc4IWYXBpLWNhdGFsb2ctc2VydmljZXMtMoIPY2FjaGluZy1zZXJ2aWNl -ghFjYWNoaW5nLXNlcnZpY2UtMoIRZGlzY292ZXJ5LXNlcnZpY2WCE2Rpc2NvdmVy -eS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJsZS1jbGllbnSCFWRpc2NvdmVyYWJsZS1j -bGllbnQtMYIVZGlzY292ZXJhYmxlLWNsaWVudC0yghVkaXNjb3ZlcmFibGUtY2xp -ZW50LTOCFWRpc2NvdmVyYWJsZS1jbGllbnQtNIINbW9jay1zZXJ2aWNlc4IPbW9j -ay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXByb3h5gg9nYXRld2F5LXNlcnZpY2WCEWdh -dGV3YXktc2VydmljZS0yghdjZW50cmFsLWdhdGV3YXktc2VydmljZYIZY2VudHJh -bC1nYXRld2F5LXNlcnZpY2UtMoIFYXBpbWyCB2FwaW1sLTKCEW5vZGVqcy1zYW1w -bGUtYXBwghFweXRob24tc2FtcGxlLWFwcDAdBgNVHQ4EFgQUYXbKgGVXo42/0hJQ -c92AP0zsjecwHwYDVR0jBBgwFoAUJGkuNtjHnz0uLUR9YrAaZDGIsDYwDQYJKoZI -hvcNAQELBQADggEBAE54QEacJHA5Ip5cKpIawZSlaAuWziyOGU4QPYu+/wa1UXTB -zrNSMRUjKPfpnRmFVXKS4wNYLNjV7ILAjbPm88FnyN99woEUX9aCBmO3cnELk6X0 -wWSQLblhplya6mOBhvjtwH0xdPHdEOHPY6UhYCYtH3QNEgcng3LcHQxW7AlcNW47 -GVf6MwbMRkez6MPZJQynkLfV1fx524G4T5KCXeSZexm3vN9bpBY1SmMT8cNxw1zW -OHj7qWdv1M4bc8p6DkE1XrBqx4TDm1IEsZig8hB3bQ2kxgNQIbwfxmRBkwutj72N -yjiYSIRdHauaLv0YFMy5WnMypQIQBp16BK89UbE= +cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNjAxMTkxNzExMzJaFw0zMTAxMTgxNzEx +MzJaMF0xEDAOBgNVBAgMB0N6ZWNoaWExDzANBgNVBAcMBlByYWd1ZTERMA8GA1UE +CgwIQnJvYWRjb20xDDAKBgNVBAsMA01TRDEXMBUGA1UEAwwOWm93ZSBDb21wb25l +bnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDd0gn01UWKY9kQksvC +2Gm3Ynh5JD8QEZyVWahzza7dn/e7wW+v9erXdcDY2GEwMyDflJ33ZJSil7Q8zQZ1 +NOIZxoJmHtehKexnpEq6Q3D5TZ99339ntj1zHkCimYnfd+BEG5umUAeKufALv1YQ +l+PXI9V1UnSeZtHhqxT47weAXOqvXrD1iMywIG9E1kI1ngjxVT8AYn2clqYpFlo2 +IzjcnZZEz+637+Rk0wd6U7H6kvrw7YskvZNEo5DOJLGnn3vXnQFSJhzOsf36xrlz +aOWZfpX4rdwluPT2CZqim+wdlT6rNjz599+VXpyUulzJY46moNWOdWzUl64v9lfW +Vx8FAgMBAAGjggJsMIICaDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw +ggIFBgNVHREEggH8MIIB+IIJbG9jYWxob3N0ggkxMjcuMC4wLjGCDHphYXMtc2Vy +dmljZYIOemFhcy1zZXJ2aWNlLTKCFGFwaS1jYXRhbG9nLXNlcnZpY2VzghZhcGkt +Y2F0YWxvZy1zZXJ2aWNlcy0ygg9jYWNoaW5nLXNlcnZpY2WCEWNhY2hpbmctc2Vy +dmljZS0yghFjYWNoaW5nLXNlcnZpY2UtM4IRZGlzY292ZXJ5LXNlcnZpY2WCE2Rp +c2NvdmVyeS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJsZS1jbGllbnSCFWRpc2NvdmVy +YWJsZS1jbGllbnQtMYIVZGlzY292ZXJhYmxlLWNsaWVudC0yghVkaXNjb3ZlcmFi +bGUtY2xpZW50LTOCFWRpc2NvdmVyYWJsZS1jbGllbnQtNIINbW9jay1zZXJ2aWNl +c4IPbW9jay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXByb3h5gg9nYXRld2F5LXNlcnZp +Y2WCEWdhdGV3YXktc2VydmljZS0yghdjZW50cmFsLWdhdGV3YXktc2VydmljZYIZ +Y2VudHJhbC1nYXRld2F5LXNlcnZpY2UtMoIFYXBpbWyCB2FwaW1sLTKCB2FwaW1s +LTOCEW5vZGVqcy1zYW1wbGUtYXBwghFweXRob24tc2FtcGxlLWFwcDAdBgNVHQ4E +FgQUmDwga89vzjaWqj22+540zJo8bEkwHwYDVR0jBBgwFoAUJGkuNtjHnz0uLUR9 +YrAaZDGIsDYwDQYJKoZIhvcNAQELBQADggEBACthCfPGmlG5/kaM1t6FCcZvX5RZ +XF7lS15700ziHD6UnOoRUISOxVh5asJltMEacw1hOPtPCqme0CK0qfItLVY86Suy +1Vp5/vsLDWnFAi0DV2yNrhBJ2Twrsz85YnIeta8zPpQ/VztJgLBXqMcPdDz1vKhI +FZ1Por6vU5cLJTeDOJjx5sy/NQWt/pb4wPDnHQLxDSaFljZuHWm5QZ0Djastgrzd +FuKDcY3dRyqqXsWCXsJT5W/z6u16VcWBfj1blWB/tmhwLPUhi3XxUidqz8TUopEV +MzV+RVat5rFOecBpdz1tqLu/kfMvToIZcETzdUtSHPr9xYlGm+ymm56tTY4= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIES2Kd2TANBgkqhkiG9w0BAQsFADCBnjELMAkGA1UEBhMC diff --git a/keystore/docker/all-services.ext b/keystore/docker/all-services.ext index 61365c56b6..b349788987 100644 --- a/keystore/docker/all-services.ext +++ b/keystore/docker/all-services.ext @@ -1,7 +1,21 @@ +[ req ] +default_bits = 2048 +prompt = no +default_md = sha256 +distinguished_name = dn + [ v3_req ] extendedKeyUsage = clientAuth, serverAuth subjectAltName = @alt_names +[ dn ] +CN = "CZ" +ST = "Czechia" +L = "Prague" +O = "Broadcom" +OU = "MSD" +CN = "Zowe Component" + [alt_names] DNS.1 = localhost DNS.2 = 127.0.0.1 @@ -11,21 +25,23 @@ DNS.5 = api-catalog-services DNS.6 = api-catalog-services-2 DNS.7 = caching-service DNS.8 = caching-service-2 -DNS.9 = discovery-service -DNS.10 = discovery-service-2 -DNS.11 = discoverable-client -DNS.12 = discoverable-client-1 -DNS.13 = discoverable-client-2 -DNS.14 = discoverable-client-3 -DNS.15 = discoverable-client-4 -DNS.16 = mock-services -DNS.17 = mock-services-2 -DNS.18 = reverse-proxy -DNS.19 = gateway-service -DNS.20 = gateway-service-2 -DNS.21 = central-gateway-service -DNS.22 = central-gateway-service-2 -DNS.23 = apiml -DNS.24 = apiml-2 -DNS.25 = nodejs-sample-app -DNS.26 = python-sample-app +DNS.9 = caching-service-3 +DNS.10 = discovery-service +DNS.11 = discovery-service-2 +DNS.12 = discoverable-client +DNS.13 = discoverable-client-1 +DNS.14 = discoverable-client-2 +DNS.15 = discoverable-client-3 +DNS.16 = discoverable-client-4 +DNS.17 = mock-services +DNS.18 = mock-services-2 +DNS.19 = reverse-proxy +DNS.20 = gateway-service +DNS.21 = gateway-service-2 +DNS.22 = central-gateway-service +DNS.23 = central-gateway-service-2 +DNS.24 = apiml +DNS.25 = apiml-2 +DNS.26 = apiml-3 +DNS.27 = nodejs-sample-app +DNS.28 = python-sample-app diff --git a/keystore/docker/all-services.keystore.cer b/keystore/docker/all-services.keystore.cer index be8f152bbd..9a277cc886 100644 --- a/keystore/docker/all-services.keystore.cer +++ b/keystore/docker/all-services.keystore.cer @@ -1,33 +1,34 @@ -----BEGIN CERTIFICATE----- -MIIFyzCCBLOgAwIBAgIUWszhJSujS7+1dFZJ1ZIubEeqe6owDQYJKoZIhvcNAQEL +MIIF+DCCBOCgAwIBAgIUOx5abqiQCp175z+0GmEJDu29yKUwDQYJKoZIhvcNAQEL BQAwgZ4xCzAJBgNVBAYTAkNaMQ8wDQYDVQQIEwZQcmFndWUxDzANBgNVBAcTBlBy YWd1ZTEUMBIGA1UEChMLWm93ZSBTYW1wbGUxHDAaBgNVBAsTE0FQSSBNZWRpYXRp b24gTGF5ZXIxOTA3BgNVBAMTMFpvd2UgRGV2ZWxvcG1lbnQgSW5zdGFuY2VzIENl -cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNDA2MDMxMTAyMTFaFw0yOTA2MDIxMTAy -MTFaMHUxCzAJBgNVBAYTAkNaMQ8wDQYDVQQIDAZQcmFndWUxDzANBgNVBAcMBlBy -YWd1ZTENMAsGA1UECgwEWm93ZTEcMBoGA1UECwwTQVBJIE1lZGlhdGlvbiBMYXll -cjEXMBUGA1UEAwwOWm93ZSBDb21wb25lbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQCswORHZzaQrSpbYgUAroqPam0kXRDo/MTkvWzBXi3VFtgOLFKI -fre/CTLK5rjy2Xaml3G6FpxUq/nWhNn90FiiCMyP+jxK0/gDLQaJ7tAXQQZVRIuY -mtefof3z/rxtc8tna0PCqY/28ym9+G28jOct3Qu61UiQ39jgL1+QJDT0Xr8bFpCk -9ILPe+VyGZkPsSFdtAHY8X/1AKWtcvHgTFW8fLKolYwNvD8FE7vZx7PTk24DMLR1 -vjw7x9gMZkVTgJCz0vAiNWKnq4PtFG1iW32icEdCXtSg2e7Z/ZXyLm7naoPcZCCs -vfi5JS0na9x8RJA+BXOrsNPN0xWBzM6BsotzAgMBAAGjggInMIICIzALBgNVHQ8E -BAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMIIBswYDVR0RBIIB -qjCCAaaCCWxvY2FsaG9zdIIJMTI3LjAuMC4xggx6YWFzLXNlcnZpY2WCDnphYXMt -c2VydmljZS0yghRhcGktY2F0YWxvZy1zZXJ2aWNlc4IWYXBpLWNhdGFsb2ctc2Vy -dmljZXMtMoIPY2FjaGluZy1zZXJ2aWNlghFjYWNoaW5nLXNlcnZpY2UtMoIRZGlz -Y292ZXJ5LXNlcnZpY2WCE2Rpc2NvdmVyeS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJs -ZS1jbGllbnSCFWRpc2NvdmVyYWJsZS1jbGllbnQtMYIVZGlzY292ZXJhYmxlLWNs -aWVudC0yghVkaXNjb3ZlcmFibGUtY2xpZW50LTOCFWRpc2NvdmVyYWJsZS1jbGll -bnQtNIINbW9jay1zZXJ2aWNlc4IPbW9jay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXBy -b3h5gg9nYXRld2F5LXNlcnZpY2WCEWdhdGV3YXktc2VydmljZS0yghdjZW50cmFs -LWdhdGV3YXktc2VydmljZYIZY2VudHJhbC1nYXRld2F5LXNlcnZpY2UtMjAdBgNV -HQ4EFgQU1wBA3t4PJzcR5ewd7lJW3ROMzmgwHwYDVR0jBBgwFoAUJGkuNtjHnz0u -LUR9YrAaZDGIsDYwDQYJKoZIhvcNAQELBQADggEBAEIq3+WycH0DG0dfzjLkEiO2 -x79+cWfkOM+sPaNYtTQfTEapFgVFhIohs2pmdAAcC4St7DPIoobwaU3ZoejrVqLo -RhDnxMdNirNBmVdXgwolQv5j/ArKAtDW0NbIzsHIvU/C+LIxlO/RS9oHJYzXrqL1 -Vd62+nJPrqQHHe3RpcH117Pl+h0qVFixQ3Up9nVeg4X0qP8txp9dfekUO1f7JTgy -PUW7uJg+B7AF6UzYmK8RZlEIvPMDVjWtSnJ1wv0DQVeeH+CXGvFl/3PMtu4RxnuH -OSsxe7tl16GVLEJxFXWbCDVTkRMdSD7HgXKa44usIW/2GwpQW4KNfAXHQTU/1ms= +cnRpZmljYXRlIEF1dGhvcml0eTAeFw0yNjAxMTkxNzExMzJaFw0zMTAxMTgxNzEx +MzJaMF0xEDAOBgNVBAgMB0N6ZWNoaWExDzANBgNVBAcMBlByYWd1ZTERMA8GA1UE +CgwIQnJvYWRjb20xDDAKBgNVBAsMA01TRDEXMBUGA1UEAwwOWm93ZSBDb21wb25l +bnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDd0gn01UWKY9kQksvC +2Gm3Ynh5JD8QEZyVWahzza7dn/e7wW+v9erXdcDY2GEwMyDflJ33ZJSil7Q8zQZ1 +NOIZxoJmHtehKexnpEq6Q3D5TZ99339ntj1zHkCimYnfd+BEG5umUAeKufALv1YQ +l+PXI9V1UnSeZtHhqxT47weAXOqvXrD1iMywIG9E1kI1ngjxVT8AYn2clqYpFlo2 +IzjcnZZEz+637+Rk0wd6U7H6kvrw7YskvZNEo5DOJLGnn3vXnQFSJhzOsf36xrlz +aOWZfpX4rdwluPT2CZqim+wdlT6rNjz599+VXpyUulzJY46moNWOdWzUl64v9lfW +Vx8FAgMBAAGjggJsMIICaDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw +ggIFBgNVHREEggH8MIIB+IIJbG9jYWxob3N0ggkxMjcuMC4wLjGCDHphYXMtc2Vy +dmljZYIOemFhcy1zZXJ2aWNlLTKCFGFwaS1jYXRhbG9nLXNlcnZpY2VzghZhcGkt +Y2F0YWxvZy1zZXJ2aWNlcy0ygg9jYWNoaW5nLXNlcnZpY2WCEWNhY2hpbmctc2Vy +dmljZS0yghFjYWNoaW5nLXNlcnZpY2UtM4IRZGlzY292ZXJ5LXNlcnZpY2WCE2Rp +c2NvdmVyeS1zZXJ2aWNlLTKCE2Rpc2NvdmVyYWJsZS1jbGllbnSCFWRpc2NvdmVy +YWJsZS1jbGllbnQtMYIVZGlzY292ZXJhYmxlLWNsaWVudC0yghVkaXNjb3ZlcmFi +bGUtY2xpZW50LTOCFWRpc2NvdmVyYWJsZS1jbGllbnQtNIINbW9jay1zZXJ2aWNl +c4IPbW9jay1zZXJ2aWNlcy0ygg1yZXZlcnNlLXByb3h5gg9nYXRld2F5LXNlcnZp +Y2WCEWdhdGV3YXktc2VydmljZS0yghdjZW50cmFsLWdhdGV3YXktc2VydmljZYIZ +Y2VudHJhbC1nYXRld2F5LXNlcnZpY2UtMoIFYXBpbWyCB2FwaW1sLTKCB2FwaW1s +LTOCEW5vZGVqcy1zYW1wbGUtYXBwghFweXRob24tc2FtcGxlLWFwcDAdBgNVHQ4E +FgQUmDwga89vzjaWqj22+540zJo8bEkwHwYDVR0jBBgwFoAUJGkuNtjHnz0uLUR9 +YrAaZDGIsDYwDQYJKoZIhvcNAQELBQADggEBACthCfPGmlG5/kaM1t6FCcZvX5RZ +XF7lS15700ziHD6UnOoRUISOxVh5asJltMEacw1hOPtPCqme0CK0qfItLVY86Suy +1Vp5/vsLDWnFAi0DV2yNrhBJ2Twrsz85YnIeta8zPpQ/VztJgLBXqMcPdDz1vKhI +FZ1Por6vU5cLJTeDOJjx5sy/NQWt/pb4wPDnHQLxDSaFljZuHWm5QZ0Djastgrzd +FuKDcY3dRyqqXsWCXsJT5W/z6u16VcWBfj1blWB/tmhwLPUhi3XxUidqz8TUopEV +MzV+RVat5rFOecBpdz1tqLu/kfMvToIZcETzdUtSHPr9xYlGm+ymm56tTY4= -----END CERTIFICATE----- diff --git a/keystore/docker/all-services.keystore.key b/keystore/docker/all-services.keystore.key index 688344e66f..7eceaf86ad 100644 --- a/keystore/docker/all-services.keystore.key +++ b/keystore/docker/all-services.keystore.key @@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCr2SMrzj3Zg3lu -4BqDtK8u8eqD4st64sdRQTmhyDovGuL2nvp5GgSTkHCKcY+rxUtFNmYPWYa/+aIz -nYsqwjLXMxWHKvCJoWkjwNgpuD1dza7ZfTrQmCVbKU5LlusnkZ4PfBKxRVMbNX3H -WkeyOcSCzCfHhS4T/UoK9yvrhmARdhyxN93OvVT1fIGW4O5zrTbR38TGy/7JeUqh -/9NEzMNAS8j1kNbM1rUUDJlj6tpJGVy0v7qvEHGJZNk9ZIKawQNKOGy5CLPh0AJO -Ht7MPieUGA0v2uBmBCFgNiX9yCq1BAcPOf3qpVEEoOfJKrQ+Q8Suxgtr6cwZmZoU -zpifgeodAgMBAAECggEAD+btdsHEfmrIo2ZwfayMI3N2aJLlkm8G07GN9DcTj0VV -KE4ozmkGcGNGzsDYcyQ0JWj1w8jci8o9ZLpY5PGIg9pxzQq/rHS3xnuzZRTr9NCy -M+T/OstBdbCaUqtaAlTaxAMOtcG9AYEPLRHhHZBz60iaC7/6thXTsrURpt9N53+X -y7WhGcLetfudb95bbwwn8AURXZJYF78u6lgjNfXKvPORgV9dNdq8Xmae2FO+euY3 -KjM3Dz9qRvo0eAwmDxdlTEDRbC4WgXWf7g3F397stQM0Aa3/W4G6y41ir+Sv4u6E -/fqdgj7nQQczGoDnQMBbFXS14ljzeKXDXU8FTh1KzwKBgQDyAkWMz1GP32JOED9c -DQloSnceoNM4C/oWmQzjopJv6XM0C2P2oCs6q3ZyPeQxf+Vz729eXJcYl0PDSjuJ -DMlp2unrYBLqm/ff0WncEo6Ws1HZ8tXzhdgAkNnVo4Hesl/s5yvXWK62Ot079+j5 -oQT4QWP4DngyLk5j4z7uAsiMKwKBgQC1yH0OmfwTZb6KFYfJxGQQ4VJtxGNLKH6w -mp+VnFFi8p6ldvX0BsPTWGX6R0k3T8pPoEGN1uWZ7+SInEfu+Fh2I3dhikkQe+Rx -xsg4dM2Ipi/ArXP8XhxeuXHKRdPoyK/MYRn4hZPY/eDK4KSfdv7v+n0Do2W/QJM0 -i1TsJFmW1wKBgEB/Ln36eqg3RoG7fsdPiiRLRDfbcK9NMdd37qF0IEbHFrbWGkwO -H7dBHw4PRJOUnFgrhajGUFZzadHQJNG/oKYfe5wJPMFd08/IhcfrAilTnQrS1wZR -s2FjOUrgiqoJK9t9OIfp0JYsVe23glWU/jgTZUskwA/Pm4CvfYP9JemFAoGAfCDF -/EV7kodEP6gKC+WV6szha2DR6I1jTRaYaCHQlT9Uw2ni8tn3uAZBxFAPF7zdSdgF -S2R1bdMYe4wztmNQjIMVTr6Nu7rNuD9jkuF3Q5svOmN2stpUhv4cTGG4HNmE6YtY -n5Ie7eoWKJKS9uzbkmS6HtThcmIW4qdNut3rawsCgYBb92UuvwWP5fV0zNnlY76C -FeOkMFsptPmqhBz/8sLrZZ95C7raqSD0RSNDzxEnLx3EDokF3GBUuI7/68/aWXNt -4pKaTKZ/Y+SqaeV0vcgjCYYTTAJaSnarTFzcp8vMWzq/MWufv7Jf/oLOTuWPSy34 -DG3vyVXu7q8tL7F0/GJ96Q== +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDd0gn01UWKY9kQ +ksvC2Gm3Ynh5JD8QEZyVWahzza7dn/e7wW+v9erXdcDY2GEwMyDflJ33ZJSil7Q8 +zQZ1NOIZxoJmHtehKexnpEq6Q3D5TZ99339ntj1zHkCimYnfd+BEG5umUAeKufAL +v1YQl+PXI9V1UnSeZtHhqxT47weAXOqvXrD1iMywIG9E1kI1ngjxVT8AYn2clqYp +Flo2IzjcnZZEz+637+Rk0wd6U7H6kvrw7YskvZNEo5DOJLGnn3vXnQFSJhzOsf36 +xrlzaOWZfpX4rdwluPT2CZqim+wdlT6rNjz599+VXpyUulzJY46moNWOdWzUl64v +9lfWVx8FAgMBAAECggEABfgGa4+nmOM57o+8qugO5C/ipQPcLI8EwyIP/dm9iFor +HOLGIhqAcL7K6yrbZqQhkNKbc5JBy6RAZdhwgYvkP6RPUvcmf0A1C87ocd2ptxOn +JIh0kbJeMfBQ9e8iviAoKT0C8bU6lrmNI4vJAZZMu7fLoSYQXEjRAf0MCezIq2QH +2yahjvF+zDNVW+1ffWuncHXoWbv0F/9PFxqyIBQCuJBtRqiFS2ysooOALcG6pmlt +Y6KOZs/3IodQrT+Z7B5v2yITAeF2kmIcNhdnUuauAmaYuO7fEoOTz8NXikFRBqQE +jgE0pOgN+CwVShl+q2tASg7vRS6y/3kbh87ZfC2XawKBgQDx52R7BDtlYNRKyQ83 +iF1s8g5SplzuF67mkEmSOL75V3WY1NvJgV07ZTENR7mlO7Rfeh0CnR/MMRuJDYP5 +Di6e++eUCALk6DzqVB5EXbcM4NUwpn2WxkMHYDdV5EvCblLamIJqvFCHSk1yw95f +bzytv/2IidKA1U5GH+jk0FU+HwKBgQDqvw0ycqMpXjsBGQfxYBNpGZMEgE0nAcMU +0mOl1ggrZ2AxP8nDhkYBA619dnrs3Hjf+S5zSDK5uM9ZeLr4qHxoNRGDptSLnFLg +YNELJFsfel7DPTLPg82PnQ6vpNt7M5JZU9gXUtGtw1RO4ROfJut5tzVvZ8oEk+vY +uULBViC2WwKBgQDMpVgBJjRlcIRIfE3OSiPXbfOmAi3uEsUZMwm6lR0i7dWDpNgH +YdSQ0eusc3hfi+HtP+5Y7roe0ZCc4n06bsAMKcnhFuHz63DVQLKWXb3lPDO/Q6pN +qo68J67IkClzZEfdvFXgnE14FujsZT2z+PQZfamsIASgj1P3yTkKkiD7OwKBgGOw +BHOy+RUdPiNmNNhNO5D7WlKkBZ+WAPk7qzOGo+uCt/fSJeWRhPLzU96ezO7/ZZl/ +oTk1pMz37Z4KRiRIsKQ0PR7SXxp2pT9B/iQkKUpB1jJFL+muCEJ/qPfwI4C7Ut/6 +Wh71fbOz6n6g2ItSpNcIdXm88q5k/tgHPJEL+VJXAoGAWs86OwhJv7dG+KSgg/TW +kkEZ4sg2+7oawTXkjLBlIQLrx/K4WSc1+w7uMmsWze+UR+bjGmN/UEN++5WbSm9X +/NShbt4v+VQxbu7U0YND0XfGrMRH2j3Fe3jsso7WiKrTqD2C4PaUlnDFnp93GzTA +/dYTemS8mT8sJDnmKCyiHLM= -----END PRIVATE KEY----- diff --git a/keystore/docker/all-services.keystore.p12 b/keystore/docker/all-services.keystore.p12 index 0bc51859d28079ac1c12d55e30f9e94c0f407c11..a2f9e1c3495473fb4ef549c77f16cc4081375e31 100644 GIT binary patch delta 5677 zcmV+|7SieYEy*n+FoG7v0s#Xsf);NE2`Yw2hW8Bt2LYgh7GMN|7F;lb7FdxYR1kd^ zRfHe4T?uEkLU&ty20@XAA%70O8~Ru${UhW;N-_w9vuFf@1kis$s@2Us@zAk*z0GM8 zI2c;#T?ah1U$n$@`A8*tI$CmPWHxiKw-u3VBD2;NMV_lPF$|=QxHd`n4nQ}{M<-)1HxA^(Wd%pHz?QnA&+DL9goed= z&~$nEGL#XJ;l#DD<5k3nis^6zqC-z61YUJPRGP5jkIbJ-O73gVuJFh2+hAI}3)?u_ zDe%#~1oobP!&2HdYgo>qMDan%b&QTS2w194JJzCvcP}LJn}4V`0G=o#dF1Y53tc9e zzuXSfQLQfVeKo2o3hdKcP8%V4Hnv-xQw{(m%@=)Lokbd{Q(9}pv}4%H1K$Ic*pll- zs!Rf@`>AY5N-g+KI-DNwNF(3A-BHoG$#WJIld+`5YH~cN=*IuLIAc$+GL?^c(g(+? z#-DnVec_x4$A4(Y-(%3+sE9nKKtgAnN;(f|N$B!qrZGYTrD%tYReMw?@1z%WsOH-6 zm4ZEe#PZR2Ay6z0nj*H&bk`7j{55^0G%i}H<~4vqWZW~Z86UwHfT{w_Zq$_4XlS&qa zg;evAgiyo3@qynEPVkpTWKqzZedX><}$2gAq^%W_w-ZezO-pRQ2*nMxME?8f1x0A7CPQ&{|3-BOvK#6R{jF z#($|-5FmOJOQ~@yPu9Sls9hBDwL=v_I$m#l8GqCvDCjk7?}xFraUbn|hQi}NrJL4c z(d3n2rd0g~GVi;E7VLspaV`2no>Bt3zS9*G$(?RqL{e9Js)al2v`f5wCL(R+^3!xI zXr;ggbEl(922^D!OO#5Xt!Y)WYf^Eg zh(!U>q(o=FNi;&icw?fgX3yi0{v^eZ%{>=SeXu3-Im$JAg2P5TOPMDuzgg_YDCD2B3lvk}!f0jsgJyFoF<= zlk){D8^%M>x^z$k18wDi2!YyMbml1!VW zfPxSZqmqmcNZJn!g}IUL7Cxfp)9U+&Ah&_%qDlLD_1tO^mZ~M)!|y+YS*F|jE)7e$ z#Yepk!=Uqg=6^LOMA8Q~O49JK?RNz!Ln(S$!rvoc6nJ}dkm?y*rrYPvZA;qF%{~!8 z>(^$FVD0aJ&5$+{8aXngDGxak$cyRZ!T2evLr3pi7+jJY#n4x$QpJ^j5;eA2q zLQ^?NW70svUf5$VeQ5dvma=c`wH z)tYurI>^0c)K7xR;IVbVVQEV;ZmH1${v#%Rr5=laumjGkKe&J~!5SBA_ zq$1+q#lAEJpFdkONE1g9poLJy!}CoOpVpr-w%A}x1We-;)ZH(99zq&+F*0af69uH` z87Z@lu0q|Lr6&-O<+@wVDtI=ATZp_b(?0>>1mlpq2wA?~dPO6M_4}s)ix1ai#?e^S z6ON{T5+Nc0h2l)t0Y{KM-S@T9R)0|lLfPK@pxiM zxqA{z$@85|o{u4LO~EZR{Wgz@CPrmzT`_B9vD57BJ3 zq_9dx+JwYFp7c1oli#IiJXDQ#wgAX0HNT~qLtyW1lO!F=rnfIr`2r?wd9z^>K3v6} zZ5A*+GKBF$_8mb{5=<_D>#XtrjG*MD;3Csg$j>J9Sb5p^k|YfTk6eyc{DmHgewlF`ae{3T5pu>U_IZNtKJ;PKtos;UUa3_f6TI zG@z2b&i|gL?n~c)D6RZ!VN6UZqR8*JB|0U})HsA9!k?o+a!jh zznhb-wg5o%anR+&($JU^ku9c`gk7Jg=o9iEofdKk@Gf~MS>oqjpJveH(tJ|WeP6zN z(n(FW=bdP2`+)0~{{|a?Qrh`<9{&@+0BFfVagd>@Am6NkO_nl;lNm+4A$Qe(ZXDR5 zgxP<)>4LY){e@-S`%tO=E{^d6pApe z2ZYb)&K~#oH6@;ki41lKKlJ5){~BHRl@qc^qYb$bD8rq~P^?v5=hXq+jG#H2T=om) z&sw{BTq@YYn7-tD9TugH6f%H5x{JwLR$P19Mx%;;pr(|I*`-!4r~ITv#)#=mu-d+d zv{`qMwLrDCt~-CYW!&_@n$u6SwyJV8+|~@uN*L}8+JBA8KM@A6>SQ*5=!?o2jTWvPufR-5q?LyhZ=p)tr&L8vg{h{F@nAPFb1zGO!c~$jBh|E+I4VI| zCg9er)^Vyhfto@+Yi`x2Fk)So-$^<&Q%g}dR%!o%nELGgH!+FP-tGHlxr~;ybp={LG9ZKWYvuGvmxgXmBS?g{GiyX)gx9v z<=W z+W{V%GyrH+yG~R}SYXyVuyC%3-szI?(ZJ!H^HNTZoc9`kMAZUkrkM7`PL9ygcKWbR8hL9Yjx^SfxEY`_TKFO6bhfD;JeY6h7$31Vk#$%Af5d{qnbygZ;kEs}1q?M=^@1{%fURaO9r zB!AX`a#55ehV{TU-_M1PdVqckg;OSPv{vReqJ4UQy9XvM{(rq~Fd(NlF14tedf4m? zVUOAdlhldA*>nQGJ=MTScQcdICKtx$rJJPWMvsQRrPJ`~io9Z^=7LV=Z%skHCeJ<^c*eH;0PxE0= z>)n9o@N~Wl{glAnbwsN39~G>oB1q?irQ4-rXbF2h|1fkxXdBj63)1I-rTozaJ`ivH z)1V(9kTh@dV)7-=_4r!^+%kXh85@Us8WDGYMrjy%hk=GX&2ky}gPU5)HKl7pLtbEC zw4nkf4It+(o$W_Gx+eK$P%48S&2<}UMy6-oI%w)7+D3xZ%nNXvrk$u)&*G~9&r^~H z25mlDS1B8jTPze<^KsozY6+yFrr;~_!k{Lu%05wwb- zg0ZL0r5L@Noxo4^h;33V3`BoymQMd0AOs}vO>Lx zJo!!D1zx^VwrMC?(Y13(mA{C8tBKTV&O%CdziR-ASFb-&RSQ0n3j}%}KsE!@9l=g( zUb^2{Cktl^joD$$*qE#HSV1mvAt=maM?na@j-V_)7oYAWf*EdD=@mPcfMy|gewm-% zEcHx)rkp}g4kEsB5ga61BDzU3;{m*S`@YG{j9^V1Pf^~R*)sFI`A_hFF{YP(SSbn@ zuN5aW#gA{oBte&*RF_>LxtafHm~skD(zx&>W~V&A0k8DtBFvQ-yJcgv9_(wBFf31q zx9bt%Hp4cNT|4lY*{M^S?&OfZ^~??2gKPZ6;)TX*6UEkDqhv6BqJ|dn=ga91B2%D? z#z&x9Awjr2WXfw&H7Z_zW_g2^`A{f74SD$(bgj4gnu07VK59{NLTFD5j4MTYXa#v6 zPt9k3M;^Q=wAkd_2n9vW<}vqW5u=3~;u`>f)-vl#(E}(8@|#rPjGU$33ocFYJZb0G zXzF{Ho3VeX{5Yuam)RU=MS5pcFw^ zkU09O9!l_F^x2_WfCTXV8};R4(}l@kM_{CuU&DO}%FSnGK0{(y5d5CT(aPBRA_-1S zuF_Rnp7^VO^V|4;L_K^i*Kej)U(5>2iZ~9|vw=^bbM%fo*R(5b)h2DF5sc5<6QWH( z8ga7h3g*!|iAwr@uf0T514-JpgA0RUp~}(U|9>`me%(JDI3@z<;!R;Wm=**xFNNRb zLe9aG{0%X7_eha?(Re2B>~T?>Bzikv<}_}`b*VRVw~Q)(Io~?$XoBdN@>V1Iv_R## z_=SZ$n3s%`6D;Ql(L9x5`i8Q_N2JWVf1vrPz=)e4V5HDi|rarnzk7#rM6XH&w{!@cM z=X{82;2a$eIZ!aEGcEi)QQzv_c9GSQLg0e+Le9^hf6=tHLjSi(P=RoD$jEe65tJrh zw4r!taQ9_u_z8u|OkVI&6`2NAOz4@;p8Q#;lB5RFu$I)eWtC4+wv(WYgo1r>(VMXHLhtw{&dq{)0X8O!v zDLm&fxN~Wml3hk#!E`E+nKqcppOzmu7(cKn?da&$tJ;^r#`={7(IF^Wgz1d-TtnOGIBSgkZ35G5_FIc&1A?fA?>@PejJKgd$xHcmGuGdDWb&0wlRY!(PvXdI9 z|IWmjaYI4UAtEoSdgbINV=&d{R9U9RKQ4_-c2amc=eVZ^{lMd#Qc3*06JD(b4ywqcDy-@{oK zmU=n^G)*rLA`b-l*3ZO8<)M_YXYtn0D24!va#x#5>09WlR7q{5Ke|)ZH+>drf|o|o zlx3eO8nCXq8Ik-T^nc}9I)Axb4(qZbhJmrSd9CI=b*B6Itv)g7YB7lE4ecK{k=#=D zZI#&E1#eMN3(xk08^jtO7Q51Zml=*M9}$0@K3Sgs8~#Acff!|yReamGLm-WlAp{FV!@19Ldg`oPg8`^i%!G*^_)h#r@PJby#=$No(thn=*t!xCk z^U@7{a|TSNCv$G8YbWx@8VnCeX1L5-d#v3%%-4Z*rgX~x9v$I16%D=0;c?!(mg_;( zHkZk15FFU_F$`F~4=^N!EIj)3(}A7N5qL~UTyleHUm%UumKvp@PiFitMdDtz=|%lz+Rt>$cYG&ZX)R@QD7WHwf$Pv4EDj zXdHNB{Xx_1pKMSTm1k!8Lb@~ArXtP5Uso&0vUGG?L9NzCUEFnEHO5QOO+TeCv7NZ| z;Wrpu5`WThz(Sy5e`PSb1ii5O)nvMJNhoUwKaf|l-xMin-G_2T^n`8NWj>9tXg)j6 zz*&%OBM8GZ+TbL1Sm2%ue_K9H9bC@cMkNML{hJv$5Dq(m^!lPwz<$#2`Vc3j?CP71 z=wKbcp197}n_k2^IRO&S8#)+$`9ypP4Q^_3X@5O9VsD!m{IkYkxa+QbV?reHv(?8Mi#5&IX97oo}JMg!CuJ?=eqa_^IC zVK`_f#5AA}yG#F=dPfWaectw@GJ+3U28{ed-}=gny^;C_9FUk=4Ip$j)F3wVwcP+MiZ1fJSZ<%PUP0I7ZQp7KS8T5LIg(a&oXj^Usc#ATz?{ z%lR@*hFb_XWyvl&>7lI9HY!neDf;9uHrDGn$) z=lpxzsOcLK*m>>+Ajkh8n3(ob13rzA!e0ahaf~Y^y<|$!;5~d)jg+xoL4%)u)A)@X zUJT56K7BF!l8WrLoIYJMO42<6p7k@oz(aYTE9o9FNH8G=2`Yw2hW8Bt2^29D9+RB~ zBr?L%mWqp@)8>XAMChtZC}?wgLhO00IFZk%}FER~;plJQux=lx+e8LV4O0 zfPxTEbTQDC_##{qx{j6JBjkS+sN|Diy=c@`YifFFZ29k9)sAo|CV(`4Wq%Nw{@X)E z{p+S$ZP=jEqPH+UFBs1g*twS2^%}V?>EIv2F;u{0va=G?LxF=Ww2Dr05SOYm$)oc# z4uy3lG3i!+ab40l+1LCOcTAEy&|&wFkPvEJndk#JwZ43jU0pfL5>uv)&!0*S{p||J z3lXKbRo+LOpu#BtmHsZqK<7&?)9BOQWK~=ib?yaz6Yl=b@H$g}JdporTc7U;x>+lj zJC~<H906wRu|eR2H(!O|6SyhMnET74U_>jhu-_@KJl>XE_gsN<5Bq zWo=pchj;%xL3juvF#ul^A_er96U%k=XjS=tf9mXk6p58SEm0He&U*TqXl@n&tb6!t zY$omXgk8D=u-S+-zh!__&o=6=O^=fj5$XE`j2}3(3PkZV9apbtlrE{+T*%dJqy9eV zlVWq;uQu2QqJ;e%pRYD&cZWTg{Q*HRHoJOdSJ$W^lv(Y_FKrs1`I|Nhk3TYz;Q35{ z%9qBp`L;{#_HJo&;L$|2U##|x#XPuw4|A|Nrr_B*A@ZO}l+73tC*(wtK6y5Ii4A0b z0^+#EaAh-qebB_$4fa{2nKeb&U}gAs%$tz>6+s-&4w)V?*)^HuScB`5VJU;`UnAu*K*wl5p!dIi2&ob zSwEp~BD=}&MeiaMsqjb@wB@IrLM~!&W=-i)ila> z_V%zRA_cmlrl$a6K6(Ba-*do!oWBYIrf7xuZy@E+_6=_A*TndZdiZL#mt{ejJNp_` zA^Z^upb`q$uf{l|_jJ(M!C*R*P(ZR1#o3NhN1RF@z<3<2EzY4%K&qpm$sH*u!+Kj&RrKU=Muh}e|nC!@h z22e#__g5u>E5BZ;?fP)iDC88p{(r^n#m6hHTQVB!JR)8N$on^T|5(FWO!obdDMkM` zLqt|9gKI3BxnZ7!bJ5JR<$%=A%xk||NvK%HQXNG%kBQwpBz+9X&j3^s*wP7=?i6w* z?cC?yh;8~Yc8X1T*YXp8X1^}nA=n@|yJWbd$P(%zIF8gZaAc4XS*%z7)$XbUch2Rq zMIpq|vZGf|8xb-fH!33ZQuz4^iy_0LFNu)pw2qN|z~w66=G)8*>mOkt&6;AjBh_&C zTHdZn(!lm8cRa&dmi@2u_a~on%Dvw#U4AmWl6>nLysMTBP&tEtDj^PcHgf;MMND!2 zZF2e;G4-84w4YLDD#HI=NKIdi+rGPyIrm4^7BS)l@CW%8kO~9c;-1Oz`K0X&(33j@ zXk}PGl7bI4Mm*#_773vrN?q8QrUctS8ilCC-JJurPGdva9naG#7-@g1r&Yr)d#`X& zy_$Y_EG6W#y&58aSA3Gv2B%F6qfs(%DoPdOc>cS5JHkp9G*1A_b*+QpO%k$B$39ss zH>h(1T%6uY_+ngYv;bi6t&6CiFwX5q+&hY6ws1hl%sHlU@38d|r0oV&CqK3u41D=J zmMb(R+Mna0sJVn{gA)V&axqz+-2%OFw5Uy}J(*Vp#U^WiA|`n)rh5oIcA&S#s94=) zKI7*?s!p7W6+=~vWz&vdF?;Y(egH!BNXhk^gi>G_WPeU)4g5ffFTSS+yzHo83CLT+ zslHZ~*0>h-@Eck-m0L$jdjrdie~{l&+GBt|@}s2hFV!k3+6o1~_CkUG7*7{6`N-f0 zAv~uRK2NWIxi6dFb56rIy7HAn#jEmxCY)jQ+taY=$p?LdcjqRsK zvmRs9#82?t$3QBNY!*)uIKse7e#4tWjvifRo~IRmpPqbNPV}JxG=!BPDu!jgB1G?e z*TUu|Z&V?giPLQqF`J76o5K57-?WWt^4&H;4L%V849}Zln4kcXh&*b(fp)A9PBc|F zqUWZ6eXDbB3(vOK#^c6a2(+3aI_3iMX#Rnd2@e~N|5hkdqB_R(mytJOS)?t4b>Vzq zF437zBP=u#6MDO|#KqZvNBPSEl(@ONlF9>JmEX4N^_QP?Mzk4M zlCZ8~X(~)PW4=AlPVO9@famdJ3u(jdua$13vZh5oBHjQEMn-{INd4cT5=dr$7NT`@ z53@(S1G0{FkcLE|5a3Ew0Ud>_7JsAx)OZFEhd&luj=5s$40+~9reSrz20ei78YYB) z@P}$l-z@P=(~1(|Ov%kRK}ft@!V{fM^%t|Yamn-L7%9&~g7s5Q1{N>gb;$G1}~%NdTUv0|tU?97&nMWLD< zY)`Kk2)%2&{OD_}NQ}$lWUS%4QwbS=Y_Gb*=Ukcw2^S?8;*ftfv0*7XILlepJ%@Vn z8f5HXYmrF53DWTBB55a++i$nU9?d#a-M*HR6 zoLUhfNr&KW_u|7}=+qs1QX=p;$NQsGw_#Q^Lq%E;Un;vW&2mecSlk`Hynwe&bd__x z)jn%QVqZA4Ya9lorQDSZr*wONS%(RLZCU`hqt0s#q*(5Xid|A{k@8LDC6SrEToY*r z8tV*paubb{pcfhpT^Y?n)=^;aWy{rH5HTuYx_3rgw`L>bS5oBthjH@*0M^c4s;-ig zfgmbDvoM1=sh`LKgD?=vT&8&WKea>tJs@WNlpibA za-Z|r=Y@w^bmnJn*{Vo?edryi>^~0=SxbUkH&*M}iH<3R9vAnK`Y6VdIW*Xs_m1dc z7Jj)MkP~r*yPoq}LmEM;@ZablhHY52N1ErSr=WcShANmmZWC^j&c;+~o)998*OJ8a z40OD}ybnQWnykLZE1qC9wrmHg%qk1>m4|VFure(yJTkFN20q7sdAaoG*+?v~9lyHp zC`Gcjs~qb|C#vc^Sb%6gA-tKub6tOi42Mi$%RnYIbVWAv9HFO#nncdJirxN4=ud`F z!O6iG=~{<18-Cz){K8JGuc3LhWPfz{Nq<#!|ll zb{IPa%Y>7}nT~Llyx!c~=;!6P9<%k+Fn(m0L00l@BDOe*gb90@IJ^a^8t}}*eULrW zjjr{4K#{_W^Nvf{Bg%nOw}}vK*oNeqUea7VIsF z=ur&4&Aft$JB#NiMhf~y0y7R2;ypq|7jp%?aYvjk(w#Gr8aW47a z)_4frD?s3La4HBjzPEgyY!g#XNG}90i$X|a@od8%1Utpj{^E$wj!Lb>Aa9of`k;jE zpO^0gxKQWW||8-5iD7!UiZ71(y*q!0MNzb z>q-fyaS8aiNw=2Lw5a10iM8NgSGywDjKbf%gv4LL8i^S$MD>OG-4QCKM4Tz^f-{V{ zi!Ps>)%md`r+j}ZmoYwLdpYM|5>3}}8MU$VR?>)nBXE`c99``aZaGYzdKMt@Uui+- z0HIFdfxv0uhGP|#usEklmbef|-mghk_T_8ruFZZviuHdCON0uW&2Nrli6IyX2$~ki z5o33SUE@v=pTlTGT*cfY7A)F=Wt(0py}K^QG)QcS2Fg6$9JH|h)+$Dg!Pk$VWwo8e z)T%>&H=d`8-B`Z^7~69(GMiBj#30Yn2<%nU3#Iw71FGDEpmXJ|(LE8RawvT981Xlk zIu;N^oWSE(7WcmIgg)73js1How%9@wV_DmoEj5K6aY8!Mx@56FwNLD|R}Ah?S1pJmc%OpZ3h9cam3z@G$a!6+~>aZMJt9UC0z^_Q=l_(zuy>zPZuf;xx)eS8NrarFr4_~5VH%yg| zT3&)(@I`uCTld40Y0evbv=d*3*?%Z8Y(_gtmi-=BWy0M$)O%tOpAAKZ*F0-~ zHgQnuti4hKX9}anX`Tt$Y~pr#lPqIu#+X+%Hg15}BIl9X&KFg+y|TZToexkp z#c=9chXO+%tcI}*Epe7qIG^FtUmWX~RabgAuZ2&MV+88}nd@b|p~em$3@~Pu6oBrn zW!o}JA3jK4p<`?nnZT6QP8j^vJbj~o#bFX=v3k==l%-j)ibHNrv(WLyj0@%pa@}&Y z|CQ#BEwGu(0@x+xK9@*br&f4=N@~FbD=78_^{*zyJ1tlC;||_Q" + echo " 2. argument: " + exit -1 +fi + +PASSWORD=${1} +PASSWORD_CA=${2} + +echo "Generating key pair" +openssl genrsa -out localhost.key 2048 + +echo "Generating CSR" +openssl req -newkey rsa:2048 -nodes -keyout localhost.key -sha256 -out localhost.csr -outform PEM -config all-services.ext -extensions v3_req +rm all-services.keystore.key +cp localhost.key all-services.keystore.key + +echo "Export local CA keys" +keytool -exportcert -keystore ../local_ca/localca.keystore.p12 -alias localca -storepass ${PASSWORD_CA} -rfc -file local_ca.pem +openssl pkcs12 -in ../local_ca/localca.keystore.p12 -nodes -nocerts -out local_ca.key -legacy -password pass:${PASSWORD_CA} + +echo "Signing CSR" +openssl x509 -req -in localhost.csr -CA local_ca.pem -CAkey local_ca.key -CAcreateserial -out localhost.crt -days 1825 -sha256 -extfile all-services.ext -extensions v3_req +rm all-services.keystore.cer +cp localhost.crt all-services.keystore.cer +cat local_ca.pem >> localhost.crt +rm all-services.pem +cat localhost.key > all-services.pem +cat localhost.crt >> all-services.pem +rm all-services.cer +cp localhost.crt all-services.cer + +echo "Creating new keystore" +openssl pkcs12 -export -out all-services.keystore.p12 -in localhost.crt -inkey localhost.key -name localhost -macalg SHA256 -password pass:${PASSWORD} + +echo "Add local CA into keystore because of issue https://github.com/zowe/api-layer/issues/4420" +keytool -importcert -keystore all-services.keystore.p12 -alias local_ca -file local_ca.pem -noprompt -storepass ${PASSWORD} + +echo "Cleaning folder" +rm localhost.crt localhost.key local_ca.srl localhost.csr local_ca.key local_ca.pem + diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/cache/CachingServiceClient.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/cache/CachingServiceClient.java index 91339e0ff6..ebadf01a84 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/cache/CachingServiceClient.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/cache/CachingServiceClient.java @@ -17,10 +17,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; +import org.springframework.web.client.HttpStatusCodeException; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import org.zowe.apiml.product.gateway.GatewayClient; @@ -154,12 +152,18 @@ public KeyValue read(String key) throws CachingServiceClientException { ResponseEntity response = restTemplate.exchange(getGatewayAddress() + CACHING_API_PATH + "/" + key, HttpMethod.GET, new HttpEntity(null, defaultHeaders), KeyValue.class); if (response != null && response.hasBody()) { //NOSONAR tests return null return response.getBody(); - } else { - throw new CachingServiceClientException("Unable to read key: " + key + ", caused by response from caching service is null or has no body"); } } catch (RestClientException e) { - throw new CachingServiceClientException("Unable to read key: " + key + ", caused by: " + e.getMessage(), e); + if (!( + (e instanceof HttpStatusCodeException httpStatusCodeException) && + (httpStatusCodeException.getStatusCode() == HttpStatus.NOT_FOUND) + )) { + throw new CachingServiceClientException("Unable to read key: " + key + ", caused by: " + e.getMessage(), e); + } } + + // record not found + throw new CachingServiceClientException("Unable to read key: " + key + ", caused by response from caching service is null or has no body"); } /** diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProvider.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProvider.java index ebc0b574ae..117a0ada07 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProvider.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProvider.java @@ -50,8 +50,6 @@ public class ApimlAccessTokenProvider implements AccessTokenProvider { @Qualifier("oidcJwkMapper") private final ObjectMapper objectMapper; - private byte[] salt; - public void invalidateToken(String token) throws CachingServiceClientException, JsonProcessingException { String hashedValue = getHash(token); QueryResponse queryResponse = authenticationService.parseJwtWithSignature(token); @@ -65,7 +63,7 @@ public void invalidateToken(String token) throws CachingServiceClientException, } public void invalidateAllTokensForUser(String userId, long timestamp) throws CachingServiceClientException { - String hashedUserId = getHash(userId); + String hashedUserId = getHash(userId.trim().toUpperCase()); if (timestamp == 0) { timestamp = System.currentTimeMillis(); } @@ -83,10 +81,11 @@ public void invalidateAllTokensForService(String serviceId, long timestamp) thro } public boolean isInvalidated(String token) throws CachingServiceClientException { + byte[] salt = getSalt(); QueryResponse parsedToken = authenticationService.parseJwtWithSignature(token); - String hashedToken = getHash(token); - String hashedUserId = getHash(parsedToken.getUserId()); - List hashedServiceIds = parsedToken.getScopes().stream().map(this::getHash).toList(); + String hashedToken = getHash(token, salt); + String hashedUserId = getHash(parsedToken.getUserId().trim().toUpperCase(), salt); + List hashedServiceIds = parsedToken.getScopes().stream().map(scope -> getHash(scope, salt)).toList(); Map> cacheMap = cachingServiceClient.readAllMaps(); if (cacheMap != null && !cacheMap.isEmpty()) { @@ -147,16 +146,26 @@ public void evictNonRelevantTokensAndRules() { cachingServiceClient.evictRules(INVALID_SCOPES_KEY); } + private String getHash(String token, byte[] salt) throws CachingServiceClientException { + return getSecurePassword(token, salt); + } + public String getHash(String token) throws CachingServiceClientException { return getSecurePassword(token, getSalt()); } - private String initializeSalt() throws CachingServiceClientException, SecureTokenInitializationException { + String initializeSalt() throws CachingServiceClientException, SecureTokenInitializationException { String localSalt; try { CachingServiceClient.KeyValue keyValue = cachingServiceClient.read("salt"); localSalt = keyValue.getValue(); } catch (CachingServiceClientException | StorageException e) { + log.debug("Cannot read salt.", e); + if (e.getCause() != null) { + // it could be because of timeout for example + throw e; + } + // a null value was returned byte[] newSalt = generateSalt(); storeSalt(newSalt); localSalt = new String(newSalt); @@ -184,11 +193,7 @@ public boolean isValidForScopes(String jwtToken, String serviceId) { } public byte[] getSalt() throws CachingServiceClientException { - if (this.salt != null) { - return this.salt; - } - this.salt = initializeSalt().getBytes(); - return this.salt; + return initializeSalt().getBytes(); } private void storeSalt(byte[] salt) throws CachingServiceClientException { diff --git a/zaas-service/src/test/java/org/zowe/apiml/zaas/cache/CachingServiceClientTest.java b/zaas-service/src/test/java/org/zowe/apiml/zaas/cache/CachingServiceClientTest.java index 11d24333b6..8eec376769 100644 --- a/zaas-service/src/test/java/org/zowe/apiml/zaas/cache/CachingServiceClientTest.java +++ b/zaas-service/src/test/java/org/zowe/apiml/zaas/cache/CachingServiceClientTest.java @@ -16,17 +16,16 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpMethod; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import org.zowe.apiml.models.AccessTokenContainer; import org.zowe.apiml.product.gateway.GatewayClient; import org.zowe.apiml.product.instance.ServiceAddress; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; @@ -107,10 +106,35 @@ void readWithoutProblem() throws CachingServiceClientException { } @Test - void readWithExceptonFromRestTemplateThrowsDefined() { + void readWithExceptionFromRestTemplateThrowsDefined() { doThrow(new RestClientException("oops")).when(restTemplate).exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(String.class)); assertThrows(CachingServiceClientException.class, () -> underTest.read(keyToRead)); } + + @Test + void ioException() { + RestClientException ioException = new RestClientException("io"); + doThrow(ioException).when(restTemplate).exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(CachingServiceClient.KeyValue.class)); + CachingServiceClientException e = assertThrows(CachingServiceClientException.class, () -> underTest.read(keyToRead)); + assertSame(e.getCause(), ioException); + } + + @Test + void notFound() { + doThrow(HttpClientErrorException.create("record not found", HttpStatus.NOT_FOUND, "notFound", new HttpHeaders(), new byte[0], StandardCharsets.UTF_8)) + .when(restTemplate).exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(CachingServiceClient.KeyValue.class)); + CachingServiceClientException e = assertThrows(CachingServiceClientException.class, () -> underTest.read(keyToRead)); + assertNull(e.getCause()); + } + + @Test + void noAvailable() { + Exception responseException = HttpClientErrorException.create("service not available", HttpStatus.SERVICE_UNAVAILABLE, "503", new HttpHeaders(), new byte[0], StandardCharsets.UTF_8); + doThrow(responseException).when(restTemplate).exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(CachingServiceClient.KeyValue.class)); + CachingServiceClientException e = assertThrows(CachingServiceClientException.class, () -> underTest.read(keyToRead)); + assertSame(e.getCause(), responseException); + } + } @Nested diff --git a/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProviderTest.java b/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProviderTest.java index 3ee1a4e086..deb6b5502f 100644 --- a/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProviderTest.java +++ b/zaas-service/src/test/java/org/zowe/apiml/zaas/security/service/token/ApimlAccessTokenProviderTest.java @@ -13,13 +13,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.jsonwebtoken.Jwts; +import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; - import org.mockito.MockedStatic; import org.mockito.Mockito; import org.zowe.apiml.models.AccessTokenContainer; @@ -28,6 +28,7 @@ import org.zowe.apiml.zaas.cache.CachingServiceClientException; import org.zowe.apiml.zaas.security.service.AuthenticationService; +import java.io.IOException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.*; @@ -176,14 +177,16 @@ void givenDifferentToken_returnNotInvalidated() throws Exception { @Test void givenTokenWithUserIdMatchingRule_returnInvalidated() { - String userId = accessTokenProvider.getHash("user"); - when(as.parseJwtWithSignature(TOKEN_WITHOUT_SCOPES)).thenReturn(queryResponseWithoutScopes); - Map invalidUsers = new HashMap<>(); - invalidUsers.put(userId, String.valueOf(System.currentTimeMillis())); Map> cacheMap = new HashMap<>(); - cacheMap.put(ApimlAccessTokenProvider.INVALID_USERS_KEY, invalidUsers); when(cachingServiceClient.readAllMaps()).thenReturn(cacheMap); + doAnswer(answer -> { + var mapkey = (String) answer.getArgument(0); + var keyValue = (CachingServiceClient.KeyValue) answer.getArgument(1); + cacheMap.computeIfAbsent(mapkey, key -> new HashMap<>()).put(keyValue.getKey(), keyValue.getValue()); + return null; + }).when(cachingServiceClient).appendList(any(), any()); + accessTokenProvider.invalidateAllTokensForUser("User", System.currentTimeMillis()); assertTrue(accessTokenProvider.isInvalidated(TOKEN_WITHOUT_SCOPES)); } @@ -264,4 +267,26 @@ static String createTestToken(String username, Map claims) { .addClaims(claims).compact(); } + @Nested + class SaltInitialization { + + @Test + void givenUnexpectedError_whenReadSalt_thenThrowIt() { + Exception unexpectedError = new CachingServiceClientException("unexpected error", new IOException("e.g. timeout")); + doThrow(unexpectedError).when(cachingServiceClient).read("salt"); + Exception thrownException = assertThrows(CachingServiceClientException.class, accessTokenProvider::initializeSalt); + assertSame(unexpectedError, thrownException); + } + + @Test + void givenNoSaltInCache_whenInitializing_thenCreateNewOne() { + Exception noRecordException = new CachingServiceClientException("no record"); + doThrow(noRecordException).when(cachingServiceClient).read("salt"); + String salt = accessTokenProvider.initializeSalt(); + assertTrue(StringUtils.isNotBlank(salt)); + verify(cachingServiceClient, times(1)).create(any()); + } + + } + } From e0f0adff439f6059bc60ff31634a49c9370ff849 Mon Sep 17 00:00:00 2001 From: Gowtham Selvaraj Date: Wed, 28 Jan 2026 16:55:42 +0530 Subject: [PATCH 38/71] API for delegating credentials to generate a z/OS PassTicket based on an existing authentication Signed-off-by: Gowtham Selvaraj --- .../gateway/config/AuthEndpointConfig.java | 3 +- .../apiml/zaas/controllers/StsController.java | 96 ++++++++++++ .../config/NewSecurityConfiguration.java | 47 ++++++ .../zaas/controllers/StsControllerTest.java | 146 ++++++++++++++++++ .../src/test/resources/application.yml | 44 +++--- 5 files changed, 312 insertions(+), 24 deletions(-) create mode 100644 zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java create mode 100644 zaas-service/src/test/java/org/zowe/apiml/zaas/controllers/StsControllerTest.java diff --git a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/AuthEndpointConfig.java b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/AuthEndpointConfig.java index 6350b7fb6a..ff8eb75796 100644 --- a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/AuthEndpointConfig.java +++ b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/AuthEndpointConfig.java @@ -145,7 +145,8 @@ RouterFunction routes() { .andRoute(path("/gateway/api/v1/auth/keys/public/current"), resendTo("/api/v1/auth/keys/public/current")) .andRoute(path("/gateway/api/v1/auth/oidc-token/validate"), resendTo("/api/v1/auth/oidc-token/validate")) .andRoute(path("/gateway/api/v1/auth/oidc/webfinger"), resendTo("/api/v1/auth/oidc/webfinger")) - .andRoute(path("/gateway/auth/check"), resendTo("/auth/check")); + .andRoute(path("/gateway/auth/check"), resendTo("/auth/check")) + .andRoute(path("/gateway/api/v1/auth/delegate/passticket"), resendTo("/api/v1/auth/delegate/passticket")); } } diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java new file mode 100644 index 0000000000..378042f364 --- /dev/null +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java @@ -0,0 +1,96 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.zaas.controllers; + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.Builder; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.util.Strings; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.web.bind.annotation.*; +import org.zowe.commons.usermap.MapperResponse; +import org.zowe.apiml.passticket.PassTicketService; +import org.zowe.apiml.zaas.security.mapping.NativeMapperWrapper; + +/** + * Controller offer method to control security. It can contain method for user + * and also method for calling services + * by gateway to distribute state of authentication between nodes. + */ +@RequiredArgsConstructor +@RestController +@RequestMapping(StsController.CONTROLLER_PATH) +@Slf4j +public class StsController { + + @Value("${apiml.security.oidc.registry:}") + protected String registry; + + private final PassTicketService passTicketService; + private final NativeMapperWrapper nativeMapper; + + public static final String CONTROLLER_PATH = "/zaas/api/v1/auth/delegate"; + public static final String PASSTICKET_PATH = "/passticket"; + + @PostMapping(value = StsController.PASSTICKET_PATH, produces = MediaType.APPLICATION_JSON_VALUE) + @ConditionalOnProperty(value = "apiml.security.delegatePassticket.enabled", havingValue = "true", matchIfMissing = false) + @PreAuthorize("@safMethodSecurityExpressionRoot.hasSafServiceResourceAccess('WXA4Z_AUTH', 'READ')") + @Hidden + public ResponseEntity getPassTicket(@RequestBody PassTicketRequest passticketRequest) + throws Exception { + String applID = passticketRequest.getApplId(); + String emailID = passticketRequest.getEmailId(); + String zosUserId = ""; + + if (Strings.isBlank(emailID) || Strings.isBlank(applID)) { + log.debug("Sts.getPassTicket: Invalid applID or EmailId"); + return ResponseEntity.badRequest().build(); + } + try { + MapperResponse response = nativeMapper.getUserIDForDN(emailID, registry); + if (response.getRc() == 0 && StringUtils.isNotEmpty(response.getUserId())) { + zosUserId = response.getUserId(); + } + log.info("Sts.getPassTicket: Getting ZOS_User_id: {} ", zosUserId); + var ticket = passTicketService.generate(zosUserId, applID); + log.info("Sts.getPassTicket: Getting request email id: {} and ZOS_Userid: {}", emailID, zosUserId); + return ResponseEntity.ok(new PassTicketResponse(ticket, zosUserId)); + } catch (Exception ex) { + log.error("Sts.getPassTicket: Error calling delegate passticket api", ex); + throw ex; + } + } + + @Data + public static class PassTicketRequest { + private String emailId; + private String applId; + } + + @Data + @Builder + public static class PassTicketResponse { + private String passticket; + private String tsoUserid; + } + +} \ No newline at end of file diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java index d1cef3c6c8..a2bda5ab8c 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/security/config/NewSecurityConfiguration.java @@ -343,6 +343,53 @@ SecurityFilterChain authZaasEndpointsFilterChain(HttpSecurity http) throws Excep } + + /** + * Secures endpoints: + * - /auth/delegate/passticket + * + * Requires authentication by a client certificate forwarded form Gateway or basic authentication, supports only credentials in header. + * Order of custom filters: + * - CategorizeCertsFilter - checks for forwarded client certificate and put it into a custom request attribute + * - X509AuthAwareFilter - attempts to log in using a user using forwarded client certificate, replaces pre-authentication in security context by the authentication result + */ + @Configuration + @RequiredArgsConstructor + @Order(10) + class DelegatePassticketProtectedEndpoints { + + private final CompoundAuthProvider compoundAuthProvider; + + @Bean + SecurityFilterChain passticketProtectedEndpointsFilterChain(HttpSecurity http) throws Exception { + baseConfigure(http.securityMatchers(matchers -> matchers.requestMatchers( // no http method to catch all attempts to login and handle them here. Otherwise it falls to default filterchain and tries to route the calls, which doesnt make sense + "/zaas/api/v1/auth/delegate/passticket" + ))) + .authorizeHttpRequests(requests -> requests + .anyRequest().authenticated()) + .authenticationProvider(compoundAuthProvider) // for authenticating credentials + .with(new CustomSecurityFilters(), Customizer.withDefaults()); + return http.build(); + } + + private class CustomSecurityFilters extends AbstractHttpConfigurer { + @Override + public void configure(HttpSecurity http) { + http.addFilterAfter(new CategorizeCertsFilter(publicKeyCertificatesBase64, certificateValidator), org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter.class) + .addFilterAfter(x509ForwardingAwareAuthenticationFilter(), CategorizeCertsFilter.class); + } + + private X509ForwardingAwareAuthenticationFilter x509ForwardingAwareAuthenticationFilter() { + return new X509AuthAwareFilter("/**", + handlerInitializer.getAuthenticationFailureHandler(), + x509AuthenticationProvider); + } + + } + + } + + /** * Query and Ticket and Refresh endpoints share single filter that handles auth with and without certificate. This logic is encapsulated in the queryFilter or ticketFilter. * Query endpoint does not require certificate to be present in RequestContext. It verifies JWT token. diff --git a/zaas-service/src/test/java/org/zowe/apiml/zaas/controllers/StsControllerTest.java b/zaas-service/src/test/java/org/zowe/apiml/zaas/controllers/StsControllerTest.java new file mode 100644 index 0000000000..e3cce36b1a --- /dev/null +++ b/zaas-service/src/test/java/org/zowe/apiml/zaas/controllers/StsControllerTest.java @@ -0,0 +1,146 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.zaas.controllers; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.ResponseEntity; +import org.zowe.apiml.passticket.PassTicketService; +import org.zowe.apiml.zaas.security.mapping.NativeMapperWrapper; +import org.zowe.commons.usermap.MapperResponse; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +class StsControllerTest { + + @Mock + private PassTicketService passTicketService; + + @Mock + private NativeMapperWrapper nativeMapper; + + @InjectMocks + private StsController stsController; + + @BeforeEach + void setUp() { + MockitoAnnotations.openMocks(this); + stsController.registry = "testRegistry"; + } + + @Nested + class SuccessfulRequests { + + @Test + void shouldReturnPassTicketWhenRequestIsValid() throws Exception { + StsController.PassTicketRequest request = new StsController.PassTicketRequest(); + request.setApplId("TESTAPP"); + request.setEmailId("test@company.com"); + + MapperResponse mapperResponse = new MapperResponse("ZOSUSER", 0, 0, 0, 0); + + when(nativeMapper.getUserIDForDN("test@company.com", "testRegistry")) + .thenReturn(mapperResponse); + when(passTicketService.generate("ZOSUSER", "TESTAPP")) + .thenReturn("TICKET123"); + + ResponseEntity response = + stsController.getPassTicket(request); + + assertEquals(200, response.getStatusCode().value()); + assertNotNull(response.getBody()); + assertEquals("TICKET123", response.getBody().getPassticket()); + assertEquals("ZOSUSER", response.getBody().getTsoUserid()); + + verify(nativeMapper) + .getUserIDForDN("test@company.com", "testRegistry"); + verify(passTicketService) + .generate("ZOSUSER", "TESTAPP"); + } + + @Test + void shouldReturnPassTicketWhenMapperReturnsEmptyUser() throws Exception { + StsController.PassTicketRequest request = new StsController.PassTicketRequest(); + request.setApplId("APPID"); + request.setEmailId("test@company.com"); + + MapperResponse mapperResponse = new MapperResponse("", 0, 0, 0, 0); + + when(nativeMapper.getUserIDForDN(anyString(), anyString())) + .thenReturn(mapperResponse); + when(passTicketService.generate("", "APPID")) + .thenReturn("TICKET123"); + + ResponseEntity response = + stsController.getPassTicket(request); + + assertEquals(200, response.getStatusCode().value()); + assertEquals("TICKET123", response.getBody().getPassticket()); + assertEquals("", response.getBody().getTsoUserid()); + } + } + + @Nested + class BadRequests { + + @Test + void shouldReturnBadRequestWhenEmailIsBlank() throws Exception { + StsController.PassTicketRequest request = new StsController.PassTicketRequest(); + request.setApplId("APPID"); + request.setEmailId(""); + + ResponseEntity response = + stsController.getPassTicket(request); + + assertEquals(400, response.getStatusCode().value()); + verifyNoInteractions(passTicketService, nativeMapper); + } + + @Test + void shouldReturnBadRequestWhenApplIdIsBlank() throws Exception { + StsController.PassTicketRequest request = new StsController.PassTicketRequest(); + request.setEmailId("test@company.com"); + request.setApplId(""); + + ResponseEntity response = + stsController.getPassTicket(request); + + assertEquals(400, response.getStatusCode().value()); + verifyNoInteractions(passTicketService, nativeMapper); + } + } + + @Nested + class FailureScenarios { + + @Test + void shouldPropagateExceptionWhenNativeMapperFails() throws Exception { + StsController.PassTicketRequest request = new StsController.PassTicketRequest(); + request.setApplId("APPID"); + request.setEmailId("test@company.com"); + + when(nativeMapper.getUserIDForDN(anyString(), anyString())) + .thenThrow(new RuntimeException("Mapper failed")); + + RuntimeException exception = assertThrows( + RuntimeException.class, + () -> stsController.getPassTicket(request) + ); + + assertEquals("Mapper failed", exception.getMessage()); + } + } +} diff --git a/zaas-service/src/test/resources/application.yml b/zaas-service/src/test/resources/application.yml index 9c018d26e3..03c8ee6c03 100644 --- a/zaas-service/src/test/resources/application.yml +++ b/zaas-service/src/test/resources/application.yml @@ -5,23 +5,24 @@ logging: apiml: service: # The `apiml.service` node contains information required by any APIML service - id: zaas # Service ID of this service. It is fixed for ZAAS - hostname: localhost # Hostname that is advertised in Eureka. Contains the actual hostname of the instance. + id: zaas # Service ID of this service. It is fixed for ZAAS + hostname: localhost # Hostname that is advertised in Eureka. Contains the actual hostname of the instance. # Default is valid only for localhost - port: 10023 # Default port name for zaas service - ipAddress: 127.0.0.1 # IP address that is advertised in Eureka. Default is valid only for localhost - scheme: https # "https" or "http" + port: 10023 # Default port name for zaas service + ipAddress: 127.0.0.1 # IP address that is advertised in Eureka. Default is valid only for localhost + scheme: https # "https" or "http" preferIpAddress: false discoveryServiceUrls: https://localhost:10011/eureka/ zaas: # The `apiml.zaas` node contains zaas-service only configuration - hostname: ${apiml.service.hostname} # The hostname for other services to access the zaas. For example Catalog uses - # for transforming the URLs in DVIPA mode. - # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS + hostname: ${apiml.service.hostname} + # The hostname for other services to access the zaas. For example Catalog uses + # for transforming the URLs in DVIPA mode. + # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS # and is all run from single host. # In Brightside, this holds the DVIPA address and is overridden in PARMLIB to work # properly. - timeoutMillis: 30000 # Timeout for connection to the services + timeoutMillis: 30000 # Timeout for connection to the services security: personalAccessToken: enabled: true @@ -45,13 +46,15 @@ apiml: auth: provider: dummy zosmf: - serviceId: zosmf # Replace me with the correct z/OSMF service id + serviceId: zosmf # Replace me with the correct z/OSMF service id jwtAutoconfiguration: jwt saf: provider: rest urls: authenticate: https://localhost:10013/zss/saf/authenticate verify: https://localhost:10013/zss/saf/verify + delegatePassticket: + enabled: true health: protected: false spring: @@ -130,10 +133,10 @@ eureka: gatewayUrl: /api/v1 serviceUrl: /zaas apiInfo: - - apiId: zowe.apiml.zaas - gatewayUrl: api/v1 - swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/api-doc - documentationUrl: https://zowe.github.io/docs-site/ + - apiId: zowe.apiml.zaas + gatewayUrl: api/v1 + swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/api-doc + documentationUrl: https://zowe.github.io/docs-site/ service: title: ZAAS description: Zowe Authentication and Authorization Service. @@ -145,7 +148,6 @@ eureka: defaultZone: ${apiml.service.discoveryServiceUrls} healthcheck: enabled: true - --- spring: config.activate.on-profile: debug @@ -168,7 +170,6 @@ logging: org.hibernate: INFO org.springframework.web.servlet.PageNotFound: WARN org.ehcache: INFO - --- spring.config.activate.on-profile: diag @@ -178,12 +179,10 @@ management: base-path: /application exposure: include: "*" - --- spring.config.activate.on-profile: dev logbackServiceName: ZWEAZS1 - --- spring.config.activate.on-profile: attlsServer @@ -201,7 +200,6 @@ server: apiml: service: corsEnabled: true - --- spring.config.activate.on-profile: attlsClient @@ -224,7 +222,7 @@ eureka: metadata-map: apiml: apiInfo: - - apiId: zowe.apiml.zaas - gatewayUrl: api/v1 - swaggerUrl: http://${apiml.service.hostname}:${apiml.service.port}/api-doc - documentationUrl: https://zowe.github.io/docs-site/ + - apiId: zowe.apiml.zaas + gatewayUrl: api/v1 + swaggerUrl: http://${apiml.service.hostname}:${apiml.service.port}/api-doc + documentationUrl: https://zowe.github.io/docs-site/ From 8b1bfc70e7f10a8bdf2a98389918e2f7611047c2 Mon Sep 17 00:00:00 2001 From: Gowtham Selvaraj Date: Wed, 28 Jan 2026 17:00:05 +0530 Subject: [PATCH 39/71] API for delegating credentials to generate a z/OS PassTicket based on an existing authentication Signed-off-by: Gowtham Selvaraj --- .../src/test/resources/application.yml | 210 +++++++++++++----- 1 file changed, 149 insertions(+), 61 deletions(-) diff --git a/zaas-service/src/test/resources/application.yml b/zaas-service/src/test/resources/application.yml index 03c8ee6c03..8defe0193e 100644 --- a/zaas-service/src/test/resources/application.yml +++ b/zaas-service/src/test/resources/application.yml @@ -1,53 +1,86 @@ +# for back-compatibility +spring.profiles.group.attls: attlsServer,attlsClient + logging: level: ROOT: INFO + org.zowe.apiml: INFO + org.springframework: WARN + com.netflix: WARN + com.netflix.discovery: ERROR + com.netflix.config: ERROR + com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient: OFF + org.springframework.cloud.client.discovery.DiscoveryClient: OFF + org.springframework.boot.web.embedded.tomcat.TomcatWebServer: INFO + org.springframework.web.socket: WARN + org.zowe.apiml.zaas.error: INFO + org.eclipse.jetty: WARN + org.springframework.web.servlet.PageNotFound: ERROR + org.ehcache: WARN + org.springframework.security.config.annotation.web.builders.WebSecurity: ERROR + org.springframework.cloud.client.loadbalancer.reactive.[ReactorLoadBalancerClientAutoConfiguration$ReactorLoadBalancerClientRibbonWarnLogger]: ERROR + org.springframework.context.support.[PostProcessorRegistrationDelegate$BeanPostProcessorChecker]: ERROR + + # New Config + org.apache: WARN #org.apache.catalina, org.apache.coyote, org.apache.tomcat + javax.servlet: INFO + javax.net.ssl: ERROR + org.apache.http.conn.ssl.DefaultHostnameVerifier: DEBUG #logs only SSLException + org.eclipse.jetty.util.ssl: ERROR + org.apache.tomcat.util.net.SSLUtilBase: ERROR apiml: service: # The `apiml.service` node contains information required by any APIML service - id: zaas # Service ID of this service. It is fixed for ZAAS - hostname: localhost # Hostname that is advertised in Eureka. Contains the actual hostname of the instance. - # Default is valid only for localhost - port: 10023 # Default port name for zaas service - ipAddress: 127.0.0.1 # IP address that is advertised in Eureka. Default is valid only for localhost - scheme: https # "https" or "http" + id: zaas # Service ID of this service. It is fixed for ZAAS + hostname: localhost # Hostname that is advertised in Eureka. Contains the actual hostname of the instance. + # Default is valid only for localhost + port: 10023 # Default port name for ZAAS + ipAddress: 127.0.0.1 # IP address that is advertised in Eureka. Default is valid only for localhost + scheme: https # "https" or "http" preferIpAddress: false - discoveryServiceUrls: https://localhost:10011/eureka/ + + connection: + timeout: 30000 # Timeout for connection to the services + idleConnectionTimeoutSeconds: 5 + timeToLive: 10000 zaas: - # The `apiml.zaas` node contains zaas-service only configuration - hostname: ${apiml.service.hostname} - # The hostname for other services to access the zaas. For example Catalog uses - # for transforming the URLs in DVIPA mode. - # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS - # and is all run from single host. - # In Brightside, this holds the DVIPA address and is overridden in PARMLIB to work - # properly. - timeoutMillis: 30000 # Timeout for connection to the services + # The `apiml.gateway` node contains gateway-service only configuration + hostname: ${apiml.service.hostname} # The hostname for other services to access the gateway. For example Catalog uses + # for transforming the URLs in DVIPA mode. + # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS + # and is all run from single host. + # In Brightside, this holds the DVIPA address and is overridden in PARMLIB to work + # properly. security: + filterChainConfiguration: new + allowTokenRefresh: false + jwtInitializerTimeout: 5 personalAccessToken: - enabled: true + enabled: false + useInternalMapper: false + auth: + provider: zosmf + zosmf: + jwtAutoconfiguration: jwt oidc: enabled: false clientId: clientSecret: registry: - identityMapperUrl: http://localhost:8542/certificate/dn - identityMapperUser: validUserForMap + identityMapperUrl: + identityMapperUser: jwks: uri: - filterChainConfiguration: new - allowTokenRefresh: true - jwtInitializerTimeout: 5 - ssl: - verifySslCertificatesOfServices: true + userInfo: + uri: + validationType: JWK + provider: zosmf x509: - externalMapperUrl: http://localhost:8542/certificate/x509/map - externalMapperUser: validUserForMap - auth: - provider: dummy - zosmf: - serviceId: zosmf # Replace me with the correct z/OSMF service id - jwtAutoconfiguration: jwt + enabled: false + acceptForwardedCert: true + certificatesUrl: + externalMapperUrl: saf: provider: rest urls: @@ -56,27 +89,43 @@ apiml: delegatePassticket: enabled: true health: - protected: false + protected: true spring: profiles: - #include: diag group: dev: debug, diag application: name: ${apiml.service.id} cloud: + discovery: + reactive: + enabled: false compatibilityVerifier: enabled: false # Should be removed when upgrade to Spring Cloud 3.x client: hostname: ${apiml.service.hostname} ipAddress: ${apiml.service.ipAddress} + gateway: + mvc.enabled: false + server: + webflux: + enabled: false + mvc: + log-resolved-exception: false # Suppress useless logs from AbstractHandlerExceptionResolver output: ansi: enabled: detect main: - allow-bean-definition-overriding: true - allow-circular-references: true banner-mode: ${apiml.banner:"off"} + allow-circular-references: true + web-application-type: servlet + +otel: + sdk: + disabled: true + +springdoc: + writer-with-order-by-keys: true server: address: ${apiml.service.ipAddress} @@ -84,18 +133,16 @@ server: ssl: enabled: true clientAuth: want - protocol: TLSv1.2 - enabled-protocols: TLSv1.2 - ciphers: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + protocol: TLS + enabled-protocols: TLSv1.2+TLSv1.3 + ciphers: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384 keyStoreType: PKCS12 trustStoreType: PKCS12 - keyStore: ../keystore/localhost/localhost.keystore.p12 - keyStorePassword: password - keyPassword: password - keyAlias: localhost - trustStore: ../keystore/localhost/localhost.truststore.p12 - trustStorePassword: password - max-http-request-header-size: 40000 + maxConnectionsPerRoute: 100 + maxTotalConnections: 1000 + webSocket: + supportedProtocols: v12.stomp,v11.stomp + max-http-request-header-size: 48000 http: connection: @@ -105,6 +152,7 @@ http: management: endpoints: + migrate-legacy-ids: true web: base-path: /application exposure: @@ -115,11 +163,12 @@ management: endpoint: health: showDetails: always - eureka: instance: + instanceId: ${apiml.service.hostname}:${apiml.service.id}:${apiml.service.port} hostname: ${apiml.service.hostname} ipAddress: ${apiml.service.ipAddress} + securePortEnabled: true #ports are computed in code preferIpAddress: ${apiml.service.preferIpAddress} homePageUrl: ${apiml.service.scheme}://${apiml.zaas.hostname}:${apiml.service.port}/ @@ -133,56 +182,77 @@ eureka: gatewayUrl: /api/v1 serviceUrl: /zaas apiInfo: - - apiId: zowe.apiml.zaas - gatewayUrl: api/v1 - swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/api-doc - documentationUrl: https://zowe.github.io/docs-site/ + - apiId: zowe.apiml.zaas + version: 1.0.0 + gatewayUrl: api/v1 + swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/v3/api-docs + documentationUrl: https://zowe.github.io/docs-site/ service: title: ZAAS description: Zowe Authentication and Authorization Service. + supportClientCertForwarding: true + authentication: + sso: true + client: - fetchRegistry: false - registerWithEureka: false + fetchRegistry: true + registerWithEureka: true region: default serviceUrl: defaultZone: ${apiml.service.discoveryServiceUrls} healthcheck: enabled: true + --- spring: config.activate.on-profile: debug management: endpoints: + migrate-legacy-ids: true web: base-path: /application exposure: - include: health,info,routes,loggers + include: health,info,routes,loggers,hystrixstream,websockets logging: level: ROOT: INFO org.zowe.apiml: DEBUG org.springframework: INFO + org.springframework.context.support.[PostProcessorRegistrationDelegate$BeanPostProcessorChecker]: DEBUG org.apache: INFO org.apache.http: DEBUG - com.netflix: INFO + org.apache.tomcat.util.net: DEBUG + org.apache.tomcat.util.net.jsse.JSSESupport: INFO + com.netflix: DEBUG org.hibernate: INFO org.springframework.web.servlet.PageNotFound: WARN - org.ehcache: INFO + org.springframework.security: DEBUG + org.ehcache: DEBUG + org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter: INFO + com.netflix.discovery.shared.transport.decorator: DEBUG + javax.net.ssl: ERROR + --- spring.config.activate.on-profile: diag management: endpoints: + migrate-legacy-ids: true web: base-path: /application exposure: include: "*" + +server: + max-http-request-header-size: 40000 + --- spring.config.activate.on-profile: dev logbackServiceName: ZWEAZS1 + --- spring.config.activate.on-profile: attlsServer @@ -194,12 +264,11 @@ server: enabled: true ssl: enabled: false - service: - scheme: http apiml: service: corsEnabled: true + --- spring.config.activate.on-profile: attlsClient @@ -216,13 +285,32 @@ apiml: service: corsEnabled: true scheme: http + nonSecurePortEnabled: true + securePortEnabled: false eureka: instance: securePortEnabled: false metadata-map: apiml: apiInfo: - - apiId: zowe.apiml.zaas - gatewayUrl: api/v1 - swaggerUrl: http://${apiml.service.hostname}:${apiml.service.port}/api-doc - documentationUrl: https://zowe.github.io/docs-site/ + - apiId: zowe.apiml.zaas + gatewayUrl: api/v1 + swaggerUrl: http://${apiml.service.hostname}:${apiml.service.port}/api-doc + documentationUrl: https://zowe.github.io/docs-site/ + +--- +spring.config.activate.on-profile: securityFilterchainDebug + +logging: + level: + org.springframework.security: DEBUG + org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter: DEBUG + org.zowe.apiml.zaas.security: DEBUG + +--- +spring.config.activate.on-profile: zosmfDebug + +logging: + level: + root: INFO + org.zowe.apiml.zaas.security.service.zosmf: DEBUG \ No newline at end of file From cd2cfb51d03f0cfa4b8286f1b8ba01d14ca1d572 Mon Sep 17 00:00:00 2001 From: Gowtham Selvaraj Date: Wed, 28 Jan 2026 17:02:29 +0530 Subject: [PATCH 40/71] API for delegating credentials to generate a z/OS PassTicket based on an existing authentication Signed-off-by: Gowtham Selvaraj --- .../src/test/resources/application.yml | 182 +++++------------- 1 file changed, 49 insertions(+), 133 deletions(-) diff --git a/zaas-service/src/test/resources/application.yml b/zaas-service/src/test/resources/application.yml index 8defe0193e..4ca87fb6c4 100644 --- a/zaas-service/src/test/resources/application.yml +++ b/zaas-service/src/test/resources/application.yml @@ -1,86 +1,52 @@ -# for back-compatibility -spring.profiles.group.attls: attlsServer,attlsClient - logging: level: ROOT: INFO - org.zowe.apiml: INFO - org.springframework: WARN - com.netflix: WARN - com.netflix.discovery: ERROR - com.netflix.config: ERROR - com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient: OFF - org.springframework.cloud.client.discovery.DiscoveryClient: OFF - org.springframework.boot.web.embedded.tomcat.TomcatWebServer: INFO - org.springframework.web.socket: WARN - org.zowe.apiml.zaas.error: INFO - org.eclipse.jetty: WARN - org.springframework.web.servlet.PageNotFound: ERROR - org.ehcache: WARN - org.springframework.security.config.annotation.web.builders.WebSecurity: ERROR - org.springframework.cloud.client.loadbalancer.reactive.[ReactorLoadBalancerClientAutoConfiguration$ReactorLoadBalancerClientRibbonWarnLogger]: ERROR - org.springframework.context.support.[PostProcessorRegistrationDelegate$BeanPostProcessorChecker]: ERROR - - # New Config - org.apache: WARN #org.apache.catalina, org.apache.coyote, org.apache.tomcat - javax.servlet: INFO - javax.net.ssl: ERROR - org.apache.http.conn.ssl.DefaultHostnameVerifier: DEBUG #logs only SSLException - org.eclipse.jetty.util.ssl: ERROR - org.apache.tomcat.util.net.SSLUtilBase: ERROR apiml: service: # The `apiml.service` node contains information required by any APIML service id: zaas # Service ID of this service. It is fixed for ZAAS hostname: localhost # Hostname that is advertised in Eureka. Contains the actual hostname of the instance. - # Default is valid only for localhost - port: 10023 # Default port name for ZAAS + # Default is valid only for localhost + port: 10023 # Default port name for zaas service ipAddress: 127.0.0.1 # IP address that is advertised in Eureka. Default is valid only for localhost scheme: https # "https" or "http" preferIpAddress: false - - connection: - timeout: 30000 # Timeout for connection to the services - idleConnectionTimeoutSeconds: 5 - timeToLive: 10000 + discoveryServiceUrls: https://localhost:10011/eureka/ zaas: - # The `apiml.gateway` node contains gateway-service only configuration - hostname: ${apiml.service.hostname} # The hostname for other services to access the gateway. For example Catalog uses - # for transforming the URLs in DVIPA mode. - # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS - # and is all run from single host. - # In Brightside, this holds the DVIPA address and is overridden in PARMLIB to work - # properly. + # The `apiml.zaas` node contains zaas-service only configuration + hostname: ${apiml.service.hostname} # The hostname for other services to access the zaas. For example Catalog uses + # for transforming the URLs in DVIPA mode. + # In Zowe, this is the same as apiml.service.hostname. Zowe has one ZAAS + # and is all run from single host. + # In Brightside, this holds the DVIPA address and is overridden in PARMLIB to work + # properly. + timeoutMillis: 30000 # Timeout for connection to the services security: - filterChainConfiguration: new - allowTokenRefresh: false - jwtInitializerTimeout: 5 personalAccessToken: - enabled: false - useInternalMapper: false - auth: - provider: zosmf - zosmf: - jwtAutoconfiguration: jwt + enabled: true oidc: enabled: false clientId: clientSecret: registry: - identityMapperUrl: - identityMapperUser: + identityMapperUrl: http://localhost:8542/certificate/dn + identityMapperUser: validUserForMap jwks: uri: - userInfo: - uri: - validationType: JWK - provider: zosmf + filterChainConfiguration: new + allowTokenRefresh: true + jwtInitializerTimeout: 5 + ssl: + verifySslCertificatesOfServices: true x509: - enabled: false - acceptForwardedCert: true - certificatesUrl: - externalMapperUrl: + externalMapperUrl: http://localhost:8542/certificate/x509/map + externalMapperUser: validUserForMap + auth: + provider: dummy + zosmf: + serviceId: zosmf # Replace me with the correct z/OSMF service id + jwtAutoconfiguration: jwt saf: provider: rest urls: @@ -89,43 +55,27 @@ apiml: delegatePassticket: enabled: true health: - protected: true + protected: false spring: profiles: + #include: diag group: dev: debug, diag application: name: ${apiml.service.id} cloud: - discovery: - reactive: - enabled: false compatibilityVerifier: enabled: false # Should be removed when upgrade to Spring Cloud 3.x client: hostname: ${apiml.service.hostname} ipAddress: ${apiml.service.ipAddress} - gateway: - mvc.enabled: false - server: - webflux: - enabled: false - mvc: - log-resolved-exception: false # Suppress useless logs from AbstractHandlerExceptionResolver output: ansi: enabled: detect main: - banner-mode: ${apiml.banner:"off"} + allow-bean-definition-overriding: true allow-circular-references: true - web-application-type: servlet - -otel: - sdk: - disabled: true - -springdoc: - writer-with-order-by-keys: true + banner-mode: ${apiml.banner:"off"} server: address: ${apiml.service.ipAddress} @@ -133,16 +83,18 @@ server: ssl: enabled: true clientAuth: want - protocol: TLS - enabled-protocols: TLSv1.2+TLSv1.3 - ciphers: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384 + protocol: TLSv1.2 + enabled-protocols: TLSv1.2 + ciphers: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 keyStoreType: PKCS12 trustStoreType: PKCS12 - maxConnectionsPerRoute: 100 - maxTotalConnections: 1000 - webSocket: - supportedProtocols: v12.stomp,v11.stomp - max-http-request-header-size: 48000 + keyStore: ../keystore/localhost/localhost.keystore.p12 + keyStorePassword: password + keyPassword: password + keyAlias: localhost + trustStore: ../keystore/localhost/localhost.truststore.p12 + trustStorePassword: password + max-http-request-header-size: 40000 http: connection: @@ -152,7 +104,6 @@ http: management: endpoints: - migrate-legacy-ids: true web: base-path: /application exposure: @@ -163,12 +114,11 @@ management: endpoint: health: showDetails: always + eureka: instance: - instanceId: ${apiml.service.hostname}:${apiml.service.id}:${apiml.service.port} hostname: ${apiml.service.hostname} ipAddress: ${apiml.service.ipAddress} - securePortEnabled: true #ports are computed in code preferIpAddress: ${apiml.service.preferIpAddress} homePageUrl: ${apiml.service.scheme}://${apiml.zaas.hostname}:${apiml.service.port}/ @@ -183,20 +133,15 @@ eureka: serviceUrl: /zaas apiInfo: - apiId: zowe.apiml.zaas - version: 1.0.0 gatewayUrl: api/v1 - swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/v3/api-docs + swaggerUrl: https://${apiml.service.hostname}:${apiml.service.port}/api-doc documentationUrl: https://zowe.github.io/docs-site/ service: title: ZAAS description: Zowe Authentication and Authorization Service. - supportClientCertForwarding: true - authentication: - sso: true - client: - fetchRegistry: true - registerWithEureka: true + fetchRegistry: false + registerWithEureka: false region: default serviceUrl: defaultZone: ${apiml.service.discoveryServiceUrls} @@ -209,45 +154,33 @@ spring: management: endpoints: - migrate-legacy-ids: true web: base-path: /application exposure: - include: health,info,routes,loggers,hystrixstream,websockets + include: health,info,routes,loggers logging: level: ROOT: INFO org.zowe.apiml: DEBUG org.springframework: INFO - org.springframework.context.support.[PostProcessorRegistrationDelegate$BeanPostProcessorChecker]: DEBUG org.apache: INFO org.apache.http: DEBUG - org.apache.tomcat.util.net: DEBUG - org.apache.tomcat.util.net.jsse.JSSESupport: INFO - com.netflix: DEBUG + com.netflix: INFO org.hibernate: INFO org.springframework.web.servlet.PageNotFound: WARN - org.springframework.security: DEBUG - org.ehcache: DEBUG - org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter: INFO - com.netflix.discovery.shared.transport.decorator: DEBUG - javax.net.ssl: ERROR + org.ehcache: INFO --- spring.config.activate.on-profile: diag management: endpoints: - migrate-legacy-ids: true web: base-path: /application exposure: include: "*" -server: - max-http-request-header-size: 40000 - --- spring.config.activate.on-profile: dev @@ -264,6 +197,8 @@ server: enabled: true ssl: enabled: false + service: + scheme: http apiml: service: @@ -285,8 +220,6 @@ apiml: service: corsEnabled: true scheme: http - nonSecurePortEnabled: true - securePortEnabled: false eureka: instance: securePortEnabled: false @@ -297,20 +230,3 @@ eureka: gatewayUrl: api/v1 swaggerUrl: http://${apiml.service.hostname}:${apiml.service.port}/api-doc documentationUrl: https://zowe.github.io/docs-site/ - ---- -spring.config.activate.on-profile: securityFilterchainDebug - -logging: - level: - org.springframework.security: DEBUG - org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter: DEBUG - org.zowe.apiml.zaas.security: DEBUG - ---- -spring.config.activate.on-profile: zosmfDebug - -logging: - level: - root: INFO - org.zowe.apiml.zaas.security.service.zosmf: DEBUG \ No newline at end of file From 60fe2e249911402d96644fabbe95a512c5381d8b Mon Sep 17 00:00:00 2001 From: Gowtham Selvaraj Date: Thu, 29 Jan 2026 15:37:21 +0530 Subject: [PATCH 41/71] API for delegating credentials to generate a z/OS PassTicket Signed-off-by: Gowtham Selvaraj --- .../java/org/zowe/apiml/zaas/controllers/StsController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java index 378042f364..9e288f81d4 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java @@ -53,7 +53,7 @@ public class StsController { @PostMapping(value = StsController.PASSTICKET_PATH, produces = MediaType.APPLICATION_JSON_VALUE) @ConditionalOnProperty(value = "apiml.security.delegatePassticket.enabled", havingValue = "true", matchIfMissing = false) - @PreAuthorize("@safMethodSecurityExpressionRoot.hasSafServiceResourceAccess('WXA4Z_AUTH', 'READ')") + @PreAuthorize("@safMethodSecurityExpressionRoot.hasSafServiceResourceAccess('WXA4Z.AUTH', 'READ',#root)") @Hidden public ResponseEntity getPassTicket(@RequestBody PassTicketRequest passticketRequest) throws Exception { From dcc1512639bb88494adfe9cdab89d6acc71a80a8 Mon Sep 17 00:00:00 2001 From: Gowtham Selvaraj Date: Thu, 29 Jan 2026 15:55:24 +0530 Subject: [PATCH 42/71] Enabled the SAF Authorization for delegate passticket endpoint Signed-off-by: Gowtham Selvaraj --- .../java/org/zowe/apiml/zaas/controllers/StsController.java | 2 +- zaas-service/src/main/resources/application.yml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java index 9e288f81d4..5e370075bc 100644 --- a/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java +++ b/zaas-service/src/main/java/org/zowe/apiml/zaas/controllers/StsController.java @@ -53,7 +53,7 @@ public class StsController { @PostMapping(value = StsController.PASSTICKET_PATH, produces = MediaType.APPLICATION_JSON_VALUE) @ConditionalOnProperty(value = "apiml.security.delegatePassticket.enabled", havingValue = "true", matchIfMissing = false) - @PreAuthorize("@safMethodSecurityExpressionRoot.hasSafServiceResourceAccess('WXA4Z.AUTH', 'READ',#root)") + @PreAuthorize("@safMethodSecurityExpressionRoot.hasSafServiceResourceAccess('DELEGATE.PASSTICKET', 'READ',#root)") @Hidden public ResponseEntity getPassTicket(@RequestBody PassTicketRequest passticketRequest) throws Exception { diff --git a/zaas-service/src/main/resources/application.yml b/zaas-service/src/main/resources/application.yml index c65b7233b1..4f39590cd0 100644 --- a/zaas-service/src/main/resources/application.yml +++ b/zaas-service/src/main/resources/application.yml @@ -86,6 +86,8 @@ apiml: urls: authenticate: https://localhost:10013/zss/saf/authenticate verify: https://localhost:10013/zss/saf/verify + delegatePassticket: + enabled: true health: protected: true spring: From d1dd57b08ef559e89f0e61f51222f85395e92859 Mon Sep 17 00:00:00 2001 From: Pablo Carle Date: Thu, 29 Jan 2026 15:17:49 +0100 Subject: [PATCH 43/71] chore: Skip non modulith tests from modulith ha (#4477) Signed-off-by: Pablo Carle Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- integration-tests/build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index 35331f7680..a323367d7c 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -348,7 +348,8 @@ task runAllIntegrationTestsForZoweModulithHaTestingOnZos(type: Test) { 'ChaoticHATest', 'GraphQLTest', 'GraphQLTest', - 'ZaasTest' // These tests require ZAAS as a separate service with its own port and specific paths that are not part of the public API + 'ZaasTest', // These tests require ZAAS as a separate service with its own port and specific paths that are not part of the public API + 'NonModulithTest' ) } From 9ddefa29e383b14e0a9a758caf718be05ae4ea2f Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 30 Jan 2026 00:50:29 +0000 Subject: [PATCH 44/71] [Gradle Release plugin] [skip ci] Before tag commit 'v3.5.4'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a5dc581d43..0777410dee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.4-SNAPSHOT +version=3.5.4 cleanNodeModules=false cleanNode=false From 811e2f0a682fa8155559753177e5496d19edc3d1 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 30 Jan 2026 00:50:31 +0000 Subject: [PATCH 45/71] [Gradle Release plugin] Create new version: 'v3.5.5-SNAPSHOT'. Signed-off-by: Gowtham Selvaraj --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 0777410dee..53dcde229a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ artifactoryPublishingMavenRepo=https://zowe.jfrog.io/zowe/libs-release-local artifactoryPublishingMavenSnapshotRepo=https://zowe.jfrog.io/zowe/libs-snapshot-local # Artifacts version -version=3.5.4 +version=3.5.5-SNAPSHOT cleanNodeModules=false cleanNode=false From 8d7bdf57b3aec7dbc5b9ee596af22fbdaf4769b9 Mon Sep 17 00:00:00 2001 From: Zowe Robot Date: Fri, 30 Jan 2026 00:50:32 +0000 Subject: [PATCH 46/71] [skip ci] Update version Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-catalog-ui/frontend/.env b/api-catalog-ui/frontend/.env index 64e90b3ff5..f4afe27f4c 100644 --- a/api-catalog-ui/frontend/.env +++ b/api-catalog-ui/frontend/.env @@ -8,5 +8,5 @@ REACT_APP_STATUS_UPDATE_MAX_RETRIES=10 REACT_APP_STATUS_UPDATE_DEBOUNCE=300 REACT_APP_CA_ENV=false REACT_APP_STATUS_UPDATE_SCALING_DURATION=1000 -REACT_APP_ZOWE_BUILD_INFO=3.5.4-SNAPSHOT +REACT_APP_ZOWE_BUILD_INFO=3.5.5-SNAPSHOT From 3d6244c32182518c089a10d1d630b701182ece9c Mon Sep 17 00:00:00 2001 From: zowe-robot <42546701+zowe-robot@users.noreply.github.com> Date: Fri, 30 Jan 2026 03:11:03 -0500 Subject: [PATCH 47/71] docs: Automatic update for the Changelog for release (#4475) Signed-off-by: Zowe Robot Co-authored-by: Zowe Robot Co-authored-by: Jakub Balhar Signed-off-by: Gowtham Selvaraj --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32756e19c1..ed0250903d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to the Zowe API Mediation Layer package will be documented in this file. +## `3.4.1 (2026-01-29)` + +* Feature: Support binding on multiple network interfaces (#4457) ([581217a](https://github.com/zowe/api-layer/commit/581217a)), closes [#4457](https://github.com/zowe/api-layer/issues/4457) + + +* Bugfix: Fix infinispan configuration, exception handling, and the whole cache operation (v3) (#4450) ([c2133d8](https://github.com/zowe/api-layer/commit/c2133d8)), closes [#4450](https://github.com/zowe/api-layer/issues/4450) +* Bugfix: expect 401 on info endpoint (#4460) ([cc98e7c](https://github.com/zowe/api-layer/commit/cc98e7c)), closes [#4460](https://github.com/zowe/api-layer/issues/4460) +* Bugfix: disable hostname validation (#4452) ([4f546b6](https://github.com/zowe/api-layer/commit/4f546b6)), closes [#4452](https://github.com/zowe/api-layer/issues/4452) +* Bugfix: Fix error message during the shutdown of the Discovery service (#4390) ([4955206](https://github.com/zowe/api-layer/commit/4955206)), closes [#4390](https://github.com/zowe/api-layer/issues/4390) +* Bugfix: Loading jwks with nonstrict certificate validation (#4442) ([45de135](https://github.com/zowe/api-layer/commit/45de135)), closes [#4442](https://github.com/zowe/api-layer/issues/4442) +* Bugfix: remove reversecategorize filter from attls (#4441) ([2a26ebb](https://github.com/zowe/api-layer/commit/2a26ebb)), closes [#4441](https://github.com/zowe/api-layer/issues/4441) +* Bugfix: AT-tLS in single service mode fixes (#4435) ([5e7c275](https://github.com/zowe/api-layer/commit/5e7c275)), closes [#4435](https://github.com/zowe/api-layer/issues/4435) +* Bugfix: Fix Node.js enabler (#4434) ([172ec16](https://github.com/zowe/api-layer/commit/172ec16)), closes [#4434](https://github.com/zowe/api-layer/issues/4434) +* Bugfix: Loading JWKs from z/OSMF (#4432) ([d592a4e](https://github.com/zowe/api-layer/commit/d592a4e)), closes [#4432](https://github.com/zowe/api-layer/issues/4432) + ## `APIML 3.4.0 / Zowe 3.4.0 (2025-11-12)` * Feature: Enable opentelemetry for modulith (#4380) ([259a2fc](https://github.com/zowe/api-layer/commit/259a2fc)), closes [#4380](https://github.com/zowe/api-layer/issues/4380) From b28f0bb5702f6ad1e51d9907fea1c1e2abda7271 Mon Sep 17 00:00:00 2001 From: Hrishikesh Nalawade <167364362+hrishikesh-nalawade@users.noreply.github.com> Date: Mon, 2 Feb 2026 12:12:40 +0530 Subject: [PATCH 48/71] fix: Log ignored certificates during client authentication (#4415) Signed-off-by: hrishikesh-nalawade Co-authored-by: Pablo Carle Signed-off-by: Gowtham Selvaraj --- .../common/filter/CategorizeCertsFilter.java | 37 ++++- .../common/util/CertificateLoggingUtils.java | 146 ++++++++++++++++++ .../common/verify/CertificateValidator.java | 2 +- .../filter/CategorizeCertsFilterTest.java | 76 ++++++++- .../filter/CategorizeCertsWebFilter.java | 36 +++-- .../filter/CategorizeCertsWebFilterTest.java | 85 +++++++++- 6 files changed, 357 insertions(+), 25 deletions(-) create mode 100644 apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/CertificateLoggingUtils.java diff --git a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilter.java b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilter.java index 0462658b16..c2cc71363a 100644 --- a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilter.java +++ b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilter.java @@ -25,6 +25,7 @@ import org.springframework.web.filter.OncePerRequestFilter; import org.zowe.apiml.message.log.ApimlLogger; import org.zowe.apiml.product.logging.annotations.InjectApimlLogger; +import org.zowe.apiml.security.common.util.CertificateLoggingUtils; import org.zowe.apiml.security.common.verify.CertificateValidator; import java.io.ByteArrayInputStream; @@ -57,6 +58,22 @@ public class CategorizeCertsFilter extends OncePerRequestFilter { private final CertificateValidator certificateValidator; + /** + * Logs information about certificates that were ignored during authentication. + * Delegates to {@link CertificateLoggingUtils} for the actual logging implementation. + * + * @param originalCerts The original array of certificates before filtering + * @param filteredCerts The array of certificates after filtering for authentication + */ + private void logIgnoredCertificates(X509Certificate[] originalCerts, X509Certificate[] filteredCerts) { + CertificateLoggingUtils.logIgnoredCertificates( + originalCerts, + filteredCerts, + publicKeyCertificatesBase64, + log + ); + } + /** * Get certificates from request (if exists), separate them (to use only APIML certificate to request sign and * other for authentication) and store again into request. @@ -78,7 +95,12 @@ private void categorizeCerts(ServletRequest request) { // add the client certificate to the certs array String subjectDN = ((X509Certificate) clientCert.get()).getSubjectX500Principal().getName(); log.debug("Found client certificate in header, adding it to the request. Subject DN: {}", subjectDN); - httpServletRequest.setAttribute(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, selectCerts(new X509Certificate[]{(X509Certificate) clientCert.get()}, certificateForClientAuth)); + + X509Certificate[] headerCerts = new X509Certificate[]{(X509Certificate) clientCert.get()}; + X509Certificate[] clientAuthCerts = selectCerts(headerCerts, certificateForClientAuth); + logIgnoredCertificates(headerCerts, clientAuthCerts); + + httpServletRequest.setAttribute(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, clientAuthCerts); return; } else if (isClientCertificateIgnored(httpServletRequest)) { log.debug("Client certificate is ignored."); @@ -88,7 +110,10 @@ private void categorizeCerts(ServletRequest request) { } } - httpServletRequest.setAttribute(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, selectCerts(certs, certificateForClientAuth)); + X509Certificate[] clientAuthCerts = selectCerts(certs, certificateForClientAuth); + logIgnoredCertificates(certs, clientAuthCerts); + + httpServletRequest.setAttribute(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, clientAuthCerts); httpServletRequest.setAttribute(ATTR_NAME_JAKARTA_SERVLET_REQUEST_X509_CERTIFICATE, selectCerts(certs, apimlCertificate)); log.debug(LOG_FORMAT_FILTERING_CERTIFICATES, ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, httpServletRequest.getAttribute(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE)); @@ -173,13 +198,9 @@ public static X509Certificate[] selectCerts(X509Certificate[] certs, Predicate certificateForClientAuth = crt -> !getPublicKeyCertificatesBase64().contains(base64EncodePublicKey(crt)); + Predicate certificateForClientAuth = crt -> !getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt)); @Setter - Predicate apimlCertificate = crt -> getPublicKeyCertificatesBase64().contains(base64EncodePublicKey(crt)); + Predicate apimlCertificate = crt -> getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt)); } diff --git a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/CertificateLoggingUtils.java b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/CertificateLoggingUtils.java new file mode 100644 index 0000000000..6a373de078 --- /dev/null +++ b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/util/CertificateLoggingUtils.java @@ -0,0 +1,146 @@ +/* + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + */ + +package org.zowe.apiml.security.common.util; + +import org.slf4j.Logger; + +import java.security.cert.X509Certificate; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Utility class for logging certificate-related operations, particularly for logging + * certificates that were ignored/filtered during client authentication. + */ +public class CertificateLoggingUtils { + + private static final String UNKNOWN = "Unknown"; + + private CertificateLoggingUtils() { + // Private constructor to prevent instantiation + } + + /** + * Encodes the public key of an X.509 certificate to a Base64 string. + * + * @param cert The X.509 certificate. + * @return The Base64 encoded string of the public key. + */ + public static String base64EncodePublicKey(X509Certificate cert) { + return Base64.getEncoder().encodeToString(cert.getPublicKey().getEncoded()); + } + + /** + * Logs information about certificates that were ignored during authentication. + * Compares the original set of certificates with the filtered set to identify ignored certificates. + * Uses Base64-encoded public keys for reliable comparison instead of X509Certificate object equality. + * + * @param originalCerts The original array of certificates before filtering + * @param filteredCerts The array of certificates after filtering for authentication + * @param publicKeyCertificatesBase64 Set of Base64-encoded public keys of known APIML certificates + * @param logger The logger to use for output + */ + public static void logIgnoredCertificates( + X509Certificate[] originalCerts, + X509Certificate[] filteredCerts, + Set publicKeyCertificatesBase64, + Logger logger + ) { + if (originalCerts == null || originalCerts.length == 0) return; + + List ignoredCerts = identifyIgnoredCertificates( + originalCerts, filteredCerts + ); + + if (!ignoredCerts.isEmpty()) { + logCertificateSummary(ignoredCerts, logger); + logCertificateDetails(ignoredCerts, publicKeyCertificatesBase64, logger); + } + } + + /** + * Identifies certificates that were ignored by comparing original and filtered certificate arrays. + */ + private static List identifyIgnoredCertificates( + X509Certificate[] originalCerts, + X509Certificate[] filteredCerts + ) { + Set originalKeys = Arrays.stream(originalCerts) + .map(CertificateLoggingUtils::base64EncodePublicKey) + .collect(Collectors.toSet()); + + Set filteredKeys = filteredCerts != null + ? Arrays.stream(filteredCerts) + .map(CertificateLoggingUtils::base64EncodePublicKey) + .collect(Collectors.toSet()) + : new HashSet<>(); + + Set ignoredKeys = new HashSet<>(originalKeys); + ignoredKeys.removeAll(filteredKeys); + + return Arrays.stream(originalCerts) + .filter(cert -> ignoredKeys.contains(base64EncodePublicKey(cert))) + .toList(); + } + + /** + * Logs a summary of all ignored certificates with their key details. + */ + private static void logCertificateSummary( + List ignoredCerts, + Logger logger + ) { + logger.debug("Certificates ignored/not used for authentication: {}", + ignoredCerts.stream() + .map(CertificateLoggingUtils::formatCertificateInfo) + .collect(Collectors.joining(", "))); + } + + /** + * Formats certificate information for logging. + */ + private static String formatCertificateInfo(X509Certificate cert) { + String subjectDN = cert.getSubjectX500Principal() != null + ? cert.getSubjectX500Principal().getName() + : UNKNOWN; + String issuerDN = cert.getIssuerX500Principal() != null + ? cert.getIssuerX500Principal().getName() + : UNKNOWN; + String publicKeyBase64 = base64EncodePublicKey(cert); + return String.format("[Subject: %s, Issuer: %s, Public Key (first 20 chars): %s...]", + subjectDN, issuerDN, publicKeyBase64.substring(0, Math.min(20, publicKeyBase64.length()))); + } + + /** + * Logs detailed information about each ignored certificate including the reason for ignoring. + */ + private static void logCertificateDetails( + List ignoredCerts, + Set publicKeyCertificatesBase64, + Logger logger + ) { + ignoredCerts.forEach(cert -> { + String publicKeyBase64 = base64EncodePublicKey(cert); + boolean isApimlCert = publicKeyCertificatesBase64.contains(publicKeyBase64); + String subjectDN = cert.getSubjectX500Principal() != null + ? cert.getSubjectX500Principal().getName() + : UNKNOWN; + if (isApimlCert) { + logger.debug("Certificate with subject '{}' was ignored because it is an APIML Gateway certificate (not used for client authentication)", + subjectDN); + } else { + logger.debug("Certificate with subject '{}' was ignored for unknown reason (not in APIML cert set, but filtered by predicate)", + subjectDN); + } + }); + } +} + diff --git a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/verify/CertificateValidator.java b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/verify/CertificateValidator.java index f11ad581fe..4927a86480 100644 --- a/apiml-security-common/src/main/java/org/zowe/apiml/security/common/verify/CertificateValidator.java +++ b/apiml-security-common/src/main/java/org/zowe/apiml/security/common/verify/CertificateValidator.java @@ -22,7 +22,7 @@ import java.util.List; import java.util.Set; -import static org.zowe.apiml.security.common.filter.CategorizeCertsFilter.base64EncodePublicKey; +import static org.zowe.apiml.security.common.util.CertificateLoggingUtils.base64EncodePublicKey; /** * Service to verify if given certificate chain can be trusted. diff --git a/apiml-security-common/src/test/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilterTest.java b/apiml-security-common/src/test/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilterTest.java index 79c611c6d5..b1899ae99e 100644 --- a/apiml-security-common/src/test/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilterTest.java +++ b/apiml-security-common/src/test/java/org/zowe/apiml/security/common/filter/CategorizeCertsFilterTest.java @@ -10,16 +10,23 @@ package org.zowe.apiml.security.common.filter; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.slf4j.LoggerFactory; import org.springframework.mock.web.MockFilterChain; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.zowe.apiml.security.common.utils.X509Utils; +import org.zowe.apiml.security.common.util.CertificateLoggingUtils; import org.zowe.apiml.security.common.verify.CertificateValidator; import java.io.ByteArrayInputStream; @@ -32,6 +39,7 @@ import java.util.Arrays; import java.util.Base64; import java.util.HashSet; +import java.util.List; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; @@ -72,6 +80,9 @@ class CategorizeCertsFilterTest { private CertificateValidator certificateValidator; + private Logger logger; + private ListAppender logAppender; + @BeforeAll public static void init() throws CertificateException { CertificateFactory cf = CertificateFactory.getInstance("X.509"); @@ -87,6 +98,19 @@ public void setUp() { certificateValidator = mock(CertificateValidator.class); when(certificateValidator.isForwardingEnabled()).thenReturn(false); when(certificateValidator.hasGatewayChain(any())).thenReturn(false); + + logger = (Logger) LoggerFactory.getLogger(CategorizeCertsFilter.class); + logAppender = new ListAppender<>(); + logAppender.start(); + logger.addAppender(logAppender); + logger.setLevel(Level.DEBUG); + } + + @AfterEach + void tearDown() { + if (logger != null && logAppender != null) { + logger.detachAppender(logAppender); + } } @Nested @@ -165,12 +189,18 @@ void thenAllClientCertificates() throws IOException, ServletException { assertNull(nextRequest.getHeader(CLIENT_CERT_HEADER)); assertFalse(nextRequest.getHeaders(CLIENT_CERT_HEADER).hasMoreElements()); + + // Verify no ignored certificate logs when only client certs are present + List logsList = logAppender.list; + boolean hasIgnoredLog = logsList.stream() + .anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")); + assertFalse(hasIgnoredLog, "Should not log ignored certificates when only client cert is present"); } @Test void thenAllApimlCertificatesWithReversedLogic() throws IOException, ServletException { - filter.setCertificateForClientAuth(crt -> filter.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); - filter.setApimlCertificate(crt -> !filter.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); + filter.setCertificateForClientAuth(crt -> filter.getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt))); + filter.setApimlCertificate(crt -> !filter.getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt))); filter.doFilter(request, response, chain); HttpServletRequest nextRequest = (HttpServletRequest) chain.getRequest(); @@ -379,8 +409,8 @@ void thenCategorizedCerts() throws IOException, ServletException { @Test void thenCategorizedCertsWithReversedLogic() throws IOException, ServletException { - filter.setCertificateForClientAuth(crt -> filter.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); - filter.setApimlCertificate(crt -> !filter.getPublicKeyCertificatesBase64().contains(CategorizeCertsFilter.base64EncodePublicKey(crt))); + filter.setCertificateForClientAuth(crt -> filter.getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt))); + filter.setApimlCertificate(crt -> !filter.getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(crt))); request.setAttribute("jakarta.servlet.request.X509Certificate", clientCerts); filter.doFilter(request, response, chain); HttpServletRequest nextRequest = (HttpServletRequest) chain.getRequest(); @@ -399,6 +429,33 @@ void thenCategorizedCertsWithReversedLogic() throws IOException, ServletExceptio assertFalse(nextRequest.getHeaders(CLIENT_CERT_HEADER).hasMoreElements()); } + @Test + void thenMixedCertChain_logsOnlyIgnoredOnes() throws IOException, ServletException { + X509Certificate[] mixedCerts = new X509Certificate[]{ + X509Utils.getCertificate(X509Utils.correctBase64("foreignCert1")), + X509Utils.getCertificate(X509Utils.correctBase64("apimlCert1")) + }; + request.setAttribute("jakarta.servlet.request.X509Certificate", mixedCerts); + + filter.doFilter(request, response, chain); + HttpServletRequest nextRequest = (HttpServletRequest) chain.getRequest(); + assertNotNull(nextRequest); + + X509Certificate[] apimlCerts = (X509Certificate[]) nextRequest.getAttribute("jakarta.servlet.request.X509Certificate"); + assertEquals(1, apimlCerts.length); + + X509Certificate[] clientCertsFromAttr = (X509Certificate[]) nextRequest.getAttribute("client.auth.X509Certificate"); + assertNotNull(clientCertsFromAttr); + assertEquals(1, clientCertsFromAttr.length); + + // Verify logging for ignored certificates in mixed chain + List logsList = logAppender.list; + assertTrue(logsList.stream().anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")), + "Should log ignored certificates in mixed chain"); + assertTrue(logsList.stream().anyMatch(event -> event.getFormattedMessage().contains("is an APIML Gateway certificate")), + "Should mention ignored APIML certificate"); + } + @Nested class WhenCertificateInHeaderAndForwardingEnabled { @@ -452,6 +509,16 @@ void givenNotTrustedCerts_thenClientCertHeaderIgnored() throws ServletException, assertNull(nextRequest.getHeader(CLIENT_CERT_HEADER)); assertFalse(nextRequest.getHeaders(CLIENT_CERT_HEADER).hasMoreElements()); + + // Verify logging for ignored certificates + List logsList = logAppender.list; + boolean hasIgnoredLog = logsList.stream() + .anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")); + assertTrue(hasIgnoredLog, "Should log ignored certificates when APIML certs are categorized as such"); + + boolean hasDetailedLog = logsList.stream() + .anyMatch(event -> event.getFormattedMessage().contains("is an APIML Gateway certificate")); + assertTrue(hasDetailedLog, "Should explain that certificate is an APIML Gateway certificate"); } } @@ -548,4 +615,5 @@ void whenClientCertHeaderNotDefined_thenReturnFalse() throws ServletException, I assertNotNull(chain.getRequest(), "Filter chain should continue normally"); } } + } diff --git a/apiml/src/main/java/org/zowe/apiml/filter/CategorizeCertsWebFilter.java b/apiml/src/main/java/org/zowe/apiml/filter/CategorizeCertsWebFilter.java index f4833dec56..aa338a754e 100644 --- a/apiml/src/main/java/org/zowe/apiml/filter/CategorizeCertsWebFilter.java +++ b/apiml/src/main/java/org/zowe/apiml/filter/CategorizeCertsWebFilter.java @@ -21,6 +21,7 @@ import org.springframework.web.server.WebFilterChain; import org.zowe.apiml.message.log.ApimlLogger; import org.zowe.apiml.product.logging.annotations.InjectApimlLogger; +import org.zowe.apiml.security.common.util.CertificateLoggingUtils; import org.zowe.apiml.security.common.verify.CertificateValidator; import reactor.core.publisher.Mono; @@ -55,11 +56,11 @@ public class CategorizeCertsWebFilter implements WebFilter, Ordered { @Setter private Predicate certificateForClientAuth = cert -> - !getPublicKeyCertificatesBase64().contains(base64EncodePublicKey(cert)); + !getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(cert)); @Setter private Predicate apimlCertificate = cert -> - getPublicKeyCertificatesBase64().contains(base64EncodePublicKey(cert)); + getPublicKeyCertificatesBase64().contains(CertificateLoggingUtils.base64EncodePublicKey(cert)); @Override public Mono filter(ServerWebExchange exchange, WebFilterChain chain) { @@ -97,6 +98,9 @@ private ServerWebExchange categorizeCerts(ServerWebExchange exchange) { new X509Certificate[]{clientCertFromHeader.get()}, certificateForClientAuth ); + + logIgnoredCertificates(new X509Certificate[]{clientCertFromHeader.get()}, clientAuthCerts); + exchange.getAttributes().put(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, clientAuthCerts); log.debug(LOG_FORMAT_FILTERING_CERTIFICATES, ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, Arrays.toString(clientAuthCerts)); @@ -108,6 +112,9 @@ private ServerWebExchange categorizeCerts(ServerWebExchange exchange) { } else { X509Certificate[] clientAuthCerts = selectCerts(certsFromTls, certificateForClientAuth); + + logIgnoredCertificates(certsFromTls, clientAuthCerts); + exchange.getAttributes().put(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, clientAuthCerts); log.debug(LOG_FORMAT_FILTERING_CERTIFICATES, ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE, Arrays.toString(clientAuthCerts)); @@ -127,6 +134,22 @@ private ServerWebExchange categorizeCerts(ServerWebExchange exchange) { return exchange.mutate().request(requestBuilder.build()).build(); } + /** + * Logs information about certificates that were ignored during authentication. + * Delegates to {@link CertificateLoggingUtils} for the actual logging implementation. + * + * @param originalCerts The original array of certificates before filtering + * @param filteredCerts The array of certificates after filtering for authentication + */ + private void logIgnoredCertificates(X509Certificate[] originalCerts, X509Certificate[] filteredCerts) { + CertificateLoggingUtils.logIgnoredCertificates( + originalCerts, + filteredCerts, + publicKeyCertificatesBase64, + log + ); + } + /** * Extracts and decodes an X.509 certificate from the CLIENT_CERT_HEADER. * @@ -168,15 +191,6 @@ private ServerHttpRequest mutateRequestToRemoveHeader(ServerHttpRequest original .build(); } - /** - * Encodes the public key of an X.509 certificate to a Base64 string. - * - * @param cert The X.509 certificate. - * @return The Base64 encoded string of the public key. - */ - public static String base64EncodePublicKey(X509Certificate cert) { - return Base64.getEncoder().encodeToString(cert.getPublicKey().getEncoded()); - } /** * Defines the order of this filter. It should run relatively early diff --git a/apiml/src/test/java/org/zowe/apiml/filter/CategorizeCertsWebFilterTest.java b/apiml/src/test/java/org/zowe/apiml/filter/CategorizeCertsWebFilterTest.java index 1e37ded6e2..35d7ff91a7 100644 --- a/apiml/src/test/java/org/zowe/apiml/filter/CategorizeCertsWebFilterTest.java +++ b/apiml/src/test/java/org/zowe/apiml/filter/CategorizeCertsWebFilterTest.java @@ -10,6 +10,11 @@ package org.zowe.apiml.filter; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -17,11 +22,13 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.SslInfo; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.WebFilterChain; +import org.zowe.apiml.security.common.util.CertificateLoggingUtils; import org.zowe.apiml.security.common.verify.CertificateValidator; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; @@ -63,6 +70,8 @@ class CategorizeCertsWebFilterTest { private static X509Certificate gatewayCert; private static X509Certificate clientCert; private static X509Certificate headerCert; + private Logger logger; + private ListAppender logAppender; @BeforeAll static void init() throws Exception { @@ -76,7 +85,7 @@ static void init() throws Exception { void setUp() { Set gatewayPublicKeys = new HashSet<>(); - gatewayPublicKeys.add(CategorizeCertsWebFilter.base64EncodePublicKey(gatewayCert)); + gatewayPublicKeys.add(CertificateLoggingUtils.base64EncodePublicKey(gatewayCert)); filter = new CategorizeCertsWebFilter(gatewayPublicKeys, mockCertificateValidator); @@ -89,7 +98,18 @@ void setUp() { when(mockRequestBuilder.build()).thenReturn(mockRequest); when(mockRequestBuilder.headers(any())).thenReturn(mockRequestBuilder); when(mockRequestBuilder.build()).thenReturn(mockRequest); + logger = (Logger) LoggerFactory.getLogger(CategorizeCertsWebFilter.class); + logAppender = new ListAppender<>(); + logAppender.start(); + logger.addAppender(logAppender); + logger.setLevel(Level.DEBUG); // Ensure DEBUG level is enabled + } + @AfterEach + void tearDown() { + if (logger != null && logAppender != null) { + logger.detachAppender(logAppender); + } } @@ -132,6 +152,55 @@ void filter_standardPath_withClientCertOnly() { assertNotNull(gatewayCerts); assertEquals(0, gatewayCerts.length); // No gateway certs were found + + // Verify no ignored certificate logs when only client cert is present + List logsList = logAppender.list; + boolean hasIgnoredLog = logsList.stream() + .anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")); + assertFalse(hasIgnoredLog, "Should not log ignored certificates when only client cert is present"); + } + + @Test + void filter_standardPath_withMixedCertChain_logsOnlyIgnoredOnes() { + Map attributes = new HashMap<>(); + X509Certificate[] certChain = {clientCert, gatewayCert}; + + when(mockRequest.getSslInfo()).thenReturn(mockSslInfo); + when(mockSslInfo.getPeerCertificates()).thenReturn(certChain); + when(mockExchange.getAttributes()).thenReturn(attributes); + when(mockFilterChain.filter(any(ServerWebExchange.class))).thenReturn(Mono.empty()); + when(mockRequest.getHeaders()).thenReturn(mockHeaders); + when(mockHeaders.getFirst(CLIENT_CERT_HEADER)).thenReturn(""); + when(mockCertificateValidator.isForwardingEnabled()).thenReturn(false); + + StepVerifier.create(filter.filter(mockExchange, mockFilterChain)).verifyComplete(); + + X509Certificate[] clientAuthCerts = (X509Certificate[]) attributes.get(ATTR_NAME_CLIENT_AUTH_X509_CERTIFICATE); + X509Certificate[] gatewayCerts = (X509Certificate[]) attributes.get(ATTR_NAME_JAKARTA_SERVLET_REQUEST_X509_CERTIFICATE); + + assertNotNull(clientAuthCerts); + assertEquals(1, clientAuthCerts.length); + assertEquals(clientCert, clientAuthCerts[0]); + + assertNotNull(gatewayCerts); + assertEquals(1, gatewayCerts.length); + assertEquals(gatewayCert, gatewayCerts[0]); + + // Verify logging for ignored certificates in mixed chain + List logsList = logAppender.list; + assertTrue(logsList.stream().anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")), + "Should log ignored certificates in mixed chain"); + + String gatewayCertSubject = gatewayCert.getSubjectX500Principal().getName(); + assertTrue(logsList.stream().anyMatch(event -> event.getFormattedMessage().contains(gatewayCertSubject)), + "Should mention ignored gateway certificate"); + + String clientCertSubject = clientCert.getSubjectX500Principal().getName(); + long clientCertIgnoredMentions = logsList.stream() + .filter(event -> event.getMessage().contains("ignored")) + .filter(event -> event.getFormattedMessage().contains(clientCertSubject)) + .count(); + assertEquals(0, clientCertIgnoredMentions, "Should NOT log client certificate as ignored"); } @Test @@ -158,6 +227,19 @@ void filter_standardPath_withGatewayCertOnly() { assertNotNull(gatewayCerts); assertEquals(1, gatewayCerts.length); assertEquals(gatewayCert, gatewayCerts[0]); + + List logsList = logAppender.list; + List ignoredCertLogs = logsList.stream() + .filter(event -> event.getMessage().contains("ignored")) + .toList(); + + assertFalse(ignoredCertLogs.isEmpty(), "Should have logged information about ignored certificates"); + assertTrue(logsList.stream().anyMatch(event -> event.getMessage().contains("Certificates ignored/not used for authentication")), + "Should have summary log about ignored certificates"); + assertTrue(logsList.stream().anyMatch(event -> event.getFormattedMessage().contains("is an APIML Gateway certificate")), + "Should explain that certificate IS an APIML Gateway certificate"); + assertTrue(logsList.stream().anyMatch(event -> event.getFormattedMessage().contains(gatewayCert.getSubjectX500Principal().getName())), + "Should mention the gateway certificate subject"); } @Test @@ -221,4 +303,5 @@ private static X509Certificate loadCertificateFromKeystore(String alias, String } + } From ce286175bf28810321e79ff2c4cfc7d6dc43b03a Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Mon, 2 Feb 2026 14:42:45 +0100 Subject: [PATCH 49/71] fix: add referer header (#4479) Signed-off-by: ac892247 Signed-off-by: Gowtham Selvaraj --- api-catalog-ui/frontend/public/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/api-catalog-ui/frontend/public/index.html b/api-catalog-ui/frontend/public/index.html index a54979fcac..26e960a53b 100644 --- a/api-catalog-ui/frontend/public/index.html +++ b/api-catalog-ui/frontend/public/index.html @@ -3,6 +3,7 @@ +