From 17feffafac02b09a78bccb249b0a16670b13d0ff Mon Sep 17 00:00:00 2001 From: Yurii Shynbuiev - IOHK Date: Tue, 7 May 2024 17:33:12 +0700 Subject: [PATCH 1/3] ci: semantic-release upgrade, oasdiff fix (#1017) Signed-off-by: Yurii Shynbuiev --- .github/workflows/oasdiff.yml | 57 +- package-lock.json | 1889 ++++++++++++++------------------- package.json | 12 +- 3 files changed, 805 insertions(+), 1153 deletions(-) diff --git a/.github/workflows/oasdiff.yml b/.github/workflows/oasdiff.yml index 463d95f898..76030e6e40 100644 --- a/.github/workflows/oasdiff.yml +++ b/.github/workflows/oasdiff.yml @@ -1,7 +1,6 @@ --- name: "OAS Breaking Changes" - defaults: run: shell: bash @@ -10,7 +9,6 @@ on: pull_request: branches: - main - workflow_dispatch: inputs: revision_tag: @@ -23,6 +21,10 @@ on: description: "Base tag to check the breaking changes in the OAS" default: "main" +permissions: + pull-requests: write + actions: write + # https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/prism-agent-v1.29.0/prism-agent/service/api/http/prism-agent-openapi-spec.yaml # https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/main/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml @@ -32,32 +34,36 @@ jobs: runs-on: ubuntu-latest steps: - name: Resolve the base OpenAPI spec URL + env: + BASE_TAG: ${{ github.event.inputs.base_tag }} + GITHUB_EVENT_NAME: ${{ github.event_name }} run: | - BASE_TAG="${{ github.event.inputs.base_tag }}" - echo "Base tag: $BASE_TAG" - if [[ $BASE_TAG == 'cloud-agent-v*' ]]; then - echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$BASE_TAG/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ $BASE_TAG == 'prism-agent-v*' ]]; then - echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$BASE_TAG/prism-agent/service/api/http/prism-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ $BASE_TAG == 'main' ]]; then - echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$BASE_TAG/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ ${{ github.event_name }} == 'pull_request' ]]; then - echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/main/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV + echo Base tag: "$BASE_TAG" + if [[ "$BASE_TAG" =~ cloud-agent-v* ]]; then + echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${BASE_TAG}/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$BASE_TAG" =~ prism-agent-v* ]]; then + echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${BASE_TAG}/prism-agent/service/api/http/prism-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$BASE_TAG" == 'main' ]]; then + echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${BASE_TAG}/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$GITHUB_EVENT_NAME" == 'pull_request' ]]; then + echo "BASE_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/main/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" fi - name: Resolve the revision OpenAPI spec URL + env: + REV_TAG: ${{ github.event.inputs.revision_tag }} + GITHUB_EVENT_NAME: ${{ github.event_name }} + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | - REV_TAG="${{ github.event.inputs.revision_tag }}" - echo "Revision tag: $REV_TAG" - if [[ $REV_TAG == 'cloud-agent-v*' ]]; then - echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$REV_TAG/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ $REV_TAG == 'prism-agent-v*' ]]; then - echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$REV_TAG/prism-agent/service/api/http/prism-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ $REV_TAG == 'main' ]]; then - echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$REV_TAG/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV - elif [[ ${{ github.event_name }} == 'pull_request' ]]; then - BRANCH_NAME=${{ github.head_ref || github.ref_name }} - echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/$BRANCH_NAME/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> $GITHUB_ENV + echo Revision tag: "$REV_TAG" + if [[ "$REV_TAG" =~ cloud-agent-v* ]]; then + echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${REV_TAG}/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$REV_TAG" =~ prism-agent-v* ]]; then + echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${REV_TAG}/prism-agent/service/api/http/prism-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$REV_TAG" == 'main' ]]; then + echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${REV_TAG}/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" + elif [[ "$GITHUB_EVENT_NAME" == 'pull_request' ]]; then + echo "REV_URL=https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/${BRANCH_NAME}/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml" >> "$GITHUB_ENV" fi - name: Check URLS @@ -71,8 +77,3 @@ jobs: fail-on-diff: false base: ${{ env.BASE_URL }} revision: ${{ env.REV_URL }} - - - - - diff --git a/package-lock.json b/package-lock.json index 6658a86bf3..a53edf3355 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,18 +8,18 @@ "name": "identus-cloud-agent", "version": "1.32.0", "devDependencies": { - "@commitlint/cli": "^17.0.3", - "@commitlint/config-conventional": "^17.0.3", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", "@semantic-release/changelog": "^6.0.1", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "conventional-changelog-conventionalcommits": "^5.0.0", + "conventional-changelog-conventionalcommits": "^8.0.0", "gradle-semantic-release-plugin": "1.9.1", - "husky": "^8.0.1", + "husky": "^9.0.11", "pinst": "^3.0.0", - "prettier": "^2.7.1", + "prettier": "^3.2.5", "semantic-release": "^23.0.8", - "semantic-release-slack-bot": "^3.5.3" + "semantic-release-slack-bot": "^4.0.2" }, "engines": { "node": ">=16.13.0" @@ -135,61 +135,205 @@ } }, "node_modules/@commitlint/cli": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.5.1.tgz", - "integrity": "sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.3.0.tgz", + "integrity": "sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==", "dev": true, "dependencies": { - "@commitlint/format": "^17.4.4", - "@commitlint/lint": "^17.4.4", - "@commitlint/load": "^17.5.0", - "@commitlint/read": "^17.5.1", - "@commitlint/types": "^17.4.4", - "execa": "^5.0.0", - "lodash.isfunction": "^3.0.9", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", + "@commitlint/format": "^19.3.0", + "@commitlint/lint": "^19.2.2", + "@commitlint/load": "^19.2.0", + "@commitlint/read": "^19.2.1", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", "yargs": "^17.0.0" }, "bin": { "commitlint": "cli.js" }, "engines": { - "node": ">=v14" + "node": ">=v18" + } + }, + "node_modules/@commitlint/cli/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/cli/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/cli/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/cli/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@commitlint/config-conventional": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.4.4.tgz", - "integrity": "sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.2.2.tgz", + "integrity": "sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==", "dev": true, "dependencies": { - "conventional-changelog-conventionalcommits": "^5.0.0" + "@commitlint/types": "^19.0.3", + "conventional-changelog-conventionalcommits": "^7.0.2" }, "engines": { - "node": ">=v14" + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-conventional/node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" } }, "node_modules/@commitlint/config-validator": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.4.tgz", - "integrity": "sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==", + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz", + "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", "dev": true, "dependencies": { - "@commitlint/types": "^17.4.4", + "@commitlint/types": "^19.0.3", "ajv": "^8.11.0" }, "engines": { - "node": ">=v14" + "node": ">=v18" } }, "node_modules/@commitlint/ensure": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.4.tgz", - "integrity": "sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g==", + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.0.3.tgz", + "integrity": "sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==", "dev": true, "dependencies": { - "@commitlint/types": "^17.4.4", + "@commitlint/types": "^19.0.3", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -197,224 +341,488 @@ "lodash.upperfirst": "^4.3.1" }, "engines": { - "node": ">=v14" + "node": ">=v18" } }, "node_modules/@commitlint/execute-rule": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", - "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", + "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", "dev": true, "engines": { - "node": ">=v14" + "node": ">=v18" } }, "node_modules/@commitlint/format": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.4.4.tgz", - "integrity": "sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.3.0.tgz", + "integrity": "sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==", "dev": true, "dependencies": { - "@commitlint/types": "^17.4.4", - "chalk": "^4.1.0" + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0" }, "engines": { - "node": ">=v14" + "node": ">=v18" + } + }, + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/@commitlint/is-ignored": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz", - "integrity": "sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.2.2.tgz", + "integrity": "sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==", "dev": true, "dependencies": { - "@commitlint/types": "^17.4.4", - "semver": "7.5.4" + "@commitlint/types": "^19.0.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.2.2.tgz", + "integrity": "sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==", + "dev": true, + "dependencies": { + "@commitlint/is-ignored": "^19.2.2", + "@commitlint/parse": "^19.0.3", + "@commitlint/rules": "^19.0.3", + "@commitlint/types": "^19.0.3" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", + "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/execute-rule": "^19.0.0", + "@commitlint/resolve-extends": "^19.1.0", + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/message": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.0.0.tgz", + "integrity": "sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.0.3.tgz", + "integrity": "sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.2.1.tgz", + "integrity": "sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==", + "dev": true, + "dependencies": { + "@commitlint/top-level": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/read/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/read/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/read/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", + "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/types": "^19.0.3", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.0.3.tgz", + "integrity": "sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==", + "dev": true, + "dependencies": { + "@commitlint/ensure": "^19.0.3", + "@commitlint/message": "^19.0.0", + "@commitlint/to-lines": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/rules/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" }, - "engines": { - "node": ">=v14" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/lint": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.4.4.tgz", - "integrity": "sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw==", + "node_modules/@commitlint/rules/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "dependencies": { - "@commitlint/is-ignored": "^17.4.4", - "@commitlint/parse": "^17.4.4", - "@commitlint/rules": "^17.4.4", - "@commitlint/types": "^17.4.4" - }, "engines": { - "node": ">=v14" + "node": ">=16.17.0" } }, - "node_modules/@commitlint/load": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.5.0.tgz", - "integrity": "sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==", + "node_modules/@commitlint/rules/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "dependencies": { - "@commitlint/config-validator": "^17.4.4", - "@commitlint/execute-rule": "^17.4.0", - "@commitlint/resolve-extends": "^17.4.4", - "@commitlint/types": "^17.4.4", - "@types/node": "*", - "chalk": "^4.1.0", - "cosmiconfig": "^8.0.0", - "cosmiconfig-typescript-loader": "^4.0.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", - "resolve-from": "^5.0.0", - "ts-node": "^10.8.1", - "typescript": "^4.6.4 || ^5.0.0" - }, "engines": { - "node": ">=v14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/message": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.4.2.tgz", - "integrity": "sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==", + "node_modules/@commitlint/rules/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "engines": { - "node": ">=v14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/parse": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.4.4.tgz", - "integrity": "sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg==", + "node_modules/@commitlint/rules/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "@commitlint/types": "^17.4.4", - "conventional-changelog-angular": "^5.0.11", - "conventional-commits-parser": "^3.2.2" + "path-key": "^4.0.0" }, "engines": { - "node": ">=v14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/read": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.5.1.tgz", - "integrity": "sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==", + "node_modules/@commitlint/rules/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "@commitlint/top-level": "^17.4.0", - "@commitlint/types": "^17.4.4", - "fs-extra": "^11.0.0", - "git-raw-commits": "^2.0.11", - "minimist": "^1.2.6" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=v14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz", - "integrity": "sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==", + "node_modules/@commitlint/rules/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "dependencies": { - "@commitlint/config-validator": "^17.4.4", - "@commitlint/types": "^17.4.4", - "import-fresh": "^3.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, "engines": { - "node": ">=v14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/rules": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.4.4.tgz", - "integrity": "sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ==", + "node_modules/@commitlint/rules/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@commitlint/ensure": "^17.4.4", - "@commitlint/message": "^17.4.2", - "@commitlint/to-lines": "^17.4.0", - "@commitlint/types": "^17.4.4", - "execa": "^5.0.0" - }, "engines": { - "node": ">=v14" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@commitlint/to-lines": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz", - "integrity": "sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==", + "node_modules/@commitlint/rules/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "engines": { - "node": ">=v14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz", - "integrity": "sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==", + "node_modules/@commitlint/to-lines": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.0.0.tgz", + "integrity": "sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==", "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, "engines": { - "node": ">=v14" + "node": ">=v18" } }, - "node_modules/@commitlint/types": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", - "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", + "node_modules/@commitlint/top-level": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.0.0.tgz", + "integrity": "sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==", "dev": true, "dependencies": { - "chalk": "^4.1.0" + "find-up": "^7.0.0" }, "engines": { - "node": ">=v14" + "node": ">=v18" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@commitlint/types": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz", + "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/@nodelib/fs.scandir": { @@ -676,81 +1084,6 @@ "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", - "dev": true, - "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/error": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", @@ -1229,36 +1562,6 @@ "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", - "dev": true, - "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", @@ -1283,18 +1586,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/lru-cache": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.1.tgz", @@ -1304,18 +1595,6 @@ "node": "14 || >=16.14" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", @@ -1385,27 +1664,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { "version": "4.17.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.17.0.tgz", @@ -1442,29 +1700,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/mdast": { "version": "3.0.11", @@ -1475,17 +1718,14 @@ "@types/unist": "*" } }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true + "version": "20.12.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.10.tgz", + "integrity": "sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", @@ -1499,27 +1739,6 @@ "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", "dev": true }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", @@ -1546,15 +1765,15 @@ } }, "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -1603,12 +1822,6 @@ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1627,15 +1840,6 @@ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -1679,32 +1883,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", @@ -1897,30 +2075,27 @@ } }, "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", - "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-8.0.0.tgz", + "integrity": "sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==", "dev": true, "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/conventional-changelog-writer": { @@ -1943,27 +2118,6 @@ "node": ">=16" } }, - "node_modules/conventional-changelog-writer/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, "node_modules/conventional-commits-filter": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", @@ -1974,23 +2128,21 @@ } }, "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "conventional-commits-parser": "cli.js" + "conventional-commits-parser": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/convert-hrtime": { @@ -2012,45 +2164,48 @@ "dev": true }, "node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" + "parse-json": "^5.2.0" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cosmiconfig-typescript-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", - "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", "dev": true, + "dependencies": { + "jiti": "^1.19.1" + }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">=v16" }, "peerDependencies": { "@types/node": "*", - "cosmiconfig": ">=7", - "ts-node": ">=10", - "typescript": ">=3" + "cosmiconfig": ">=8.2", + "typescript": ">=4" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2093,12 +2248,15 @@ } }, "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/debug": { @@ -2118,40 +2276,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -2161,15 +2285,6 @@ "node": ">=4.0.0" } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2486,16 +2601,17 @@ } }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2626,22 +2742,20 @@ } }, "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", "dev": true, "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "git-raw-commits": "cli.js" + "git-raw-commits": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/glob-parent": { @@ -2656,16 +2770,28 @@ "node": ">= 6" } }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, "dependencies": { - "ini": "^1.3.4" + "ini": "4.1.1" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-directory/node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/globby": { @@ -2728,15 +2854,6 @@ "semantic-release": "^23.0.0" } }, - "node_modules/gradle-semantic-release-plugin/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", @@ -2758,15 +2875,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2809,18 +2917,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -2857,15 +2953,15 @@ } }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.mjs" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -3110,15 +3206,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -3132,15 +3219,15 @@ } }, "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "dependencies": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-unicode-supported": { @@ -3192,6 +3279,15 @@ "node": ">= 0.6.0" } }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3271,15 +3367,6 @@ "node": "*" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -3315,15 +3402,15 @@ } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3359,12 +3446,6 @@ "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true - }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", @@ -3447,24 +3528,6 @@ "node": ">=10" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/markdown-table": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", @@ -3667,25 +3730,12 @@ } }, "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, "engines": { - "node": ">=10" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3843,15 +3893,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -3861,20 +3902,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3934,24 +3961,9 @@ "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" + "encoding": { + "optional": true + } } }, "node_modules/normalize-url": { @@ -6664,30 +6676,30 @@ } }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6799,12 +6811,12 @@ "dev": true }, "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/path-key": { @@ -6816,12 +6828,6 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -6943,15 +6949,15 @@ } }, "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -6983,24 +6989,14 @@ "dev": true }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7021,15 +7017,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -7146,144 +7133,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -7299,19 +7148,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/registry-auth-token": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", @@ -7391,23 +7227,6 @@ "node": ">=0.10.0" } }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -7417,18 +7236,6 @@ "node": ">=8" } }, - "node_modules/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -7512,9 +7319,9 @@ } }, "node_modules/semantic-release-slack-bot": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/semantic-release-slack-bot/-/semantic-release-slack-bot-3.5.3.tgz", - "integrity": "sha512-QoLRfZPkgkER2s/DiIu0qA9pYu4am8ASu7xq3omCXl2oJ+fKdb1Rentgezzv7RefMXhO2q2aah1aqutWnSnlhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/semantic-release-slack-bot/-/semantic-release-slack-bot-4.0.2.tgz", + "integrity": "sha512-EgpUGmxDq5l9qSfAJNkGMOjxi6p5a7lAMnV5sNG53QxpIOsgMUF9X3J+NeaFWXsGyRP5CEkVtDdDkfvvNNo2ag==", "dev": true, "dependencies": { "@semantic-release/error": "^2.2.0", @@ -7523,10 +7330,10 @@ "slackify-markdown": "^4.3.0" }, "engines": { - "node": ">=14.7" + "node": ">=18.13" }, "peerDependencies": { - "semantic-release": ">=11.0.0 <20.0.0" + "semantic-release": ">=11.0.0" } }, "node_modules/semantic-release-slack-bot/node_modules/@semantic-release/error": { @@ -7588,32 +7395,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/semantic-release/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -7806,9 +7587,9 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8049,26 +7830,12 @@ "dev": true }, "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">= 10.x" } }, "node_modules/stream-combiner2": { @@ -8134,18 +7901,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -8196,18 +7951,6 @@ "node": ">=14.18" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/temp-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", @@ -8260,12 +8003,15 @@ } }, "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/thenify": { @@ -8295,29 +8041,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/time-span": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", @@ -8360,15 +8083,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", @@ -8379,66 +8093,12 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz", "integrity": "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8460,6 +8120,12 @@ "node": ">=0.8.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", @@ -8627,12 +8293,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -8787,22 +8447,13 @@ "node": ">=12" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/package.json b/package.json index cc242db472..e2f1fe9728 100644 --- a/package.json +++ b/package.json @@ -5,18 +5,18 @@ "node": ">=16.13.0" }, "devDependencies": { - "@commitlint/cli": "^17.0.3", - "@commitlint/config-conventional": "^17.0.3", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", "@semantic-release/changelog": "^6.0.1", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "conventional-changelog-conventionalcommits": "^5.0.0", + "conventional-changelog-conventionalcommits": "^8.0.0", "gradle-semantic-release-plugin": "1.9.1", - "husky": "^8.0.1", + "husky": "^9.0.11", "pinst": "^3.0.0", - "prettier": "^2.7.1", + "prettier": "^3.2.5", "semantic-release": "^23.0.8", - "semantic-release-slack-bot": "^3.5.3" + "semantic-release-slack-bot": "^4.0.2" }, "release": { "branches": [ From 3b17c34f69f1e7e0715090306b380c981afe59bf Mon Sep 17 00:00:00 2001 From: Hyperledger Bot Date: Tue, 7 May 2024 11:16:50 +0000 Subject: [PATCH 2/3] chore(release): cut Identus Cloud agent 1.32.1 release ## [1.32.1](https://github.com/hyperledger/identus-cloud-agent/compare/cloud-agent-v1.32.0...cloud-agent-v1.32.1) (2024-05-07) ### Bug Fixes * expose pg_admin port on the localhost interface only ([#957](https://github.com/hyperledger/identus-cloud-agent/issues/957)) ([73674b5](https://github.com/hyperledger/identus-cloud-agent/commit/73674b5da6a41c4972ac3c45005ce768608b558e)) * Fix OneOf OpenAPI Serialization Issue ([#1010](https://github.com/hyperledger/identus-cloud-agent/issues/1010)) ([393c296](https://github.com/hyperledger/identus-cloud-agent/commit/393c29654b8d3d53071f0d2932a16ff81688ece6)) * remove prism-crypto dependency ([#1015](https://github.com/hyperledger/identus-cloud-agent/issues/1015)) ([46e594c](https://github.com/hyperledger/identus-cloud-agent/commit/46e594c21bdb43d78f41be6c803ad8b80dc89504)) * update open-api-spec and generator script and package.json ([#990](https://github.com/hyperledger/identus-cloud-agent/issues/990)) ([88c1b5e](https://github.com/hyperledger/identus-cloud-agent/commit/88c1b5eadf62ad0efcd4ee53b793bb08cce9667f)) Signed-off-by: Allain Magyar --- CHANGELOG.md | 10 + DEPENDENCIES.md | 247 +++++++++--------- .../api/http/cloud-agent-openapi-spec.yaml | 55 +++- infrastructure/charts/agent/Chart.yaml | 4 +- infrastructure/charts/index.yaml | 66 +++-- infrastructure/charts/prism-agent-1.32.1.tgz | Bin 0 -> 161106 bytes infrastructure/local/.env | 2 +- package-lock.json | 4 +- package.json | 2 +- version.sbt | 2 +- 10 files changed, 227 insertions(+), 165 deletions(-) create mode 100644 infrastructure/charts/prism-agent-1.32.1.tgz diff --git a/CHANGELOG.md b/CHANGELOG.md index 59af0deea7..494cf27ff8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## [1.32.1](https://github.com/hyperledger/identus-cloud-agent/compare/cloud-agent-v1.32.0...cloud-agent-v1.32.1) (2024-05-07) + + +### Bug Fixes + +* expose pg_admin port on the localhost interface only ([#957](https://github.com/hyperledger/identus-cloud-agent/issues/957)) ([73674b5](https://github.com/hyperledger/identus-cloud-agent/commit/73674b5da6a41c4972ac3c45005ce768608b558e)) +* Fix OneOf OpenAPI Serialization Issue ([#1010](https://github.com/hyperledger/identus-cloud-agent/issues/1010)) ([393c296](https://github.com/hyperledger/identus-cloud-agent/commit/393c29654b8d3d53071f0d2932a16ff81688ece6)) +* remove prism-crypto dependency ([#1015](https://github.com/hyperledger/identus-cloud-agent/issues/1015)) ([46e594c](https://github.com/hyperledger/identus-cloud-agent/commit/46e594c21bdb43d78f41be6c803ad8b80dc89504)) +* update open-api-spec and generator script and package.json ([#990](https://github.com/hyperledger/identus-cloud-agent/issues/990)) ([88c1b5e](https://github.com/hyperledger/identus-cloud-agent/commit/88c1b5eadf62ad0efcd4ee53b793bb08cce9667f)) + # [1.32.0](https://github.com/hyperledger/identus-cloud-agent/compare/cloud-agent-v1.31.0...cloud-agent-v1.32.0) (2024-04-26) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index e1d2e54810..0e78cdf2a5 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -2,15 +2,14 @@ Category | License | Dependency | Notes --- | --- | --- | --- -Apache | [APL2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [net.reactivecore # circe-json-schema_2.13 # 0.3.0](https://github.com/reactivecore/rc-circe-json-schema) | +Apache | [APL2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [net.reactivecore # circe-json-schema_2.13 # 0.4.1](https://github.com/reactivecore/rc-circe-json-schema) | Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # lenses_3 # 0.11.13](https://github.com/scalapb/ScalaPB) | Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # scalapb-runtime-grpc_3 # 0.11.13](https://github.com/scalapb/ScalaPB) | Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.thesamet.scalapb # scalapb-runtime_3 # 0.11.13](https://github.com/scalapb/ScalaPB) | Apache | [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) | [io.lemonlabs # scala-uri_3 # 4.0.3](https://github.com/lemonlabsuk/scala-uri) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.google.android # annotations # 4.1.1.4](http://source.android.com/) | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.code.gson # gson # 2.8.6 | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.errorprone # error_prone_annotations # 2.10.0 | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.magnolia1_3 # magnolia_3 # 1.1.5](http://softwaremill.com/open-source) | +Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.errorprone # error_prone_annotations # 2.23.0 | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.magnolia1_3 # magnolia_3 # 1.3.0](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.magnolia1_3 # magnolia_3 # 1.3.3](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.quicklens # quicklens_3 # 1.9.6](http://softwaremill.com/open-source) | @@ -21,8 +20,8 @@ Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwar Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.apispec # openapi-circe_3 # 0.6.0](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.apispec # openapi-model_3 # 0.6.0](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.client3 # core_3 # 3.8.16](http://softwaremill.com/open-source) | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.client3 # json-common_3 # 3.8.3](http://softwaremill.com/open-source) | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.client3 # zio-json_3 # 3.8.3](http://softwaremill.com/open-source) | +Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.client3 # json-common_3 # 3.8.16](http://softwaremill.com/open-source) | +Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.client3 # zio-json_3 # 3.8.16](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.model # core_3 # 1.7.1](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.shared # core_3 # 1.3.15](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.shared # fs2_3 # 1.3.15](http://softwaremill.com/open-source) | @@ -48,19 +47,20 @@ Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwar Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.tapir # tapir-swagger-ui_3 # 1.6.4](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.tapir # tapir-zio-http-server_3 # 1.6.4](http://softwaremill.com/open-source) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.softwaremill.sttp.tapir # tapir-zio_3 # 1.6.4](http://softwaremill.com/open-source) | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.squareup.okhttp # okhttp # 2.7.4 | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.squareup.okhttp3 # okhttp # 3.14.9 | -Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.squareup.okio # okio # 1.17.5 | +Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.squareup.okio # okio # 1.17.2 | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.circe # circe-yaml_3 # 0.14.2](https://github.com/circe/circe-yaml) | Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-api # 1.47.1](https://github.com/grpc/grpc-java) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-api # 1.63.0](https://github.com/grpc/grpc-java) | Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-context # 1.47.1](https://github.com/grpc/grpc-java) | -Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-core # 1.36.0](https://github.com/grpc/grpc-java) | -Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-kotlin-stub # 1.0.0](https://github.com/grpc/grpc-kotlin) | -Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-okhttp # 1.36.0](https://github.com/grpc/grpc-java) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-context # 1.63.0](https://github.com/grpc/grpc-java) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-core # 1.63.0](https://github.com/grpc/grpc-java) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-okhttp # 1.63.0](https://github.com/grpc/grpc-java) | Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-protobuf # 1.47.1](https://github.com/grpc/grpc-java) | Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-protobuf-lite # 1.47.1](https://github.com/grpc/grpc-java) | Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-stub # 1.47.1](https://github.com/grpc/grpc-java) | -Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.perfmark # perfmark-api # 0.23.0](https://github.com/perfmark/perfmark) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.grpc # grpc-util # 1.63.0](https://github.com/grpc/grpc-java) | +Apache | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) | [io.perfmark # perfmark-api # 0.26.0](https://github.com/perfmark/perfmark) | Apache | [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.typelevel # simulacrum-scalafix-annotations_3 # 0.5.4](https://github.com/typelevel/simulacrum-scalafix) | Apache | [Apache 2.0](https://github.com/swagger-api/swagger-ui) | [org.webjars # swagger-ui # 5.1.3](http://webjars.org) | Apache | [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html) | [com.typesafe.scala-logging # scala-logging_3 # 3.9.5](https://github.com/lightbend/scala-logging) | @@ -92,11 +92,10 @@ Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2 Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.github.stephenc.jcip # jcip-annotations # 1.0-1](http://stephenc.github.com/jcip-annotations) | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.crypto.tink # tink # 1.6.1](http://github.com/google/tink) | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.guava # guava # 31.0.1-android](https://github.com/google/guava) | +Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.guava # guava # 32.1.3-android](https://github.com/google/guava) | +Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.j2objc # j2objc-annotations # 2.8](https://github.com/google/j2objc/) | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [commons-codec # commons-codec # 1.11](http://commons.apache.org/proper/commons-codec/) | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.github.erdtman # java-json-canonicalization # 1.1](https://github.com/erdtman/java-json-canonicalization) | -Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-common-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | -Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-crypto-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | -Apache | [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) | [io.iohk.atala # prism-protos-jvm # 1.4.1](https://github.com/input-output-hk/atala-prism-sdk.git) | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-buffer # 4.1.101.Final | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec # 4.1.101.Final | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | io.netty # netty-codec-http # 4.1.101.Final | @@ -118,7 +117,7 @@ Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2 Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.httpcomponents # httpclient # 4.5.14](http://hc.apache.org/httpcomponents-client-ga) | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.httpcomponents # httpcore # 4.4.16](http://hc.apache.org/httpcomponents-core-ga) | Apache | [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | org.eclipse.microprofile.openapi # microprofile-openapi-api # 3.1.1 | -Apache | [Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community) | org.flywaydb # flyway-core # 9.8.3 | +Apache | [Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community) | org.flywaydb # flyway-core # 9.22.3 | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-api # 1.2.6 | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-impl-base # 1.2.6 | Apache | [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | org.jboss.shrinkwrap # shrinkwrap-spi # 1.2.6 | @@ -138,67 +137,63 @@ Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsso Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsson # metaconfig-pprint_2.13 # 0.11.1](https://github.com/olafurpg/metaconfig) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.geirsson # metaconfig-typesafe-config_2.13 # 0.11.1](https://github.com/olafurpg/metaconfig) | Apache | [Apache-2.0](https://opensource.org/licenses/Apache-2.0) | [com.github.dasniko # testcontainers-keycloak # 3.2.0](https://github.com/dasniko/testcontainers-keycloak) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-circe_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-core_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-json-common_3 # 9.1.2](https://jwt-scala.github.io/jwt-scala/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-circe_3 # 9.4.6](https://jwt-scala.github.io/jwt-scala/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-core_3 # 9.4.6](https://jwt-scala.github.io/jwt-scala/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [com.github.jwt-scala # jwt-json-common_3 # 9.4.6](https://jwt-scala.github.io/jwt-scala/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.api.grpc # proto-google-common-protos # 2.0.1](https://github.com/googleapis/java-iam/proto-google-common-protos) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.code.gson # gson # 2.10.1 | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [com.typesafe # config # 1.4.2](https://github.com/lightbend/config) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [com.typesafe # config # 1.4.3](https://github.com/lightbend/config) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # izumi-reflect-thirdparty-boopickle-shaded_3 # 2.3.8](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # izumi-reflect_3 # 2.3.8](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-concurrent_3 # 2.0.18](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-concurrent_3 # 2.0.22](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config-derivation_3 # 4.0.1](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config-magnolia_3 # 4.0.1](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config-typesafe_3 # 4.0.1](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-config_3 # 4.0.1](https://zio.dev/zio-config/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-constraintless_3 # 0.3.2](https://zio.dev/zio-flow/) | -Apache | [Apache-2.0](https://github.com/zio/zio-http/blob/master/LICENSE) | [dev.zio # zio-http_3 # 3.0.0-RC4](https://github.com/zio/zio-http) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-internal-macros_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-internal-macros_3 # 2.0.19](https://zio.dev) | +Apache | [Apache-2.0](https://github.com/zio/zio-http/blob/master/LICENSE) | [dev.zio # zio-http_3 # 3.0.0-RC6](https://github.com/zio/zio-http) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-internal-macros_3 # 2.0.22](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-cats_3 # 23.0.0.8](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-cats_3 # 3.3.0](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-interop-tracer_3 # 23.0.0.8](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-json_3 # 0.3.0](https://zio.github.io/zio-json/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-json_3 # 0.6.2](https://zio.dev/zio-json/) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [dev.zio # zio-logging-slf4j_3 # 2.1.16](https://zio.dev/zio-logging) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [dev.zio # zio-logging_3 # 2.1.16](https://zio.dev/zio-logging) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [dev.zio # zio-logging-slf4j_3 # 2.1.17](https://zio.dev/zio-logging) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [dev.zio # zio-logging_3 # 2.1.17](https://zio.dev/zio-logging) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-managed_3 # 2.0.0](https://zio.dev) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-managed_3 # 2.0.13](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-metrics-connectors-micrometer_3 # 2.1.0](https://zio.dev/zio-metrics-connectors/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-metrics-connectors_3 # 2.1.0](https://zio.dev/zio-metrics-connectors/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-mock_3 # 1.0.0-RC11](https://zio.dev/zio-mock/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-metrics-connectors-micrometer_3 # 2.3.1](https://zio.dev/zio-metrics-connectors/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-metrics-connectors_3 # 2.3.1](https://zio.dev/zio-metrics-connectors/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-mock_3 # 1.0.0-RC12](https://zio.dev/zio-mock/) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-parser_3 # 0.1.9](https://zio.dev/zio-parser/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude-macros_3 # 1.0.0-RC21](https://zio.dev/zio-prelude/) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude_3 # 1.0.0-RC21](https://zio.dev/zio-prelude/) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-derivation_3 # 0.4.16](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-json_3 # 0.4.16](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-macros_3 # 0.4.16](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema-protobuf_3 # 0.4.16](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v0.4.16/LICENSE) | [dev.zio # zio-schema_3 # 0.4.16](https://zio.dev/zio-schema) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-stacktracer_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-stacktracer_3 # 2.0.19](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.19](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.2](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-magnolia_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-sbt_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.12](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio_3 # 2.0.18](https://zio.dev) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio_3 # 2.0.19](https://zio.dev) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-core_3 # 0.14.6](https://github.com/circe/circe) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-generic_3 # 0.14.6](https://github.com/circe/circe) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-jawn_3 # 0.14.6](https://github.com/circe/circe) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-numbers_3 # 0.14.6](https://github.com/circe/circe) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-parser_3 # 0.14.6](https://github.com/circe/circe) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude-macros_3 # 1.0.0-RC24](https://zio.dev/zio-prelude/) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-prelude_3 # 1.0.0-RC24](https://zio.dev/zio-prelude/) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v1.1.0/LICENSE) | [dev.zio # zio-schema-derivation_3 # 1.1.0](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v1.1.0/LICENSE) | [dev.zio # zio-schema-json_3 # 1.1.0](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v1.1.0/LICENSE) | [dev.zio # zio-schema-macros_3 # 1.1.0](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v1.1.0/LICENSE) | [dev.zio # zio-schema-protobuf_3 # 1.1.0](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](https://zio.dev/zio-schema/blob/v1.1.0/LICENSE) | [dev.zio # zio-schema_3 # 1.1.0](https://zio.dev/zio-schema) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-stacktracer_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.16](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.21](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-streams_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-magnolia_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test-sbt_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.19](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio-test_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [dev.zio # zio_3 # 2.0.22](https://zio.dev) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-core_3 # 0.14.7](https://github.com/circe/circe) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-generic_3 # 0.14.7](https://github.com/circe/circe) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-jawn_3 # 0.14.7](https://github.com/circe/circe) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-numbers_3 # 0.14.7](https://github.com/circe/circe) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.circe # circe-parser_3 # 0.14.7](https://github.com/circe/circe) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [io.suzaku # boopickle_3 # 1.4.0](https://github.com/suzaku-io/boopickle) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [net.java.dev.jna # jna # 5.12.1](https://github.com/java-native-access/jna) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [net.java.dev.jna # jna # 5.13.0](https://github.com/java-native-access/jna) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.commons # commons-compress # 1.23.0](https://commons.apache.org/proper/commons-compress/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.apache.commons # commons-compress # 1.24.0](https://commons.apache.org/proper/commons-compress/) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # blaze-core_3 # 0.23.12](https://github.com/http4s/blaze) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # blaze-http_3 # 0.23.12](https://github.com/http4s/blaze) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # http4s-blaze-core_3 # 0.23.12](https://github.com/http4s/blaze) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # http4s-blaze-server_3 # 0.23.12](https://github.com/http4s/blaze) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # blaze-core_3 # 0.23.15](https://github.com/http4s/blaze) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # blaze-http_3 # 0.23.15](https://github.com/http4s/blaze) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # http4s-blaze-core_3 # 0.23.15](https://github.com/http4s/blaze) | +Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # http4s-blaze-server_3 # 0.23.15](https://github.com/http4s/blaze) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.html) | [org.http4s # http4s-core_3 # 0.23.23](https://http4s.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.http4s # http4s-crypto_3 # 0.2.4](https://github.com/http4s/http4s-crypto) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.html) | [org.http4s # http4s-server_3 # 0.23.23](https://http4s.org/) | @@ -213,20 +208,20 @@ Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala- Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang # scalap # 2.13.11](https://www.scala-lang.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang # tasty-core_3 # 3.3.3](https://github.com/lampepfl/dotty) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang.modules # scala-collection-compat_3 # 2.11.0](http://www.scala-lang.org/) | -Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang.modules # scala-collection-compat_3 # 2.8.1](http://www.scala-lang.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang.modules # scala-collection-compat_3 # 2.9.0](http://www.scala-lang.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang.modules # scala-parallel-collections_3 # 1.0.4](http://www.scala-lang.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-lang.modules # scala-xml_3 # 2.1.0](http://www.scala-lang.org/) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | [org.scala-sbt # compiler-interface # 1.9.3](https://github.com/sbt/zinc) | Apache | [Apache-2.0](https://github.com/sbt/sbt/blob/develop/LICENSE) | [org.scala-sbt # util-interface # 1.9.2](https://github.com/sbt/sbt) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # junit-interface # 0.7.29](https://github.com/scalameta/munit) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # junit-interface # 1.0.0-M8](https://github.com/scalameta/munit) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # junit-interface # 1.0.0-RC1](https://github.com/scalameta/munit) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # munit-diff_3 # 1.0.0-RC1](https://github.com/scalameta/munit) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # munit_3 # 0.7.29](https://github.com/scalameta/munit) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # munit_3 # 1.0.0-M8](https://github.com/scalameta/munit) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # munit_3 # 1.0.0-RC1](https://github.com/scalameta/munit) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # scalafmt-config_2.13 # 3.7.14](https://github.com/scalameta/scalafmt) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # scalafmt-core_2.13 # 3.7.14](https://github.com/scalameta/scalafmt) | Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalameta # scalafmt-sysops_2.13 # 3.7.14](https://github.com/scalameta/scalafmt) | -Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatestplus # mockito-4-11_3 # 3.2.16.0](https://github.com/scalatest/scalatestplus-mockito) | +Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatestplus # mockito-4-11_3 # 3.2.18.0](https://github.com/scalatest/scalatestplus-mockito) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.typelevel # case-insensitive_3 # 1.4.0](https://typelevel.org/case-insensitive) | Apache | [Apache-2.0](http://www.apache.org/licenses/) | [org.typelevel # cats-effect-kernel_3 # 3.3.4](https://github.com/typelevel/cats-effect) | Apache | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.typelevel # cats-effect-kernel_3 # 3.5.1](https://github.com/typelevel/cats-effect) | @@ -244,7 +239,7 @@ Apache | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.typelev Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.ionspin.kotlin # bignum-jvm # 0.3.9](https://github.com/ionspin/kotlin-multiplatform-bignum) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.zmannotes # varint # 1.0.0](https://github.com/zman2013/varint) | Apache | [The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.iohk.atala.prism.apollo # apollo-jvm # 1.2.14](https://docs.atalaprism.io/) | -Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.didcommx # didcomm # 0.3.1](https://github.com/sicpa-dlab/didcomm-jvm) | +Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.didcommx # didcomm # 0.3.2](https://github.com/sicpa-dlab/didcomm-jvm) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.didcommx # peerdid # 0.5.0](https://github.com/sicpa-dlab/peer-did-jvm) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlin # kotlin-stdlib # 1.8.22](https://kotlinlang.org/) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlin # kotlin-stdlib # 1.9.22](https://kotlinlang.org/) | @@ -254,21 +249,17 @@ Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENS Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlin # kotlin-stdlib-jdk7 # 1.9.21](https://kotlinlang.org/) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlin # kotlin-stdlib-jdk8 # 1.8.22](https://kotlinlang.org/) | Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlin # kotlin-stdlib-jdk8 # 1.9.21](https://kotlinlang.org/) | -Apache | [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-datetime-jvm # 0.2.1](https://github.com/Kotlin/kotlinx-datetime) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.10.3](http://github.com/FasterXML/jackson) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.14.0](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.15.1](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.15.2](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-annotations # 2.15.3](https://github.com/FasterXML/jackson) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.14.0](https://github.com/FasterXML/jackson-core) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.15.1](https://github.com/FasterXML/jackson-core) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.15.2](https://github.com/FasterXML/jackson-core) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-core # 2.15.3](https://github.com/FasterXML/jackson-core) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.14.0](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.15.1](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.15.2](https://github.com/FasterXML/jackson) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.core # jackson-databind # 2.15.3](https://github.com/FasterXML/jackson) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-toml # 2.14.0](https://github.com/FasterXML/jackson-dataformats-text) | +Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-toml # 2.15.2](https://github.com/FasterXML/jackson-dataformats-text) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-yaml # 2.15.1](https://github.com/FasterXML/jackson-dataformats-text) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [com.fasterxml.jackson.dataformat # jackson-dataformat-yaml # 2.15.3](https://github.com/FasterXML/jackson-dataformats-text) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.fasterxml.jackson.datatype # jackson-datatype-jsr310 # 2.12.1 | @@ -282,15 +273,16 @@ Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licens Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.guava # failureaccess # 1.0.1 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.google.guava # listenablefuture # 9999.0-empty-to-avoid-conflict-with-guava | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.google.j2objc # j2objc-annotations # 1.3](https://github.com/google/j2objc/) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.squareup.okio # okio # 3.4.0](https://github.com/square/okio/) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.squareup.okio # okio-jvm # 3.4.0](https://github.com/square/okio/) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | com.twitter # hpack # 1.0.2 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [com.zaxxer # HikariCP # 4.0.3](https://github.com/brettwooldridge/HikariCP) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.github.java-diff-utils # java-diff-utils # 4.12 | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.iohk.atala # nimbus-jose-jwt # 10.0.0](https://bitbucket.org/connect2id/nimbus-jose-jwt) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [io.ktor # ktor-io-jvm # 1.6.5](https://github.com/ktorio/ktor) | -Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-commons # 1.11.2](https://github.com/micrometer-metrics/micrometer) | -Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-core # 1.11.2](https://github.com/micrometer-metrics/micrometer) | -Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-observation # 1.11.2](https://github.com/micrometer-metrics/micrometer) | -Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-registry-prometheus # 1.11.2](https://github.com/micrometer-metrics/micrometer) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-commons # 1.11.11](https://github.com/micrometer-metrics/micrometer) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-core # 1.11.11](https://github.com/micrometer-metrics/micrometer) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-observation # 1.11.11](https://github.com/micrometer-metrics/micrometer) | +Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [io.micrometer # micrometer-registry-prometheus # 1.11.11](https://github.com/micrometer-metrics/micrometer) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient # 0.16.0 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient_common # 0.16.0 | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | io.prometheus # simpleclient_tracer_common # 0.16.0 | @@ -301,9 +293,6 @@ Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licen Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains # annotations # 13.0](http://www.jetbrains.org) | Apache | [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains # annotations # 15.0](http://www.jetbrains.org) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains # annotations # 17.0.0](https://github.com/JetBrains/java-annotations) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-coroutines-core # 1.5.1-new-mm-dev2](https://github.com/Kotlin/kotlinx.coroutines) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-coroutines-core-jvm # 1.5.1-new-mm-dev2](https://github.com/Kotlin/kotlinx.coroutines) | -Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-coroutines-jdk8 # 1.5.2](https://github.com/Kotlin/kotlinx.coroutines) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-serialization-core-jvm # 1.6.2](https://github.com/Kotlin/kotlinx.serialization) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.jetbrains.kotlinx # kotlinx-serialization-json-jvm # 1.6.2](https://github.com/Kotlin/kotlinx.serialization) | Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.kotlincrypto.core # common-jvm # 0.4.0](https://github.com/KotlinCrypto/core/) | @@ -314,10 +303,13 @@ Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licen Apache | [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) | [org.kotlincrypto.macs # hmac-sha2-jvm # 0.3.0](https://github.com/KotlinCrypto/MACs/) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalactic # scalactic_3 # 3.2.15](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalactic # scalactic_3 # 3.2.16](http://www.scalatest.org) | +Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalactic # scalactic_3 # 3.2.18](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-compatible # 3.2.15](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-compatible # 3.2.16](http://www.scalatest.org) | +Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-compatible # 3.2.18](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-core_3 # 3.2.15](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-core_3 # 3.2.16](http://www.scalatest.org) | +Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-core_3 # 3.2.18](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-diagrams_3 # 3.2.15](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-diagrams_3 # 3.2.16](http://www.scalatest.org) | Apache | [the Apache License, ASL Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | [org.scalatest # scalatest-featurespec_3 # 3.2.15](http://www.scalatest.org) | @@ -387,102 +379,99 @@ BSD | [The BSD License](https://opensource.org/licenses/BSD-3-Clause) | org.jlin BSD | [The BSD License](https://opensource.org/licenses/BSD-3-Clause) | org.jline # jline-reader # 3.19.0 | BSD | [The BSD License](https://opensource.org/licenses/BSD-3-Clause) | org.jline # jline-terminal # 3.19.0 | BSD | [The BSD License](https://opensource.org/licenses/BSD-3-Clause) | org.jline # jline-terminal-jna # 3.19.0 | -Bouncy Castle License | [Bouncy Castle Licence](https://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcpkix-jdk15on # 1.70](https://www.bouncycastle.org/java.html) | -Bouncy Castle License | [Bouncy Castle Licence](https://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcprov-jdk15on # 1.70](https://www.bouncycastle.org/java.html) | +Bouncy Castle License | [Bouncy Castle Licence](http://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcprov-jdk15on # 1.68](http://www.bouncycastle.org/java.html) | Bouncy Castle License | [Bouncy Castle Licence](http://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcprov-jdk15to18 # 1.69](http://www.bouncycastle.org/java.html) | -Bouncy Castle License | [Bouncy Castle Licence](https://www.bouncycastle.org/licence.html) | [org.bouncycastle # bcutil-jdk15on # 1.70](https://www.bouncycastle.org/java.html) | EPL | [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) | [junit # junit # 4.13.1](http://junit.org) | EPL | [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) | [junit # junit # 4.13.2](http://junit.org) | -GPL with Classpath Extension | [CDDL + GPLv2 with classpath exception](https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html) | [javax.annotation # javax.annotation-api # 1.2](http://jcp.org/en/jsr/detail?id=250) | -LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-classic # 1.4.8 | -LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-core # 1.4.8 | +LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-classic # 1.4.14 | +LGPL | [GNU Lesser General Public License](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) | ch.qos.logback # logback-core # 1.4.14 | MIT | [MIT](http://opensource.org/licenses/MIT) | [co.fs2 # fs2-core_3 # 3.2.4](https://github.com/typelevel/fs2) | MIT | [MIT](http://opensource.org/licenses/MIT) | [co.fs2 # fs2-core_3 # 3.7.0](https://typelevel.org/fs2) | MIT | [MIT](http://opensource.org/licenses/MIT) | [co.fs2 # fs2-io_3 # 3.2.4](https://github.com/typelevel/fs2) | MIT | [MIT](http://opensource.org/licenses/MIT) | [co.fs2 # fs2-io_3 # 3.7.0](https://typelevel.org/fs2) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [com.github.poslegm # munit-zio_3 # 0.1.1](https://github.com/poslegm/munit-zio/) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [com.github.poslegm # munit-zio_3 # 0.2.0](https://github.com/poslegm/munit-zio/) | MIT | [MIT](http://opensource.org/licenses/MIT) | [com.github.takayahilton # sql-formatter_2.13 # 1.2.1](https://github.com/takayahilton/sql-formatter) | MIT | [MIT](https://spdx.org/licenses/MIT.html) | [com.lihaoyi # fansi_3 # 0.3.0](https://github.com/lihaoyi/Fansi) | MIT | [MIT](https://spdx.org/licenses/MIT.html) | [com.lihaoyi # fansi_3 # 0.4.0](https://github.com/com-lihaoyi/Fansi) | MIT | [MIT](https://spdx.org/licenses/MIT.html) | [com.lihaoyi # pprint_3 # 0.6.6](https://github.com/lihaoyi/PPrint) | MIT | [MIT](https://spdx.org/licenses/MIT.html) | [com.lihaoyi # pprint_3 # 0.8.1](https://github.com/com-lihaoyi/PPrint) | MIT | [MIT](https://spdx.org/licenses/MIT.html) | [com.lihaoyi # sourcecode_3 # 0.3.0](https://github.com/com-lihaoyi/sourcecode) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [dev.optics # monocle-core_3 # 3.1.0](https://github.com/optics-dev/Monocle) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [dev.optics # monocle-macro_3 # 3.1.0](https://github.com/optics-dev/Monocle) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [dev.optics # monocle-core_3 # 3.2.0](https://github.com/optics-dev/Monocle) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [dev.optics # monocle-macro_3 # 3.2.0](https://github.com/optics-dev/Monocle) | MIT | [MIT](https://github.com/jopenlibs/vault-java-driver/blob/master/README.md#license) | [io.github.jopenlibs # vault-java-driver # 6.2.0](https://github.com/jopenlibs/vault-java-driver) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.rnorth.duct-tape # duct-tape # 1.0.8](https://github.com/rnorth/${project.artifactId}) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # database-commons # 1.19.0](https://java.testcontainers.org) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # jdbc # 1.19.0](https://java.testcontainers.org) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # postgresql # 1.19.0](https://java.testcontainers.org) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # testcontainers # 1.19.0](https://java.testcontainers.org) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # database-commons # 1.19.1](https://java.testcontainers.org) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # jdbc # 1.19.1](https://java.testcontainers.org) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # postgresql # 1.19.1](https://java.testcontainers.org) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # testcontainers # 1.19.1](https://java.testcontainers.org) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # testcontainers # 1.19.3](https://java.testcontainers.org) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # vault # 1.19.0](https://java.testcontainers.org) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.testcontainers # vault # 1.19.1](https://java.testcontainers.org) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # doobie-core_3 # 1.0.0-RC2](https://github.com/tpolecat/doobie) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # doobie-free_3 # 1.0.0-RC2](https://github.com/tpolecat/doobie) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # doobie-hikari_3 # 1.0.0-RC2](https://github.com/tpolecat/doobie) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # doobie-postgres-circe_3 # 1.0.0-RC2](https://github.com/tpolecat/doobie) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # doobie-postgres_3 # 1.0.0-RC2](https://github.com/tpolecat/doobie) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.tpolecat # typename_3 # 1.0.0](https://github.com/tpolecat/typename) | +MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-core_3 # 2.10.0](https://typelevel.org/cats) | MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-core_3 # 2.8.0](https://typelevel.org/cats) | -MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-core_3 # 2.9.0](https://typelevel.org/cats) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.typelevel # cats-free_3 # 2.7.0](https://github.com/typelevel/cats) | +MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-free_3 # 2.9.0](https://typelevel.org/cats) | +MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-kernel_3 # 2.10.0](https://typelevel.org/cats) | MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-kernel_3 # 2.8.0](https://typelevel.org/cats) | -MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-kernel_3 # 2.9.0](https://typelevel.org/cats) | MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-parse_3 # 0.3.10](https://typelevel.org/cats-parse) | MIT | [MIT](https://opensource.org/licenses/MIT) | [org.typelevel # cats-parse_3 # 0.3.8](https://typelevel.org/cats-parse) | -MIT | [MIT](http://opensource.org/licenses/MIT) | [org.typelevel # jawn-parser_3 # 1.4.0](https://github.com/typelevel/jawn) | +MIT | [MIT](http://opensource.org/licenses/MIT) | [org.typelevel # jawn-parser_3 # 1.5.1](https://github.com/typelevel/jawn) | MIT | [MIT](http://opensource.org/licenses/MIT) | [org.typelevel # vault_3 # 3.5.0](https://typelevel.org/vault) | MIT | [MIT License](https://github.com/multiformats/java-multiaddr/blob/master/LICENSE) | [com.github.multiformats # java-multibase # v1.1.0](https://github.com/multiformats/java-multibase) | -MIT | [MIT License](https://raw.githubusercontent.com/korlibs/krypto/master/LICENSE) | [com.soywiz.korlibs.krypto # krypto-jvm # 2.4.12](https://github.com/korlibs/krypto) | -MIT | [MIT License](https://opensource.org/licenses/MIT) | [io.iohk # pbandk-protos # 0.20.7](https://github.com/input-output-hk/pbandk) | -MIT | [MIT License](https://opensource.org/licenses/MIT) | [io.iohk # pbandk-runtime-jvm # 0.20.7](https://github.com/input-output-hk/pbandk) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [nl.big-o # liqp # 0.8.2](https://github.com/bkiers/Liqp) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.nibor.autolink # autolink # 0.6.0](https://github.com/robinst/autolink-java) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 1.7.32](http://www.slf4j.org) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 1.7.36](http://www.slf4j.org) | +MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 2.0.13](http://www.slf4j.org) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 2.0.7](http://www.slf4j.org) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-api # 2.0.9](http://www.slf4j.org) | -MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-simple # 2.0.7](http://www.slf4j.org) | +MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [org.slf4j # slf4j-simple # 2.0.13](http://www.slf4j.org) | MIT | [MIT License](http://www.opensource.org/licenses/mit-license.php) | [ua.co.k # strftime4j # 1.0.5](https://github.com/msangel/strftime4j) | -MIT | [MIT license](http://www.opensource.org/licenses/mit-license.php) | org.codehaus.mojo # animal-sniffer-annotations # 1.19 | +MIT | [MIT license](https://spdx.org/licenses/MIT.txt) | org.codehaus.mojo # animal-sniffer-annotations # 1.23 | MIT | [The MIT License](http://opensource.org/licenses/MIT) | [org.checkerframework # checker-compat-qual # 2.5.5](https://checkerframework.org) | MIT | [The MIT License](http://opensource.org/licenses/MIT) | [org.checkerframework # checker-qual # 3.12.0](https://checkerframework.org) | +MIT | [The MIT License](http://opensource.org/licenses/MIT) | [org.checkerframework # checker-qual # 3.37.0](https://checkerframework.org/) | MIT | [The MIT License](https://jsoup.org/license) | [org.jsoup # jsoup # 1.17.2](https://jsoup.org/) | MIT | [The MIT License](https://github.com/mockito/mockito/blob/main/LICENSE) | [org.mockito # mockito-core # 4.11.0](https://github.com/mockito/mockito) | -MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-core_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) | -MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-jdbc_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) | -MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-postgresql_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) | -MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-vault_3 # 0.41.0](https://github.com/testcontainers/testcontainers-scala) | +MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-core_3 # 0.41.3](https://github.com/testcontainers/testcontainers-scala) | +MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-jdbc_3 # 0.41.3](https://github.com/testcontainers/testcontainers-scala) | +MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-postgresql_3 # 0.41.3](https://github.com/testcontainers/testcontainers-scala) | +MIT | [The MIT License (MIT)](https://opensource.org/licenses/MIT) | [com.dimafeng # testcontainers-scala-vault_3 # 0.41.3](https://github.com/testcontainers/testcontainers-scala) | Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.hdrhistogram # HdrHistogram # 2.1.12](http://hdrhistogram.github.io/HdrHistogram/) | Public Domain | [Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/) | [org.latencyutils # LatencyUtils # 2.0.3](http://latencyutils.github.io/LatencyUtils/) | none specified | []() | [net.jcip # jcip-annotations # 1.0](http://jcip.net/) | -none specified | []() | [org.hyperledger # castor-core_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # cloud-agent-wallet-api_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # connect-core_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # connect-sql-doobie_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # event-notification_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-agent-core_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-agent-didcommx_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-data-models_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-connection_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-coordinate-mediation_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-invitation_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-issue-credential_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-mailbox_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-outofband-login_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-present-proof_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-report-problem_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-revocation-notification_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-routing-2-0_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-protocol-trust-ping_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-resolver_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # mercury-verifiable-credentials_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # pollux-anoncreds_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # pollux-core_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # pollux-sql-doobie_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # pollux-vc-jwt_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # prism-node-client_3 # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # shared # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # shared-crypto # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | -none specified | []() | [org.hyperledger # shared-test # 1.31.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # castor-core_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # cloud-agent-wallet-api_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # connect-core_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # connect-sql-doobie_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # event-notification_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-agent-core_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-agent-didcommx_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-data-models_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-connection_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-coordinate-mediation_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-invitation_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-issue-credential_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-mailbox_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-outofband-login_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-present-proof_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-report-problem_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-revocation-notification_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-routing-2-0_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-protocol-trust-ping_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-resolver_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # mercury-verifiable-credentials_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # pollux-anoncreds_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # pollux-core_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # pollux-sql-doobie_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # pollux-vc-jwt_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # prism-node-client_3 # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # shared # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # shared-crypto # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | +none specified | []() | [org.hyperledger # shared-test # 1.32.0-SNAPSHOT](https://github.com/hyperledger/identus-cloud-agent) | diff --git a/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml b/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml index b7fdecc6ae..701bc05122 100644 --- a/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml +++ b/cloud-agent/service/api/http/cloud-agent-openapi-spec.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: Open Enterprise Agent API Reference - version: 1.32.0 + version: 1.32.1 description: |2 The Open Enterprise Agent API facilitates the integration and management of self-sovereign identity capabilities within applications. @@ -127,6 +127,31 @@ tags: The __metrics__ endpoint returns the runtime metrics of the running service scraped from the internal prometheus registry. This information is collected by the prometheus server and can be used to monitor the running service. +- name: Events + description: | + The __Events__ endpoints enable users to manage event-related resources, such as webhook notifications. + These notifications are specifically designed to inform about events occurring within the wallet, including but not limited to: + + - DID publication notifications + - DIDComm connection notifications + - Issuance protocol notifications + - Presentation protocol notifications + + For more detailed information regarding event notifications, please refer to this [documentation](https://docs.atalaprism.io/tutorials/webhooks/webhook). +- name: Identity and Access Management + description: |2 + + The __Identity and Access Management__ endpoints allow [agent administrators](https://docs.atalaprism.io/docs/concepts/glossary#administrator) + to manage identity and access management for the agent's tenants. + It provides basic built-in IAM capabilities as an alternative to more feature rich external IAM solutions. + + Entities are resources that represent individual tenants and + wallets act as containers for Self-Sovereign Identity (SSI) resources within the agent. + The administrator can grant tenant access to specific wallets by associating the wallet ID with the Entity. + Additionally, the administrator can create API keys for entities and provide them to the tenants out-of-band. + These API keys can then be used for authorization to access specific wallets. + + For more detailed information related to the agent IAM and its usage, please refer to this [documentation](https://docs.atalaprism.io/docs/atala-prism/prism-cloud-agent/authentication). servers: - url: http://localhost:8085 description: Local Prism Agent @@ -2849,6 +2874,10 @@ paths: tags: - Events summary: List wallet webhook notifications + description: "List all registered webhook notifications.\nEach webhook notification\ + \ contains a unique identifier, the URL to which the events are sent,\nand\ + \ the custom headers to be included in the dispatched webhook request.\n \ + \ " operationId: getEventsWebhooks responses: '200': @@ -2882,6 +2911,9 @@ paths: tags: - Events summary: Create wallet webhook notifications + description: "Create a new wallet webhook notification and subscribe to events.\n\ + A dispatched webhook request may contain static custom headers for authentication\ + \ or custom metadata.\n " operationId: postEventsWebhooks requestBody: content: @@ -3468,6 +3500,8 @@ components: properties: url: type: string + description: A URL of webhook for event notification + example: http://example.com customHeaders: $ref: '#/components/schemas/Map_String' CredentialDefinitionInput: @@ -4058,11 +4092,14 @@ components: DateTimeParameter: required: - dateTime + - parameterType type: object properties: dateTime: type: string format: date-time + parameterType: + type: string DidOperationSubmission: required: - id @@ -4079,10 +4116,13 @@ components: example: did:prism:4a5b5cf0a513e83b598bbea25cd6196746747f361a73ef77068268bc9bd732ff DidParameter: required: - - aud + - did + - parameterType type: object properties: - aud: + did: + type: string + parameterType: type: string EntityResponse: required: @@ -4278,7 +4318,7 @@ components: type: string description: The date and time when the issue credential record was created. format: date-time - example: '2024-04-26T13:30:41.666452407Z' + example: '2024-05-07T10:53:56.428516424Z' updatedAt: type: string description: The date and time when the issue credential record was last @@ -4879,7 +4919,7 @@ components: type: string description: Issuance timestamp of status list credential format: date-time - example: '2024-04-26T13:30:41.708554220Z' + example: '2024-05-07T10:53:56.466164983Z' credentialSubject: $ref: '#/components/schemas/CredentialSubject' proof: @@ -4999,6 +5039,11 @@ components: oneOf: - $ref: '#/components/schemas/DateTimeParameter' - $ref: '#/components/schemas/DidParameter' + discriminator: + propertyName: parameterType + mapping: + DateTimeParameter: '#/components/schemas/DateTimeParameter' + DidParameter: '#/components/schemas/DidParameter' VcVerificationRequest: required: - credential diff --git a/infrastructure/charts/agent/Chart.yaml b/infrastructure/charts/agent/Chart.yaml index 4d296f9ca2..8b943782b5 100644 --- a/infrastructure/charts/agent/Chart.yaml +++ b/infrastructure/charts/agent/Chart.yaml @@ -13,12 +13,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.32.0 +version: 1.32.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: 1.32.0 +appVersion: 1.32.1 dependencies: - name: vault version: 0.24.1 diff --git a/infrastructure/charts/index.yaml b/infrastructure/charts/index.yaml index 40a9be5c87..d012faf33d 100644 --- a/infrastructure/charts/index.yaml +++ b/infrastructure/charts/index.yaml @@ -1,9 +1,27 @@ apiVersion: v1 entries: prism-agent: + - apiVersion: v2 + appVersion: 1.32.1 + created: "2024-05-07T11:16:27.653690458Z" + dependencies: + - name: vault + repository: https://helm.releases.hashicorp.com + version: 0.24.1 + - condition: keycloak.enabled + name: keycloak + repository: https://charts.bitnami.com/bitnami + version: 17.2.0 + description: A Helm chart for deploying prism-agent + digest: c10e1f30eae30d047d36207c6e2a956bb5bbc7865bf34082fe10745d1492a715 + name: prism-agent + type: application + urls: + - https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/main/infrastructure/charts/prism-agent-1.32.1.tgz + version: 1.32.1 - apiVersion: v2 appVersion: 1.32.0 - created: "2024-04-26T13:53:00.924318867Z" + created: "2024-05-07T11:16:27.642515591Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -21,7 +39,7 @@ entries: version: 1.32.0 - apiVersion: v2 appVersion: 1.31.0 - created: "2024-04-26T13:53:00.914478047Z" + created: "2024-05-07T11:16:27.632501068Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -39,7 +57,7 @@ entries: version: 1.31.0 - apiVersion: v2 appVersion: 1.30.1 - created: "2024-04-26T13:53:00.898640334Z" + created: "2024-05-07T11:16:27.621312345Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -57,7 +75,7 @@ entries: version: 1.30.1 - apiVersion: v2 appVersion: 1.30.0 - created: "2024-04-26T13:53:00.888615591Z" + created: "2024-05-07T11:16:27.611378153Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -75,7 +93,7 @@ entries: version: 1.30.0 - apiVersion: v2 appVersion: 1.29.0 - created: "2024-04-26T13:53:00.877632701Z" + created: "2024-05-07T11:16:27.600753265Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -93,7 +111,7 @@ entries: version: 1.29.0 - apiVersion: v2 appVersion: 1.28.0 - created: "2024-04-26T13:53:00.861865286Z" + created: "2024-05-07T11:16:27.59061395Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -111,7 +129,7 @@ entries: version: 1.28.0 - apiVersion: v2 appVersion: 1.27.0 - created: "2024-04-26T13:53:00.846878701Z" + created: "2024-05-07T11:16:27.580733909Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -129,7 +147,7 @@ entries: version: 1.27.0 - apiVersion: v2 appVersion: 1.26.0 - created: "2024-04-26T13:53:00.835824187Z" + created: "2024-05-07T11:16:27.570285213Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -147,7 +165,7 @@ entries: version: 1.26.0 - apiVersion: v2 appVersion: 1.25.0 - created: "2024-04-26T13:53:00.819989755Z" + created: "2024-05-07T11:16:27.55993564Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -165,7 +183,7 @@ entries: version: 1.25.0 - apiVersion: v2 appVersion: 1.24.0 - created: "2024-04-26T13:53:00.80826429Z" + created: "2024-05-07T11:16:27.54997569Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -183,7 +201,7 @@ entries: version: 1.24.0 - apiVersion: v2 appVersion: 1.23.0 - created: "2024-04-26T13:53:00.791829194Z" + created: "2024-05-07T11:16:27.538591962Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -201,7 +219,7 @@ entries: version: 1.23.0 - apiVersion: v2 appVersion: 1.22.0 - created: "2024-04-26T13:53:00.780616541Z" + created: "2024-05-07T11:16:27.528993148Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -219,7 +237,7 @@ entries: version: 1.22.0 - apiVersion: v2 appVersion: 1.21.1 - created: "2024-04-26T13:53:00.770382101Z" + created: "2024-05-07T11:16:27.518115901Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -237,7 +255,7 @@ entries: version: 1.21.1 - apiVersion: v2 appVersion: 1.21.0 - created: "2024-04-26T13:53:00.759247785Z" + created: "2024-05-07T11:16:27.507791701Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -255,7 +273,7 @@ entries: version: 1.21.0 - apiVersion: v2 appVersion: 1.20.1 - created: "2024-04-26T13:53:00.74470437Z" + created: "2024-05-07T11:16:27.498373165Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -273,7 +291,7 @@ entries: version: 1.20.1 - apiVersion: v2 appVersion: 1.20.0 - created: "2024-04-26T13:53:00.732799898Z" + created: "2024-05-07T11:16:27.487590109Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -291,7 +309,7 @@ entries: version: 1.20.0 - apiVersion: v2 appVersion: 1.19.1 - created: "2024-04-26T13:53:00.721973955Z" + created: "2024-05-07T11:16:27.475636701Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -309,7 +327,7 @@ entries: version: 1.19.1 - apiVersion: v2 appVersion: 1.19.0 - created: "2024-04-26T13:53:00.705290074Z" + created: "2024-05-07T11:16:27.465601019Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -327,7 +345,7 @@ entries: version: 1.19.0 - apiVersion: v2 appVersion: 1.18.0 - created: "2024-04-26T13:53:00.693144356Z" + created: "2024-05-07T11:16:27.455032514Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -341,7 +359,7 @@ entries: version: 1.18.0 - apiVersion: v2 appVersion: 1.17.0 - created: "2024-04-26T13:53:00.68806769Z" + created: "2024-05-07T11:16:27.452077627Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -355,7 +373,7 @@ entries: version: 1.17.0 - apiVersion: v2 appVersion: 1.16.4 - created: "2024-04-26T13:53:00.683156552Z" + created: "2024-05-07T11:16:27.449273283Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -369,7 +387,7 @@ entries: version: 1.16.4 - apiVersion: v2 appVersion: 1.16.3 - created: "2024-04-26T13:53:00.677232701Z" + created: "2024-05-07T11:16:27.445784373Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -383,7 +401,7 @@ entries: version: 1.16.3 - apiVersion: v2 appVersion: 1.16.2 - created: "2024-04-26T13:53:00.672674125Z" + created: "2024-05-07T11:16:27.442955443Z" dependencies: - name: vault repository: https://helm.releases.hashicorp.com @@ -395,4 +413,4 @@ entries: urls: - https://raw.githubusercontent.com/hyperledger/identus-cloud-agent/main/infrastructure/charts/prism-agent-1.16.2.tgz version: 1.16.2 -generated: "2024-04-26T13:53:00.667476213Z" +generated: "2024-05-07T11:16:27.439865083Z" diff --git a/infrastructure/charts/prism-agent-1.32.1.tgz b/infrastructure/charts/prism-agent-1.32.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..feedc0b66c0b9fcf4d219d887744e2611676f36e GIT binary patch literal 161106 zcmV)lK%c)KiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT4BD2(@SeF_{o&m`$%Qj%}UXnr~8=h~jeCyDK4xtW>O zXI>W~Aqh1_Z~#z_n&kcL@4}VfO`>dBaa*%%H5LhM02>?ohK-GcVm9^Q7{$DEG=Y@+ zb2yE@TkF&9cDo0Ad-C6Iw_E(TyT7~lU2pH8cd*wzIOy$u*X`}@?RLKd-Su{(`bimw z^tflj z02C#JVNU404YgQ4*0kj>o`R8!gof_YI#Xs1IP0L^yx~R%=$k+_#?FCQo_&M_vMQAS=q5yVZ!`|Mj*C<5c>-}zPjABF~M`0hdce*>fUa#l%4z6~( z{r$i8cVGK^uMS?n-tF%HclTAl+im|Y)^*dzUH>x}rHHLx0a(2Ld)-&BO6&jN)&A4^ z-^7FCF-45^TL5U0+XtMcs0Ccn_7ja{5l_iUZwMLk6zMPygBu@m7(w~M$D{>75E=uI143nkPOnBVVo1J%QABR93B_X^vp#6IMQ2k!aVywS2v{*o zr-)ut#5l!)lKZ94tPg(vw|uh&PCju&V;F%W^ASLb0ErO;w-ZDW;1dKG3Mk@&wXx3O z#VO$A2E|N+5ap9Jickn}3{oZ(3JZ21YclXNj6(s6q7k7;)QO*SVEGXk&VgXJs#{3c zJ}Py%_~jj%Ur;o{pK?gQL31yWuUjqEb%|p2=YSK6a>aEK@xBE>NP-(gFVPq?PUlx* zq`A`SyGL~aPvSzfLuZJJX7Ch_k(!~r2pCTSswQ1L0%aE@!oj=`PDf{iUr@w^x}`pI zIPQbVJV7)<;TX{l4pGcg<^>T+L#>$!_>819K$?akJjI-u#)Bm7gZ*xIs((+>RCc7- z-P!wqTdIHmNf9el+1W2u+3)Sh8WEnM7%_H1$xshcNVXplHxLrYCwbjly(>a6wfdv@f5`z%pk>L0W!b|7$N|}5QXAzwPFN0h$Y7%ju90L*Md2TXCF=F zKKT5#1whKsN1=+?9?&AawwLxfR+%(1%pl(CcJvhG7H4_2>GjsjmT0!(cJ>eS8Z9nsUF%g(B?tX2A`do;t{(JF%xZqH<~Y~2Zo`Lq~Hx`|J?8YyZ?GesH)lbAW9iW z^tz&4&n>qFPUMh48Vi|R!&olC3vf|4oX6O=M=o(Snh z=t~zWM-dVb=DFc)fnqb)x|wU;%p1@a$jSBatNoGvCFB$wBhVh<2<34mSfGH@kyF?a z)Y^6+w49NDg3}~IdX`cubssrACBI?HiI>IoZqsmO+3;_r<9SVGtH0BOWK7kxyCUqV{@o$R1 zYJ~lGbRqkZl^5Lw?QxIG>B`8xS&%KUvoSa>#x1rWx4U_rFktli{QX!X;+Z0Rjrr+sAB!H3R(676% zyTJ4CRPbX@3V7goBLsO$5qlG&AcA7@XUG%1@DfTS6KF|xSzyzd^iMhYF*E%2d$G7M z6O$u}Nhm6mL`)7^%5J86a@ozU<7+XVUQJm zVu)rE*huOBL^U$W*aydsXfOAvo$r*g$ui}^wBl)I ze-IL5=kPKCG`1QQgdg5#f#V`5*Qd_qAg zt$kHV0UMx5>Tg$w3dC<^n4dx(Oin%}LO;SJc0W2()8_L8wez04BoQM^a~*67c?57KrD+hqERIp zlYUIs|HsiZi6BR;b3H*(f++KOvIbY+69511PPbd|{~dIDdr$tqO+24Jdmuz393#*U z2xV>XRp}_=10DhYqjCxxN1Z5RHs?%H!(+s^maED1T}5UQz??_VfVI|=Wqt+6-{;Rw zpnU=VNeM?8RM8QkyEp^YKh2+>{yRgA@~e4{2eDlqeYsEp8xoysKzxQt;@_l0L}SFofJi5SlzU{9_u|w+oFEtq zR?AS3Qq1Qi!lH;JBxcB?=$2xR>X%rNQZ#7SFT`Buk$C>;9Z6lDdsp)WdFP3iKJA#W z7>`EnLg~L#p{QrYLKM&QWemK59*}4Jx$O{*q=Cn10G=}xjh;&_tp7KlHsqZTe-nd= zQILO!r{k*1d>)}(xsmLo^g3}uS@xdLsRz~i((m$pAIRnBT~Qb_sUDd@^g(+HKZ&V) zv)kL>J?M73e*-uUqBKN=KO-rHEz-V4_=!F%@tIg9(x|K}jT$?*-!3 zHi(HQeeiC1il$_S`rzmGKzf_n|6WR6+Q)VpR*;wc;^A;r!n#%f+W+(}HH_2ateYA+ z*Eqg56s%#oef`$*@6Y~J>whr841Y3WOZ30q{;QpW{`YEculJuH{BkDB1j?zgWphu?bTt7j4a zrzGWQ4dFn`;(xk3`$hZz)$UXL&qki*{C_20a4ATpf)QxPqx@Q0`s-cwa{s{beCnpt zNIN+p5A6D%5NF$Yfo+|xIoYFBdSG&PL_*1@`RX>R zG|;b8iiJ7z|K!l~!vFqdd%N9v)@%Pe*HlWeH;iP&QS*jmg=;|vOf+R8V)VYCZb9|v zR}`qNXvW}J5UJi<<-~3ynji*%8Hfp2t|=6P5hYUqW4q-7BBHS0E>p4cxA~bPD)+6* z#X5`e$GRl=t zIoZUVBRC7krwX=h!R3S8JP)p3{{f;LkK~Dr2lxMXd)?hq{NKUutEct9iD$L-FX+OX zsuNT`CY@PNul}QqV4AOg0qwyU001zK3D?22${kL}BnW-+PeRGBVgPI&2i`55iKe|? z+p-O{bkCZt?ogjS>4Tl#L3h%fb{W_Lf9;0yBx;Oqe~`y}`(QWw+S?ajF=HvBcK=af zD?*&1Se}egdzK2rD){|W))0-xOyXyqyzNN^{L?)({9oEHQJ{P5lN4~K)3>z^*)zj;=Al`nXB{NeQM`lrFkrBgI}SylMra4`7C z`Q>q`g83jTU7j4i|8RYF_~GQuv+QsA>EiNq@ZtLK$CI!bIl;-AywH_s|x*Hsvt z99^DVRaR1;6hcO6tRhy&h+oU|OV={H!i$&o{GU85X9I=bJbPh14?#*J;Cb3J04~l4 zSD;-+Xh)t2Vx1`zLZ*{Y!bw1)4oOgqLr=%zc4WJ4@ITqcv*(QY7f~l7tCueVIeL z+8S0f^5)qK6if(sW@Z9>0l)qScoaPM-Ez+j2vyqsBtLvDOgv`S8W-{;9V^Xzz7xIN zw+xHVc3QbF6V8)s#vxDH0+RXhq?%&noEW-smPbc5$U4t#%Q?(TTDb-7|N1Q37s&tG z2Kf>MbV4-i#Ay`eKfDF)Lw)L5t6V=IND<8=F`Fs<2Ofc+!82#P;LRJb)9r$P{|)d7 za*x-^DaoBVM<%y~TR(+irmnQxxz+*^3_q zuVE^YfvhLyGglhAgBU0W@WKk(NqneI<1Z;HW+&fW^Ujvj=T$Y$D5CmNpCVQ#jcw4$ z4T^#9`>KNCNry*ACxgND)%m-Vvp3IP6eNSDdo4>&{&_mMdh_f>k&A$5WmuqEf+>Eb zR*?%;EF--X3QI{1=t!&pIU*3F+Zy1SsIwu0{K{FOpOvq*EY%CORj_!A87HeZavG^d zwI_W|vErd!qaqnXZ_8TkTxgcsxyZVy&cA1e+6?8jb^qJWMud(IUS!f$>;Kt_-E|lM zi}nAV-Cp-qQUBlHJ9yInH}T}Xy9vu&I>(jgLWEo9Dz6h-fu2TGnp4`)(GFtECs%P^;}doO#cA(_jY&w2124l zj~ImzJR?FuHW+hq{%?Rq2qi#Ph|%9{^k+dh6q#?~;Bx_K)-;@>&;YIVU<>|+ z9N-1wT%}quc56O9qOygYgTiU$@03jQCws;0aq=%Xjh3`-GueCrF^)r_a`kqqx>E3g zG##T-St{VwdrO*vRvMyj^5!*c#L)=vi@{t66tk{H9b_4zH;;|8lKA7SQ1b03*Pr}`5~RQ6Ff ziD;qE7pK?nPX2X0IDCJ#_D&~Q=H+ED;?=#b{Ia~$7w7Na|Mbu6;~%cyo)0RzonN{S zqLH;1cI)E&vbtMY>aMz~1p#EMCM1f|PYbIS5a-gReE4Lu$Pb&u8NPS4tx+T+92dKTFFdAY^ZW8_NfA+Lww=8qb2 z_n?3vg35~PU2u*S_$Wx_9&0R{l(ny}$A+bKEU5J}Z)2Q4 zLJqVJvU(WC{fLov4=Ou8Jw7`B@ZoxJa{2M}sJL^Gu}O22-RI8$$07Q(G!(lFzJ9IB zqfo_bFHZ(n58s1IuZ#4apPe6{)XFVqg0uTo{0U*aoO`zhbe-_22AvRE1G;*{Dnzpn zB&_Mh@yW;Q59h~~60CIfi1eLDtQOSY4}W@pb^VXS_wP@{e4VU)b=|@!Lfm5rm1$Yu z;#2XZp2{my^p+i;hd*7tJvqBNJvzKPxjr0Rn{ih2+#0l%r^Q_ERNeST*~H=Tadi_l zdv!LGp1euKulroO9Vg%Fn*G!2Ruf7HU*w)%@O{PkTXho~RP8pNoE`q~zKVb==C@S2 zhDEKi!CC=TZa*$z6HE6VE8tdbJ>GNkvA&hk-s1w|y8r&;UYRl~$wg<2yg~DA@J#l{ zO&F;gt-h+Qdf1;oOKACzE>d+XwQRh!XSrG+!YsSP1FW>kTDrvply7%iutTdiDuul1 zgYJH}>wGI*^^x7}phFn)DWTOpAH{Da)VOzL)KZNp%<}`PPrnWZym<= z^xW~Oj{h{->y&hR;QY@!z0&=^ul9OR=f5`cxbdH6*3H$g>V)qQacE*f%>}kf&{UoD zy<1>n;S_M4+SV!tV>XT+rD#MEo1DfR(V0-B+EV>oz~Uv!v^ zfR-s5p1LwBaBhT<@~C3$71#e}f$|TXfqETu`2hKxH%g4T&R0=nL6KTOnazmcPm=-r z&;3-(f5*G_;O9TOyE}X3^B=FC?*H1zd&Xd}i_1c=fX5>)ATG!*?y_*)$nC)@| zr>EhH9Tt63wxnu}$vdtWgK+P|HkTcgFT-94qEuduJ9imkYl*SvyQLk2P5T5&R$pU_ zPXj1~pH@^akE<#MRf9{JjX-we#hkQ$X@aOIW#6b{g5fY%sj&Z$)sM(nU;UYjVrbkz z-NtlP3(huMWBAqkCuQgct2t!lgY4Y?7J@dirgEEs71zklEMMsDwHuwAEFGKN1V^d8 zC-#Y*EMq6mlFMI^+n8o;HFeGI&;Ksdr@d#od&(^K{PCmL-w5o3+~ z=M=|dHS5NnUZsf^XYih#BC{|e#{3+)A7Dk~TqRy-* z*R-|Z29iV;Yy=glrl~n**3*d409_*88U;oZY)fE}Q9oGNe!BhVCjXV#%{vE2>00S`1G+Y0@gQxZ1 zc>P=F&FV2BOV)pHr+ELv&hF0s)B4}Y^T6xhQjH2wbdsh&G$(NGUTDe-D*V^$#7N%# zxgsj==%l^_=4^7_mGr0zIK~}+H-O)IVf;y+#{Azod9ZH#Z}-)HN&o9U?f-A&d0_tU zP|Ze|KC0p}6ZEOf?{{85@t8*I|Nfgm%k;l)uXz8@tM0*5{O?Ad>>E?>n(|tcrPxe&ve|2IpjTwS# zhyY!}|94(>4@&&M*L~vun|QW>IX13NX9zCVAyYKQB+ijRXBd&8xgQ37g3}~Itdni4 zbplG_U&&CCOL60};>52j3Wkse6X!BHO5*=Zh829??U1J%%=UVN2@2ClFvagXyIt_T z`cH<|r}8d^Q5yYUGGuQt3~0?Ii+^W9V@t$#WjoE*NFr_8&hq6<#OYV0jMe65}eq}-snSJfJ@ zIW}y$=H2gYwEI=9-K+aM8|{8oYs6ld!l&Vni!Si4k3RU#Y8qx(+!eHAR;|f+&b^jQo~=Jh)cp z*S5fsw6nm+qX7spWi5Yjc=Tq@Fp?KW-{{L-lfsc@4k}`05e8O6OLdmZv;4L4A2zFF)N`7tm zGZv5#b$$;8v#&Q=K11 zm?F2gx4xu8y~2DfwjN@h4jv}KQRbp4$@zxR7!gMZqm zmjBO`<^JIJKlgTf`>#spe|LAD;y*X?2rVd?Q#_t<@FIAbvFB}Y8V5q<8(bX!(|eBt z6f@+V$^?ufjA$QxxOngF_}x}(3mncMj^Hp7svCt<#1Ume;RAevFtxY0D4LRYa`6e$ z0zguo-)adp63T;MTfl5TU?vMHuakYtZZQugJ{aihGPzJnIgz*C079*ceGA;;DALu$ zhY&OQCyXKqHz3o5#3<%WDxo-5pk$B0aBlkTw}5F|U#%m7pHATzfh3J0&HhCnQikOC zOm-6?0ww}yDxlq$H4h^h6)v>oXud7GqOxI4;T#N+^a=?ihX4vR0!S&G12O`7Urs+5P#|n=w zGECgNl3GAH{D3yU?Tq92S9u&m(#Fx?6d0MIQK!(8n^!r7X5zAJG6EYg*O>2w+e^wi z3`5!n?Y5q+k*+Nv6L6lOcpy}q764Y=G21h;hP=EKfeR82wA9yE2B|ycLe>HxVLDHk zq7OGg-xfHux|OU_0_5v*(x}1=Krl@sjy+-WSg&KKCml>-B8?~z2#Sapk(7eCppkza zet55-x%!;GT~vB%1gZN*d#OC00i%fAqVR$eVF^k1M<1xXFCD!QwrLu3JVoZW1`m@2 z(kY=C{2}6vz*oa-)LmW0f!7B$@EY~65j=UKND$i0d*fRz%fT-bz)xG zwSwv|D48NYK`9edCpSBFtpP%^1SbiI&uI41^;(#j))17GMPM3FLqn&qKzbxLAN($`y6uS#rn#Q6c^UD5$0dH24$u zkXe) zNGGP0MrNXltP$XtaRkF9d{c@G!DrO0QIrrR+2L65U?sb>t)L4#V$hvmE49=RvK!+1 zpj}~jsGSE6$9>T5`8$43y-4cz9%OGN(Vi~vvQj-NyQ@AO>g4rX&VGvzwEs)dsb;@I z@t7b$jDhQb_JRJ@^LPE;e*?@UM2h~CVu~c@vkouEN**J^#@2ImH9>VcmO?%X-C?;y zGF>=U)tTXEe81GaCo!UuceweGG)M;7G4=ZPW_ZRsl?X-q(nGESyhK|vpe7a0M6K^Vh|v&zZA zaS){;>Vvkr{$3DgdkT}bs$e%9)yra^G!U(^${BsmY^7_3MZh?We}j2|iUXT16!Z!6 z^Y~JT8NJJxyEu}G2@I4Hd5Pi>Q72)UCcK}RP!5S8KB2Q{T;wlBWJ;S8q+fBt;uiRa zKqM4`Yly%I;)rd7ca};N%M_Aur22R@p@>aL6apccnGuO&JQF0Ds(WUOW&2=9w{|8o zVMtvX1tbm`fFr?ul{ugZ3``(Xmo}o%G@$y2W6ZH&{t}$}6&<4p&IbxyAMERv-jZ8D zMnaOkz_DrVrNCB#s8~}<3JS1_u_213hN!@p4u8Ngo~BdLIibEt&$`~uc9yy79hW+x zC@FMmp*q@qZ#~QjlxPz8(Rspk5eHShC8)Zc;9%mmD(8WuToW6fB9ihPKI$liA{gRI zQptaLqLn9F$z6%+P)hl7)lJb!?{`Ni`+polk(46uQU({0Px6YLGuMYHpMVdDPl(dD zQa(`^D7VF*jy}?^v{E861~Wv5LMfY@MqG_{3k=kDC<Lg0Z4jbiI^LGr z)Hb+cp z)Fh0eoW>~TK7dr3Lln)(4brYXdE{CtLu`^NzfDMPW68orx$}51Nx69C7%R7EI3eW5 zELW#ty~?zwMGsXM_obrSPGhTJwXNDaM1l%QNWu$ zfEp(Z0mFy{Hy|OQviPJ8Kfw`l`ylkYG=|3Cxvfk9Y0k8%z>PpjeLthz=!kT7wCU$AUXT!Jid+0Zk*ZPDdK1c=aI_nqxfvhr-yA ztJQA?A13I)qe{DHo_yn?M>08S;Dm?^0pUAnb1>5fC!b)z4bJj>$oQwByqDc&YMQ^h zgroanT@fl6A=H4S+dAt8I2{4Z1$UUbGO4zxEo!zCxuWuswf;tevO>|4=U)&o6^#YhswHBBO`x0JAAJ{Y2W??jny zX**4^X3x6!K<1MJ6%fJauVxa+P*hpx4Ctc}-w69^JaWqp$*lBv+vUuSX zy88%H3UIFFfkOo44F^S9c~@kTxgwt%L7rn;&y6RtsDwO#F0f1!SgZ%!T?g2>1|axv zt@K|$K_#}4pQLqh?^@pdI5>AT^T@G|8lGLnIU4ZmT5i33#`3HtKV56#^Oaow5%Bm% zlT_yJ3ub6JXD{;grjz6_%lr(j#B}vvhh@$iAey=Gm8V)>u%>5Rke6Y4CS+j(x%5nk zcZD4;8M3QjB^1xZn;RtAo7|<$Z{AtHd^%Fwl9+)wjUpM|;F@At4Y{*#9PI>P&TPP3 z;Kb2^DG8D4sH_4R!{b;(gFxr<6NZY^!Zo^VGn@c(`cgJQZsXE69&nJ=m)$nfFn~X# zaTp=BKd+8edh(zp3cn>ThlRNRDP`PKH=#p*EHXM^;&Lu_EC)gtsl2RDuE(HX{`PhQI{Q z5TFP$B3Gw|qsfYaVajE|#L)N=@oy*;h>MY6N090$3^Ry6;1Tl!s!*&)qh8*ic}ufA z6-FR^d*~C-9A+fU^er9!lo6u!1eW&fL_HImaHL^k%aLdrAF?wNUlPLY4vqcrBPD54 zNG+)yLt`9*FSe0hx7$^RiEZ7VWYX@cs%f!mR&#W>CIvc1E*8vgsL&y!h}>RKJi`$h zqZ1auNNpZEp2JGnX;*gJ^do)4~a zH&~faIW`Ma*X_jgga!^7B&@|z5<-9Rf4dQf|h9t_CVkU0XSvmeh;2Fo` z2&sq;&1e~5X)qCOeZVmmsFMC?b9;xj1rrh;#vC6OZgDgr0>^TveV|UZ;&`ldc>Vh1 zll0w_*fsg2Zk9J=%~P^uv!^bj?n(yaGLTr`K2VWaSZ8B!9~+$6&)J*m;Upmu8PDGd zbGbUrunvvT1?`Se4H;52>Ng5fxFz%^A~0kfQCIxWGoA5RLJ&Q4!jT&>gOQSV<_x?K#E$VP~9gXdxSWnh$ zQC5cz!jR#mLT)N;P%O@Ez4gI$-0Z^cCH`vDo{vpYje278MHf3;;{Q3DByS=*!!Qz{ zDnyb7lRkjc@L*5h^;5PmE+{5S_lO{?p07j~IT9swmXLOd0^ej?PZS8aa74c-aE7`kAVoi}^dXv6EW6 zw>G*WSRJs61MBBpg#@y!@HJCVZ2nN&V70x_1@6%q4WYhIhakj^riluhO~WzbTKQ52 ziQRyfQzXO4wIr8}BTGKtvL>4_Wr5Y{alKC-RJ|?%Q7dav{qGAsk%i;ebIIZ6GbRMSu>G3b|alCqPif&m~h22 z0F3ov8CzZjw2E=5@<{|^=~{_7C1DyUn_NSc&YT$*>yHS=t^^`UInq9x2npNT@h}V{ z7~g;w?e|bEpZw}3gwqdZ)JLZ9E|n+*FXw!u8(TiPx@?;;R#m-M^z0rCnO5h zimt-fm324iI>vco91o%a>upsKb>J?`$VlLgl>I~Pw$oLCM8~6Xm)<%JNPV`gKWMtU z)F!AkJ-0PK+XjdSzV$xn#h`CL6LTM+j4h~@tt6EYc_F4K;F*w9WUO(XUDGG+DcM9$ zTiXIZWKs4p(a>x?yV;Eyn8FbGt>&@cRZ-3g-RCnzDGqgzf@xhvdtanc1e{Iq#bM%h zlSx8SoCpjIi@h?jzT)G6LoS5%0P!aN?g~4>b!amUjUnFIQl2$Wvs*0VztlU^l`F|G z+vo8yiV#P|I2{uiG#1<-i&Dx*vS+8G)*7m`urE4NscA=a$Wqo56PUCO^i|ky)KdE~ zdTR9jEy`;kMxuUNUx1FHGhCmjf|++#?T)DJ453vxd_)J~FvC=Z-r^f^>G&qF+~>6C z+SIwi5fSZ(IZ?ZsSwx8j5d%W?0X+06Aq-hwf(0?8`h}DW`O`>ZNvmO2o=E{&QY_<2 zk_r`tqY)0WTfHkaIaB(J{j2CoP$?#*71Rgu7{{M#it>ngFi`h{&=j?8F#xR3Vx8a( zvy!?UjH0>3p@wK}GPC<5IBsZnjT}5UF%-=#R6}Z>wlZ)$Hsk1QWleZl6FS^9-!a#- ze<<~1hZK8$@2}f3IMC4h1>_UGH6cCmP^Nv69MqW1DD=xGRP=#1=O|4o574MHXJ9JK zr2w*AB+nY~AUfv>HB_0-Qttst{&{TMBN{}pG0b62vEt&*+P*~EA zWp|%5wKpjTvaLea?KZKrxl?^|AsegWFzV2$Le5miqBFhOt3McPMZnj4z_Lkd=})g# z2U0&bm&${b@`+Ft$B+|~FM$DQZ30Rn1co>c^&$8n(%u$iSGP-8dQ07$d#r>~7&${c zOb-I46%Xez zoZ0^hgjVaa%$!#obxX!HS@A%!t)jUYO!vy$spv5wAa zypRjPvLK%=z$TEQ3rd8Em1X@j%rj9R9A}XzFAXZhZxM=((9+=^g@$T)h^k{Fdhj@g z5el~f^2fenqj3lz7@Yq2_NNQ&ei4>3&D4_0Zs#@!WLFO9Sfft+fHlUX12GJ-vQqN? zR7l721UIvo6HqdvUukPH1!P4qg3JwhKeh_P(CwVcHfaP@=0Xvyr;1t1uH|^7ml2A- zc6V22bltMrqF@=`l*E`5fv80%oL4)ynwL_*obPZ4EKEcwd!W*0I@Y1<>k>=EMC7Rz zH0yQPoOLD$Mtt&rq~ByXCpT|01!)V25!-!_STpd#5RCp4Oi*xRqP=wXjU9`sr}MXe z>|>R?IhwbLO7aK#ooKh3L;V$=AVse2h4k9a(`$iX^PTu}((6I@iC_x^+j5<4AT;W9 zh7}u`DR`}tBF5+fV+sQyOQN~mF>D+TVseq#KfMT#P%sZ7mol7 zy>4F0n1duNLMV}g6(ce`y$MAFP7=U4N@Sde{5cS1iwC2NVoPb&%$h8gE(KyRlhR=B z=fgc5t4@byBclyD!EKsO@o(9lIiX-k2;&qcGMrdwjmGTt<<2fthB)r9 ziT>pU=Cx8hQ--KAmpaqAvbH)jjeRy*W1OVT*JU&e@z#VH2ii|5n=@$9`xOo-6St>S zwv-cdiOTXQ%OB6re|&#(eR=ZZ>G_$-ua*CHae4lKPmZqoU^+Lsr*q#AFD~An9vxnt zo}XPGU7j4DoL!wBz8~}}(WoJ0e|Z5#A@k*qONLdI0OnzEYXYH}i$V@>%xxb9-!)~rgjpuFSSkQUaCge8G&b7It$l+Xtdgv|i7leYg>ca<^v|kn! z@9ErRqBQT7wjfV3*jRpnr1F@4QMjK~A=12@!Vm!)kfJx=a+ae)tr#DbnT|AGXBYxb z{spHIpinvTCNLI^*E5VTROczI<@d4Z1yNA~NlK;bRwXK(3KGX0Ajs5l8ez)W?i#x? zpQUSNkgTnmtx7Xn8QC(p`4~H4gRY@og(UsONc<_3@>9hVm~Q-z(4;*Qd0aJdJQxgC z<5ft>^EjHj{>DZjutgF?tzL51Ss^2u)CfU1jERQ!qP4bX}t~S&W7_Kb14@C=Bs?SC#8h)+-AYe z?_KLnVtv%!4d9a7zZ#wloRKpZse{2&hN77mf^uG%eOH^ySZMcdb0+ra7iX*7X8Bxk z0NN$Dz7b@*&ngzJZUl0b>mle)EE>b<$h_Wm_pNPK1MS^2Ci*XnM0QWWT0s{c(kW`t)RtrZB9h_d+to_1H$VUfgK-p%I=^c(8zp4+Mkd*C0 z1gNTEH)e*?y(+!57ssdPSm8DEt^92 zKg+<}$Yg1xL+QRTW^U-*vXkfIS`O>gMFDM24M%R>s)m zGz&?u5Y#qO{^fa zYT^_oiDYJK3q@AED8ei2f9|;w0Z{HGU?<+QM)lJGS5p8NDSswRFBhOzaovg009EJm z9JHk9ITt%XaPjd-4mX4x>LYN3!ZC7AXxaoOVvH1uiB_?wwk(RrIIc=xRU7D*x6(A6 z4vs_gNd~=%KHkLSR%SP90olEQDpjwY4)AaG9FG{64hL0w75)tg+vi8D3ky!G6PzI( znJMZR(v~hWv%Bi}&)V7#D>`I$ZO`1~LK-E?AkugH0I>w6PZ#S;Y;3-LHqXCyv|#b4+~h$I1LF{zfeFFqb=omo^Cb^Acbw0}^{(Rmz{ zuktC|Bo@YcX%VI&Ru0LCjD=1mx|1DJGiv5`wgV@A2wAAMoW!pz%&4W6EeFXu>_pum zV;VG#UD>;rGBQvcWXtR(WgTop?6UX*;+Eg5soT9&X_MqFyYxigi|G3@jkCR{c8F$e zDSowtpyoJeOu#6mQdGzY;cf9o?gcuDzP4LN;fqOOU%7O`Kwee$DM1t)Kf6@URaeBH zBvrH-BV?kT)wV{nHq8&vLPc4sz95}++F`^XJON|J!4f$K z<=dn8zCqC$;lkjo2zrwa|7&&Cbnh))5rnp=rF8P{NVSxarwZdipwD z7fY&#>Q$CPIK|+NV{QX&FCYrqJV@H$v)y{)5xX{izBf7mOY(E==6M6!Kll6p?h9ie z+tAXEiR+3|y{we=C8n`+(WOxL^=)SQSiTYOWd@Vm+wVR*4HcWX)=gaN zCf?-FcLK0wcK6J`hLLE_kpY+S5^pNBT2Z%UN2(846wYlBYSuy)?z635{YZ#lCPxuT zL-6jyAWKXj0RH&y!$6856$lO^>0wa;FWWYt+;~sjGnR#%mlmSrzgQi*AylS1%uWyg zcyuBAU`mUQg7!E_f}1JJ(6Oa%5flV0f4|YYrt;coPe^#DAVp(=1XEB2Ex845(EM7m z!V)BfDes25#pQ*gx!efE#GKv>|Kct%^BjvvC6oiYFWgT>2J%uSn--7!F(}^ zuVsYZ8_?eEGG`Qev0a;OU9(W#ZWo2@+rvz_3RP8Q`miLcWup?HI=QDbmyOP@M3|8b z0Rovo6|(U(bBq`jNrk}ZV``W)6pf6GIU+GjRp5k7lERtoh%0VUjd0VKx`wI|x$h^_ zpk`3tqG)P~%(-Y6fKy4o_C&6X0*O<3j5_P>N0TyE3Pcqrfk!gYFc;%AoooRxfwi_o zc0uK?t2jxtCRj4Q3VKp)zdf`yR<-lD4Die^rA&Mz~wm7HIKt>V1==mR-V0hdp@{2JN$6+(yxfo7^P9r+c z<2tfMx$c}T2@TeQ<2I-%n;A}AjZH9mYU~&tPwo(A8i&YiI{S{7$n}5g+qShd(d%CV z63)Q5l})xBghdKg-`Q#&svqthfy={rD$$U)hsKU73$^!g|lAeT&8q3RXZO>@vKoj z@1%S>>ZhYbIy$IWL3yMt&_eSdl=63-J96K4E;4g&c-f>~s+gbE7~US1lm^Rq^LF+Q_IrDO7;DZV#7&l{ z=C6Y5%Mx+}(;RZtxkWyx1Hf4-JLeuhxvfc38T@mL*~B>{Sto|{i442$R2D8cBr~*8 zdlRfVGb*@OZdBm>&eETPs*D~$-c;yj6fIpG@*?i+y!3i{lP9*fotW`xD8}A1*)*T) zLkZBF>XxqYZA%#{AYcw)42aG=2&CgwceR-3G|MP(YVj0u_*xq%egmd4p4+K6iEnv~L@!i#LWu779OIb-MY}*TGzK;q2KFh9V(3cP=i(KUuJ7CczJKEP$ci#x9SxN!NDT$185vf!M z3al2NzAzf~VPL87Zrf9W(s9ZOXuE-~?R;3XqXk4n-y>(ji@^(d3dLsGefN4`5`(Gr z_tLQ_WDexhT+(wx8%rX6jj%7o9Lf!4J(o^EzKoVo=Ob*)e9N3ykZ&%CK3{3tcM#kM zZ5yrJ&OT+al{!|&ASD;!SPFWyUB6$1@*3ikmq#Z*d~EXa$mFfa8PPymMwjwB@V-4? zYmZd*4zhRttJnU{uD{#a-D&AywhYecMZfXkqZH>-6MloUN4Xx9M48Dn&phd+@&bmv zkm4Dlp570m%5T#O*a8-$7pYX48i4~LL{k!*bP8%~(L~Z{XhvDC0|^*PpwO(N`L^*{ zZB?bv%Sg{-cr3`R8sL_0*y9uA)fKYc{fE*2bZ^wXe`=6fGXBgkQ@5=f%SQrN2@Ulw ziek-piX%w#nMDuBD!;J0Qbb8J167(@Y#s-IPY6Rf$VF>Pf2&}b&GXz#OqgNjliu(8 z+R3#zi~XN5>48akpz`cy$vLug?WHsxGAHj-7KBRVRRq2ANcxtxD)SxODeb;Ym7nF; z&ob)wc3#_z`o*mKODd_fPsT0d1|sU5Bho2gZ(tpqf(yOWo-^?F!{L# zAeg0wF;n-1OO#HgFc{=70jaj-6hAInayp}x?13*s`E@D9DDu}n*kr#I_vKXko*KA1 zY>VI2Cd_)Vz^h@VN~!j8ci@Heo6B?hc1DwIMnxI5k!M~qng68SK|FB8R)xf}6$}am zpN|mF8kg^H)LUU8YREH4I}sjs^p|!cmrR-UXDGR+gC<}Y)Bvq^)D*4j`g?4hOIzb* zZQae#bIkF261FYMD=@w#87CxM=+dZ5RgoJ(^?a`(T?ME}SW%g>;!gBx;xN`ksRmp{ zRswm4U)@P3CoioTjH7uqxnrp6mZ8NuSMDMjb4iVPuW!b|@rbmv_LmoyC2?66m_=b{ z?wkP?chwZ-X7jprSu5ncEJ<0>^di6CzlZ&<>tn56_uNux;DXO(f6O8#3)z0%6s~?v z*5W^2_SC0rzl*Z{X2epT?$@u*_xnUDe|%EO<<^l`#F^XPq&XvA9n^}V0gA!8`myXJ?kOSg@KeVqX>?R+3$sx zv6UUbHExxFL^2JG^jax*xlHFrQn^bZLpE%PibkPz@sAMXia%?QolO%M%B|5~Y;4Hq zufIr*<2ML6X>B=9tw^!v+o5ezR%rG zY@`vYVg)9<2v&QsHh+|op@QeT+XP{%&d6XUBVvwZAd|T;HVZ>Crlviaqtl<6Ui$fM z;FximYMwx1Fd?^Yo1&sTz@z%5x5`E&jYAn9Wo?nFJ9sRHJe^pH&tQByY|K4q3Yd=5DNXxA4+l4xoW*%CxcL4=0Xf&emecU zAzV1|ozFU{?@-Z3L>{c~>TEI>?Y42AGB<&uz6Po9tT^r9(Hpw1m2@ij_Do23u5}A% zF|dHb1X&iU)h<<`4|cm2OIJ$mD2D3m`l@yLw=UQRJykjD;$<2kmK~T_@3MTLg}HcX z+9Jp5OnqL=iScIF(&(5~fxp8DQT{qj|lC9 z{i*vZ%4JyIGPs^0D)TK#Q zWNd3RCTCltDZ>T}$=f_l1h4?+^tKAldSvdEc6n^MQZgSV>VZADfnPAIXY_ zX}#jLT)VG=xy*K0zRYZUix}<#td`eJWj~i%9m}kZDyWOCi#6*hD_9Y0(hD0~3u|ew ziB-_Np?j>8TnxyjX15p*(i{~sBNd`|w2#a2AscEr7fiCDHj9xY8)`NmZ?eut??L5@ zl%*#N%Y7b|h2_LKuM?MX8bwVosf6Rhqx?RET@3DBPUdx;tpcBqCVdhQ57hFLcvwTD z_gF>Cy@E^GSryoPkoS`Sa-PQ|fbKy!?&-|?n1xFu(xOeFW+tINWcqme*sA{J^xY(_ zTk~#XQzL#w*MLsDAY&U2!?4~xc_%q6ZSRXTiqyH)^&0jhK{1=)Q3DRO5>679Jn=l| zxg*bu8@UHp*ss0^zvB@*Rn7EXgMNCljA8V6Ea;eiz?hE{B{q#*VoW~-&Qa-tWe6n5@ zI6!oRk`Vro#^EYz*S#bmqI{w6Zmq4|p!wz+%ThRf3kUAE^UMB@wu&FpZj}z3!UYWL z^|3W^3Ec^>c0w=NguWA2oV=!MHo2en=-1fZqmljUMyHdg+9ED><JKdUR&^LQ7}oO5 zDqHm7#$~TS+0fo5{%upcsA{Q6FV>%H9~Gv2a*QH0hJV_vj}UVB#A{0pKJnToUi%;| z{b_k^h-RB&Fd>><62h;@4XWRUD7Af`X?+#SyLn`#m ze1+q1?tPwX1w4Tp)87-kFqX5}?Bh{i7DY*`E3E&316%D7O@lG%zBU-uG9N#<^Qgk6 zu|l@S10NDLIS^rbZyHo-J5WqZloTyP?~)YOAzyKKT5 zioIEZOd7KaTcZifFwc5YT|SPb%Md>!Av%4~emuacSsJ8R>h6PXQ$8J0SYvyS=7<80 z#}qAan62GG&G8HkmV^tI8o!r3cydy&36aVR0r_Mzw<1gkTj1}gX=#ZZ#~e)?itv>b z1aJo>0hmEHE)7=U3hvWDOiI{Eqsgu8&XS4F_2!$1Q_bm?pD3_3*1_nb4Q5>wvv;N7 zY(j*sGOT56;2sj}nBEaUz2c9dR%+0f20$m31NJ|VUu%`D{M?86b(2@1`$HZvSs~9&tZOxG{sNC`$1cN5~*uw z^d5Zkp-v%_bU~K7CqGeL$v>Z;sF6?OcV}I%WbZy??&?h+ww6orTW_dsU@K{1iM#on zo>7M`mb2ln_x{$s}ji(FgAIpXG_h1|x z(J7AQGX9am09`cN61m$J-BaSX$3Ct!2_Z)Vok(zDgw~yQQJ*d|Tw@>Cl;giu{mado zmEuwZi$&h@j9JpVAg_eDAmMo&H3(8!NumB7rMmjvoYdEz?S-D1yGe%CoaT38JuCZK z?`X&=lYFTMYYhx!q0g(?lV^(d~A-2YY++-)^^C{I|Qm*ZZ!wchEc7>mD5RcE9WP zUhVI_`VMs0JJjkYWgOD)y7z9YIJn=*)4H0#_y){L3Pywix!)K?I39zykWKIrp$U*O z{eQJuXXF;}3FNZ$1kMl$Q4*0k3RRJ9`GHMH8igPth~X54;PYqTU#ge>8Jr^U^{WrA2#64*F_;pH034E(%f9K_+kn$~ztsZZ8JM7G z3K)kxWmT}UGGoNS6vlXj7_Th(*!fw5^?yAFyo$ zp4R^+p3k2<-?xrPGN*Vv;owE^GF$lD;4}{W*5Km!pPtU-irncm({9FiH`# zAJ1oqQXC>%rnbNrg%W`b@h6@R($NTi0&OpA07Wc=^h|cX|Hk6mKN4e7?8h`y*#|tz z@SvdNd6(^L?(NDQOel`|2(Mlj=W;omvxbEXx>A($b`Fp0&K%Bj_K zqDsjizS`-PW!klaadEBw{;1pf0w_u%7$DI8?>1;(w^tga8qLY4M08*DRgQ&>vVPb0 zI8Tg?sbcls9g%60awO>W}6YM4QMNDPIdZW{3kHwA}(P2yFrI z0{sWPFntdg_H`Sgzhofon3tfyubq$RYX{lGCB_C7ctB8<_af6o%gq)T-V2h`wRBP?XhAE$b(BzQ5Gwu&_nWz`x zJYRAdu5%f#7YsYY^}VL-rFGQ2hzXaV7DJK(t1YnpJD6+T_mx*vX(<_-sfJnk4c1)7 zwFLLcLs&G03(?UG8!2vrfpm%FP8SO9balC1SLGoXu0X>Se!|mq3gUD+L{w;9X_k8p zn7l~RTOx{IlrOmSTUWv$(aIMCoPZZ`XXmBY1Gf`I5r_q%rCw*-m?H5PGfJMOOr5>Z zZykmqfYP49Fam)vWkd%|Z{GB_HE7I@1IFlnoPe&-eQ!}zujnS>&@W_}b1emdW*qb4 zqMtzD^x!4v=?b6=TtmRIhq7A5G=GJ*4WzqPEZ86+o`DxE9fB9~uW1@J7)|#j*m((h z;;#ml#{el`(hO28JMw%=LiAi9-u6l8dsM0hlBSvC@pF%D|y zOh8k!1VCf%ql)4Y5E7xR_Z2U8e_38$kLAvDoKjRdW>s+A>HRo%+5$?a@s^pwgql^>ro9>Y<4Sv7|o zbX_rzPMvxl1HM>*y9Izt+KfZ60BdQYF)@V+kQXj6CE+mxn8nYz^v=z+?|v%qXWR@D zX9`t9+yp7(WNPs$x88jK4#NFiKngMG z3w*)SV4^&2DwVq061aLlcv;KzOcY0+nMtJ~MrIDgntiF1-g@d+!+Ke@jP<9NW+KGn zNheHSW5e0TR4+cjq@UZ{RHZ+EF0tjzW$1&iUp)&in^`q13ga;<(vO>Fx~g{q)e52~ z>68sT~SsH=2D4N#tB{7V=IMJfJEK**&?iYEJYa9F<{N*n|NLKFz zgEsr3zkIP}{?FGh-6b2?85j=9e!iWwQ>M@zal)xfJ5kh#u8ua8P~ORDD!*U#!57246#?krctpw*KA z%5I*pCL+sgvtl^4+y%w6T4lA2flL~FJpAeX)%Eeo$Lq`U^Q-Ht^LHm_*QdvYuq??x zsziV=o!m>8mN)bMbZ~WYCQ0dJFsN>){d2$n@BZtZZnxbCkGB&n)Wi&%M*eC?#}Fws zSMCL?%_wuaqE$k%VRzy=X0xU8m3WLju z{rg%7U==GtJQP70#oY&DeilzbB5<5(-EH0TtQ|4EoqSu3HF9;fps8A}OJ}-yZ|9pU z=b(XtUOo5KTJc|E;V*fchl+mSnS#g}&LuFj5V&a*+bDQKzF15?DI=u2iA zR`6XpmNRC0H<6I&b{)1wU z&f_32Ol(Fvw-N1xX9a^;HL*;rF#KDElcLPNa&?>wLfyLV`#MX!37iT?i7PIgPTpUW zsVADePE$cOvcSg3CO58cLpQlDG$ovTrF&3LBS1??XSsqd-8iEWjxnE0S587gAfw-; z!6T&$P2*VbARL2?g-Pc4_E7on>s>1vbQ2C=9KY$69hrI4cc>IR;|b`$0eqgI^YUbr zV7N<3R5izF%1Gr&NlUTdTw;H%qwb1rxVr%k)JpZo0(QX`;WeC8mXBVmpWO1C*}cS? zX)EnH-fNB)K)Ks2l>x48p30!tHdD2Sm+!s!>W@XQz8dR$X$N0hr1^Sn(8|3Qa6SBW zuju-g?m;+pYrMX(RTh0yaw)Be2d0fx+PNp=*Z_SrXlsqE#bkJR0MYKIkGKmzv9(<) zu`gXqYzfP#0JNM4K7X#}4;iqm5}d0Wm?mY#e!fuAM69HNde!0zr&(*FV4sY>b`BfEUQ7?bzSD5t#e`K z0Iz*zE}8BHi*vz5mMC={v$h1--52QkXRaFb+UL#*u~KPx0MmJR7EGHdvTVvsIn^`s ztKVugMfu8$r>1UNEDU!__Ht8FoQ_3PVZph;s$KVsr$7auiB;k_muj60uK%eL;l{kq z3Obf*_OhR&x5XZXDp2=xDmW1Rg}UD=4h08jGj+1r%-H3zbc!;IdFd=w6}|I3Ee3X9 z$HH3YsuJvj%$7MN(`?4fv6K~NuA++SYH9YGFt|Ek%V)24=Bi-&Wp-6HdkYy~1=u>E zjb^Wq>(U-o$t}DH%_j*pTSZU$BUo;xY9aY2>71su?qGY*JTy>#_Q8P zB#}RcK@t?R2_EqV2&QR#$j(T7NeD0O=F3k%Qj#XQ?E~BUF%F&Gl3usl&25p0+CMQw zt1G9)%5L4!U7Ecg+1s$7)rmjL*Sg{ouoZIzQ#)06To2jEa?Lbb87r-htR+7eV^P&` zd7-SjShCiZwsrS)vvfjW6p`Btif1@NV|2m-7)dtW2O}62f-?e`z#)z>$EdJL2tY_l zQhW!12M*uAzbkE=@nRfvk_Nz8=FNJwoD{E7tmo@b0 zMS&j2T?B!yy0REp(&W7t%FG-l&_SYiSt`o}!YUwEU`6*@K5Lf}E48^sd9hNvk6Uuo z5px4OOy{Cl$sRNL8S2flg+AT};O=d*)xx~L~psmJ{rSyI_**P@YB_S~qSzao?glDJAH(g{#1-fMr+uh9`RFL$5h3!DQWksHaB zRI0MAjBr^b6Z^s0mxmMJs(Qbd99MPvx9n;n#Py1&Zr(nuJ#CSa_4RTbxM{bs;V)*R zB4E5cfOQC80Rq-P!RQ-JVP)kBc(iDxZDr0=L_I4|Dq3r zU)^YcSPBUF4ys_G_=X?6@zsr8cK)q8!2IgQi(_8`MF2!!-N11>*TuY9q7c@Nt??+;%2aRvDj|s(UrkA86S=IQoXfw|7`In7Z;r+bz1$sR7dpDvwJ^B`i`n^#)EPrc z7o`&_WKF8fB)KqMlLx96E36mXZoQcElEJnrb5k*kN}>BT^T%3~z7{2Wun^pcx2fF1 zJ2E!a^S=-1uh?Vr+pxUjyI+vyeLoySGftV5tDLZTb#+r+MT5H@Uu{=+KDVkK?|ooZ zoj%k_LFxTf&Iw*z{gg_t-}Q`YI=b@-mHWH*`INhSsMEYn`b4{yOITVrKs#q6@Ipy5)lY3(rx0?P z3s&$sz27RG7H!!=%P%%rYDMeMu-HKIrR&VS(`1SHh7Yznjl_;FPM=G1IM)419-)Sv;mw~?l>y%OOj&kxtNWxZZMVc9V$~yE(DVI{c4fztI~?(fz9tWT)C;^S7Ef@Q zL&b`%S1``s_1sHiJnZQ&^OSf1AXw}au@WpiOaP&tW+K8B;s-0<%r>A=_~62xmK`N2 zM!{6|_8_52RUJP>U{Xd=lT_UBkgX7ZVdt_MIW4@I&9ox=V)-#u_O!||mG4}!yBg=d zh6l7X;Ns2))W`~^r?avR%wNL;+PYTh?r!MvlUTWybbK$4=oAp5Im|-ZPf0i?q8y2I zN)@?g^8?6oZ^(tKxS@7AEbU)`=_tJ}?z1n9~yGoj4(XL&`Q@CI*ci=f289bS_tH`~r!N>dU2R2`{o28v4 z7r}&0v5w4y(MU~5Fk!(pXty9=u6`d<>}(cAxZ{$HS!}8hB(o^8z(7W+m=ea-grx+r4G}4s(uA0d*{#Fu6PeB= zBp}px|0B%Uq#)D~|6HHM^D50rVJ_KbKrjX*D* zdujB@)$?>|AF-dcSAvG$(ul?ZOHJZO^UE6%GAPP#T^}p^GsvfMD1ROGpnyjndGpAp z<9D9+`oDLMiCKKIi_Xsa_V)_) zzx%tr-KYBBkMTTY{qJ%KGQW&(r-=F1y`MMAwR%y9yeKuU?vEzi)LcFwH@((1kHZ6U zWNX*7{6wWISLBhrZDr&f;F~^VLIXoS{c6_mwYmKCibY0hny_fvkrTXJ(5m2@X=+S& zEMG^Hq;u`co_Dy|auYAKteJC7FFck?qoeZ7>qnl_n2uT4zMAJ-Sx2Maerws?%}O~O zm;wywn)LUaEM4XhOZDV@@q5jbby*|dkTowtY(d+#+;~NKzSv=5M=e9E_w-VTjlZ-RqzNSmc?njn_vnq^@9tp)!JXfR>q@8(m)rP7QpS)0ZDI=gTQ@Y_ zN@uab;&_Rq2(GiSR3txyhAIChivi5hna_=uo}Nc~R;2%?5NRqR){OT5x8?M|*WKAE z(*It+|3v>E(Yf9Sa+DEx1jlm`vHO#F54H=m`*%i) z(^;eij5eVOhp1{;Mw_f@+@DKl-Yyh0ms?6)v$#db4NI@gD;Qq#L>2zfPjmc##p962 z;|6448U7#a^a}WYu)VYWg#RDo`Q79HZxI|HlnfXU|D96<5iw&)u=HTT-nIxSlhy|y zsB#7ow?LL~fQy{v?T%xtD2hMPu4T`P_}@AGH0S=8;s4(D_FlJu|9d;zgD3p|7|$1o z|7nuQ4Amc7Z>D==_&cfZerHJE)3eq1gn_C06|B(n>Rswe<~Q>lB-#ZJ372*uJD3Ho zxuEp4<()7^@`abkn1IPMmm4bIS-y!aY~HHSHZE*8r61qL^oH^XlwzibR74Sv$M4`> z>$sGEb@i!L50O**$y`>7DOJJbl?RCr1&eoqMthiMYK7`wQErwC=UKe2izj-wi&J+8 z5)sxw{}NBHYS`b;b&!XDLMrY+$&=2h{QUxF3$9M3YjmgN9haMa$^|sBRl>5jOFxx> zc|qfXzM7D{Kh>MNp=WmvrG3jeih4_S9<3hudHxNJu0`eUd%+SNQUI8h56bgxE_4FE z9|t+xhVBZ!?xZXck}HwU$#1_MRKB9eeYB2e)i8$Yl8aQR{THIb`N-9qq`~8a~<@5ZHq9=y~Y5a&zevUoY+l zkGbMBI%W}_U$8*Lp&5OApE5C1t4%Eb zGATq#(vW{C2cDnIgPeGw%X=Srp}+f`d7-m=9(tj-`cr=Zq_`3b3mq=!C2`ypI7n=PgS!**nDOUsCbIlqRC zTCr7Qc1>UQ(&C&zafYa%-|eo>;k|nM-G^5vKc2i=&MRdrh{X66yJ1m@ODgyM^6mNS z!^?)9zr>K3eD4c$D=$c8P8ufd*H`;(9L;rCFL}h|Tq-uL=+w(|-s^VDKN%}aubcaE zITKd!GV~vx=UEE28Yy1k%e8OV#a1lu;rXxz3|CWjYlYiW`U*R%&=pj3!4n~InRyBZ z3$IoD*{O5(>35&(e~Uf%q*Cwzl${9*RJ2 zrEJ7f76)vLg2>p`&=|wNf7{aFx%CWQ(R8}4MBDB49Zv$+vG((4ATSN^e{;t_^DOoM z>y`Y!yE{+*-;eVAe)0ci6X1_d9=9#Q*tlfrcbt8UF7NO89?g@5%rB zQJyal|2r&Sz#>one|Pu)E2KMWr-FO53@biQtLQ)I3e_f5?(Z z%%`lW0bnuy?{~Z1?V|pFZ|@2JKg#pP;s0mk*nyeLDeUh1f;<7P)dLWKKZh;{eMYB= zh*_)-h+*QtuuB zU%A|zhi&;t8wJN#wz^|diC3}2${VXi{kWMgF6T7uhPRx5&LUR5#`##9jHlI&@S#oEL1T(S0pT!6F&07 zTqi=RH%#4%^tyWW-U|!Xy(ndXDXUn%hIK2f4_&H=#&WHe1Y;H6TOk%}!6>;{thM5u zUVdivxeIE;j1Ip$d2{*U^v!>q99@2Rb$W4m@}@c($g3@L@Gm!O74R%lMe3r3^TR9- zYO2~F7t-`A3E2peRj=`QBx=Kxa|14pmj6tV>Qz|fZeuTO{>O`xUwp{#F2Db9c6j;y z>aeBd>ock*4MsVAefZr;gM$G?e7Yhg@m?;YlX{8-hRv$lLyMMk`Rd}s(aHJchnJ_X z>J|i{Y=$w}f>E}rrj6t4f6eICv4^GMe>nNegN=U8=9PojXA-HI)Zx3!x3v(|P`NT1 zuRi97@84crUOdpq@+R24OQYHw{II=gd~oO6zASjPhKQKZRga2j20f%{xEdunKl$

`epWT$f$-dUk8Uj4w{~e@E}m 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

1?ueaQIV?Na`)L4WV5{>P&{ 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�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 N|NrIS`-cFW5CAXDfBpaf literal 0 HcmV?d00001 diff --git a/infrastructure/local/.env b/infrastructure/local/.env index 6a9eca469d..d18d8cae87 100644 --- a/infrastructure/local/.env +++ b/infrastructure/local/.env @@ -1,3 +1,3 @@ -AGENT_VERSION=1.32.0 +AGENT_VERSION=1.32.1 PRISM_NODE_VERSION=2.2.1 VAULT_DEV_ROOT_TOKEN_ID=root diff --git a/package-lock.json b/package-lock.json index a53edf3355..e4293ac19d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "identus-cloud-agent", - "version": "1.32.0", + "version": "1.32.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "identus-cloud-agent", - "version": "1.32.0", + "version": "1.32.1", "devDependencies": { "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", diff --git a/package.json b/package.json index e2f1fe9728..e40e86b10b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "identus-cloud-agent", - "version": "1.32.0", + "version": "1.32.1", "engines": { "node": ">=16.13.0" }, diff --git a/version.sbt b/version.sbt index 31006ecdc3..3dd20a0723 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -ThisBuild / version := "1.32.0-SNAPSHOT" +ThisBuild / version := "1.32.1-SNAPSHOT" From d674f3162be44ba05d50b305be4838525d982706 Mon Sep 17 00:00:00 2001 From: Bassam Date: Tue, 7 May 2024 09:10:47 -0400 Subject: [PATCH 3/3] fix: integration test (#1011) Signed-off-by: Bassam Riman Signed-off-by: Yurii Shynbuiev - IOHK Co-authored-by: Yurii Shynbuiev - IOHK --- tests/integration-tests/build.gradle.kts | 4 +- .../test/kotlin/abilities/ListenToEvents.kt | 4 +- .../test/kotlin/common/CredentialSchema.kt | 2 +- .../src/test/kotlin/steps/Setup.kt | 4 +- .../test/kotlin/steps/common/CommonSteps.kt | 8 +- .../steps/connection/ConnectionSteps.kt | 6 +- .../credentials/IssueCredentialsSteps.kt | 2 +- .../kotlin/steps/did/DeactivateDidSteps.kt | 4 +- .../test/kotlin/steps/did/ManageDidSteps.kt | 6 +- .../test/kotlin/steps/did/PublishDidSteps.kt | 2 +- .../test/kotlin/steps/did/UpdateDidSteps.kt | 6 +- .../kotlin/steps/multitenancy/EntitySteps.kt | 6 +- .../kotlin/steps/multitenancy/EventsSteps.kt | 2 +- .../kotlin/steps/multitenancy/WalletsSteps.kt | 6 +- .../proofs/AnoncredsPresentProofSteps.kt | 2 +- .../kotlin/steps/proofs/PresentProofSteps.kt | 2 +- .../steps/schemas/CredentialSchemasSteps.kt | 4 +- .../test/kotlin/steps/system/SystemSteps.kt | 2 +- .../steps/verification/VcVerificationSteps.kt | 90 +++++++++++++------ .../VerificationPoliciesSteps.kt | 4 +- .../verification/vc_verification.feature | 5 ++ 21 files changed, 103 insertions(+), 68 deletions(-) create mode 100644 tests/integration-tests/src/test/resources/features/verification/vc_verification.feature diff --git a/tests/integration-tests/build.gradle.kts b/tests/integration-tests/build.gradle.kts index f9a96b0d99..b9d606a6e1 100644 --- a/tests/integration-tests/build.gradle.kts +++ b/tests/integration-tests/build.gradle.kts @@ -33,9 +33,9 @@ dependencies { testImplementation("io.ktor:ktor-server-netty:2.3.0") testImplementation("io.ktor:ktor-client-apache:2.3.0") // RestAPI client - testImplementation("org.hyperledger.identus:cloud-agent-client-kotlin:1.32.0") + testImplementation("org.hyperledger.identus:cloud-agent-client-kotlin:1.32.1") // Test helpers library - testImplementation("io.iohk.atala:atala-automation:0.3.2") + testImplementation("io.iohk.atala:atala-automation:0.4.0") // Hoplite for configuration testImplementation("com.sksamuel.hoplite:hoplite-core:2.7.5") testImplementation("com.sksamuel.hoplite:hoplite-hocon:2.7.5") diff --git a/tests/integration-tests/src/test/kotlin/abilities/ListenToEvents.kt b/tests/integration-tests/src/test/kotlin/abilities/ListenToEvents.kt index 6a360d92f9..2ea3b69724 100644 --- a/tests/integration-tests/src/test/kotlin/abilities/ListenToEvents.kt +++ b/tests/integration-tests/src/test/kotlin/abilities/ListenToEvents.kt @@ -23,9 +23,7 @@ open class ListenToEvents( ) : Ability, HasTeardown { private val server: ApplicationEngine - private val gson = GsonBuilder() - .registerTypeAdapter(OffsetDateTime::class.java, CustomGsonObjectMapperFactory.OffsetDateTimeDeserializer()) - .create() + private val gson = GsonBuilder().registerTypeAdapter(OffsetDateTime::class.java, CustomGsonObjectMapperFactory.OffsetDateTimeTypeAdapter()).create() var connectionEvents: MutableList = mutableListOf() var credentialEvents: MutableList = mutableListOf() diff --git a/tests/integration-tests/src/test/kotlin/common/CredentialSchema.kt b/tests/integration-tests/src/test/kotlin/common/CredentialSchema.kt index 32990542a7..972f806069 100644 --- a/tests/integration-tests/src/test/kotlin/common/CredentialSchema.kt +++ b/tests/integration-tests/src/test/kotlin/common/CredentialSchema.kt @@ -1,8 +1,8 @@ package common -import org.hyperledger.identus.client.models.CredentialSchemaInput import models.JsonSchema import models.JsonSchemaProperty +import org.hyperledger.identus.client.models.CredentialSchemaInput import java.util.UUID enum class CredentialSchema { diff --git a/tests/integration-tests/src/test/kotlin/steps/Setup.kt b/tests/integration-tests/src/test/kotlin/steps/Setup.kt index dbb134ceb7..ce1034a63e 100644 --- a/tests/integration-tests/src/test/kotlin/steps/Setup.kt +++ b/tests/integration-tests/src/test/kotlin/steps/Setup.kt @@ -8,8 +8,6 @@ import config.AgentRole import config.Config import io.cucumber.java.AfterAll import io.cucumber.java.BeforeAll -import org.hyperledger.identus.client.models.CreateWalletRequest -import org.hyperledger.identus.client.models.CreateWebhookNotification import io.restassured.RestAssured import io.restassured.builder.RequestSpecBuilder import net.serenitybdd.screenplay.Actor @@ -17,6 +15,8 @@ import net.serenitybdd.screenplay.actors.Cast import net.serenitybdd.screenplay.actors.OnStage import net.serenitybdd.screenplay.rest.abilities.CallAnApi import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.CreateWalletRequest +import org.hyperledger.identus.client.models.CreateWebhookNotification import java.util.UUID object Setup { diff --git a/tests/integration-tests/src/test/kotlin/steps/common/CommonSteps.kt b/tests/integration-tests/src/test/kotlin/steps/common/CommonSteps.kt index 5edf9ebfb8..a4df15c5ed 100644 --- a/tests/integration-tests/src/test/kotlin/steps/common/CommonSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/common/CommonSteps.kt @@ -5,14 +5,14 @@ import io.cucumber.java.ParameterType import io.cucumber.java.en.Given import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.Connection -import org.hyperledger.identus.client.models.ConnectionsPage -import org.hyperledger.identus.client.models.IssueCredentialRecord -import org.hyperledger.identus.client.models.IssueCredentialRecordPage import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import net.serenitybdd.screenplay.actors.OnStage import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.Connection +import org.hyperledger.identus.client.models.ConnectionsPage +import org.hyperledger.identus.client.models.IssueCredentialRecord +import org.hyperledger.identus.client.models.IssueCredentialRecordPage import steps.connection.ConnectionSteps import steps.credentials.IssueCredentialsSteps import steps.did.PublishDidSteps diff --git a/tests/integration-tests/src/test/kotlin/steps/connection/ConnectionSteps.kt b/tests/integration-tests/src/test/kotlin/steps/connection/ConnectionSteps.kt index 230b9336cd..38922a021c 100644 --- a/tests/integration-tests/src/test/kotlin/steps/connection/ConnectionSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/connection/ConnectionSteps.kt @@ -8,14 +8,14 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.AcceptConnectionInvitationRequest -import org.hyperledger.identus.client.models.Connection -import org.hyperledger.identus.client.models.CreateConnectionRequest import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus.SC_CREATED import org.apache.http.HttpStatus.SC_OK import org.assertj.core.api.Assertions.assertThat +import org.hyperledger.identus.client.models.AcceptConnectionInvitationRequest +import org.hyperledger.identus.client.models.Connection +import org.hyperledger.identus.client.models.CreateConnectionRequest class ConnectionSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/credentials/IssueCredentialsSteps.kt b/tests/integration-tests/src/test/kotlin/steps/credentials/IssueCredentialsSteps.kt index 0ec5abd3d0..578ce9419d 100644 --- a/tests/integration-tests/src/test/kotlin/steps/credentials/IssueCredentialsSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/credentials/IssueCredentialsSteps.kt @@ -8,13 +8,13 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.* import models.AnoncredsSchema import models.CredentialEvent import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import net.serenitybdd.screenplay.rest.abilities.CallAnApi import org.apache.http.HttpStatus.* +import org.hyperledger.identus.client.models.* import java.util.UUID class IssueCredentialsSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/did/DeactivateDidSteps.kt b/tests/integration-tests/src/test/kotlin/steps/did/DeactivateDidSteps.kt index d634bcca48..b95a9f3233 100644 --- a/tests/integration-tests/src/test/kotlin/steps/did/DeactivateDidSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/did/DeactivateDidSteps.kt @@ -8,11 +8,11 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.DIDOperationResponse -import org.hyperledger.identus.client.models.DIDResolutionResult import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.DIDOperationResponse +import org.hyperledger.identus.client.models.DIDResolutionResult class DeactivateDidSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/did/ManageDidSteps.kt b/tests/integration-tests/src/test/kotlin/steps/did/ManageDidSteps.kt index 06c112df51..df87418e20 100644 --- a/tests/integration-tests/src/test/kotlin/steps/did/ManageDidSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/did/ManageDidSteps.kt @@ -7,6 +7,9 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure +import net.serenitybdd.rest.SerenityRest +import net.serenitybdd.screenplay.Actor +import org.apache.http.HttpStatus.SC_CREATED import org.hyperledger.identus.client.models.CreateManagedDidRequest import org.hyperledger.identus.client.models.CreateManagedDidRequestDocumentTemplate import org.hyperledger.identus.client.models.Json @@ -15,9 +18,6 @@ import org.hyperledger.identus.client.models.ManagedDIDKeyTemplate import org.hyperledger.identus.client.models.ManagedDIDPage import org.hyperledger.identus.client.models.Purpose import org.hyperledger.identus.client.models.Service -import net.serenitybdd.rest.SerenityRest -import net.serenitybdd.screenplay.Actor -import org.apache.http.HttpStatus.SC_CREATED class ManageDidSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/did/PublishDidSteps.kt b/tests/integration-tests/src/test/kotlin/steps/did/PublishDidSteps.kt index d3328c85c7..cd04a6e14f 100644 --- a/tests/integration-tests/src/test/kotlin/steps/did/PublishDidSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/did/PublishDidSteps.kt @@ -10,12 +10,12 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.* import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus import org.apache.http.HttpStatus.SC_CREATED import org.apache.http.HttpStatus.SC_OK +import org.hyperledger.identus.client.models.* class PublishDidSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/did/UpdateDidSteps.kt b/tests/integration-tests/src/test/kotlin/steps/did/UpdateDidSteps.kt index f641b56086..0f4517d15d 100644 --- a/tests/integration-tests/src/test/kotlin/steps/did/UpdateDidSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/did/UpdateDidSteps.kt @@ -8,6 +8,9 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure +import net.serenitybdd.rest.SerenityRest +import net.serenitybdd.screenplay.Actor +import org.apache.http.HttpStatus import org.hyperledger.identus.client.models.ActionType import org.hyperledger.identus.client.models.DIDOperationResponse import org.hyperledger.identus.client.models.DIDResolutionResult @@ -19,9 +22,6 @@ import org.hyperledger.identus.client.models.Service import org.hyperledger.identus.client.models.UpdateManagedDIDRequest import org.hyperledger.identus.client.models.UpdateManagedDIDRequestAction import org.hyperledger.identus.client.models.UpdateManagedDIDServiceAction -import net.serenitybdd.rest.SerenityRest -import net.serenitybdd.screenplay.Actor -import org.apache.http.HttpStatus class UpdateDidSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/multitenancy/EntitySteps.kt b/tests/integration-tests/src/test/kotlin/steps/multitenancy/EntitySteps.kt index 1672643016..3bd9c51839 100644 --- a/tests/integration-tests/src/test/kotlin/steps/multitenancy/EntitySteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/multitenancy/EntitySteps.kt @@ -3,12 +3,12 @@ package steps.multitenancy import interactions.Post import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.ApiKeyAuthenticationRequest -import org.hyperledger.identus.client.models.CreateEntityRequest -import org.hyperledger.identus.client.models.EntityResponse import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus.SC_CREATED +import org.hyperledger.identus.client.models.ApiKeyAuthenticationRequest +import org.hyperledger.identus.client.models.CreateEntityRequest +import org.hyperledger.identus.client.models.EntityResponse import java.util.* class EntitySteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/multitenancy/EventsSteps.kt b/tests/integration-tests/src/test/kotlin/steps/multitenancy/EventsSteps.kt index 3e0ba085de..34a89407ee 100644 --- a/tests/integration-tests/src/test/kotlin/steps/multitenancy/EventsSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/multitenancy/EventsSteps.kt @@ -2,9 +2,9 @@ package steps.multitenancy import interactions.Post import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.CreateWebhookNotification import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.CreateWebhookNotification class EventsSteps { fun registerNewWebhook(actor: Actor, webhookUrl: String) { diff --git a/tests/integration-tests/src/test/kotlin/steps/multitenancy/WalletsSteps.kt b/tests/integration-tests/src/test/kotlin/steps/multitenancy/WalletsSteps.kt index cfed7d7db7..62cf9781c9 100644 --- a/tests/integration-tests/src/test/kotlin/steps/multitenancy/WalletsSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/multitenancy/WalletsSteps.kt @@ -8,12 +8,12 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.CreateWalletRequest -import org.hyperledger.identus.client.models.WalletDetail -import org.hyperledger.identus.client.models.WalletDetailPage import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus.* +import org.hyperledger.identus.client.models.CreateWalletRequest +import org.hyperledger.identus.client.models.WalletDetail +import org.hyperledger.identus.client.models.WalletDetailPage import java.util.* import kotlin.random.Random diff --git a/tests/integration-tests/src/test/kotlin/steps/proofs/AnoncredsPresentProofSteps.kt b/tests/integration-tests/src/test/kotlin/steps/proofs/AnoncredsPresentProofSteps.kt index ced971f571..566d2f1864 100644 --- a/tests/integration-tests/src/test/kotlin/steps/proofs/AnoncredsPresentProofSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/proofs/AnoncredsPresentProofSteps.kt @@ -7,12 +7,12 @@ import interactions.Post import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.* import models.PresentationEvent import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import net.serenitybdd.screenplay.rest.abilities.CallAnApi import org.apache.http.HttpStatus.SC_CREATED +import org.hyperledger.identus.client.models.* class AnoncredsPresentProofSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/proofs/PresentProofSteps.kt b/tests/integration-tests/src/test/kotlin/steps/proofs/PresentProofSteps.kt index 1700c6e75b..741ef0e9b6 100644 --- a/tests/integration-tests/src/test/kotlin/steps/proofs/PresentProofSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/proofs/PresentProofSteps.kt @@ -8,11 +8,11 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.* import models.PresentationEvent import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus.SC_CREATED +import org.hyperledger.identus.client.models.* class PresentProofSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/schemas/CredentialSchemasSteps.kt b/tests/integration-tests/src/test/kotlin/steps/schemas/CredentialSchemasSteps.kt index 4f908a9dc5..3fecf2e436 100644 --- a/tests/integration-tests/src/test/kotlin/steps/schemas/CredentialSchemasSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/schemas/CredentialSchemasSteps.kt @@ -11,12 +11,12 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.CredentialSchemaInput -import org.hyperledger.identus.client.models.CredentialSchemaResponse import models.JsonSchema import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus.* +import org.hyperledger.identus.client.models.CredentialSchemaInput +import org.hyperledger.identus.client.models.CredentialSchemaResponse import java.util.UUID class CredentialSchemasSteps { diff --git a/tests/integration-tests/src/test/kotlin/steps/system/SystemSteps.kt b/tests/integration-tests/src/test/kotlin/steps/system/SystemSteps.kt index 91312d5527..b9bfada0d2 100644 --- a/tests/integration-tests/src/test/kotlin/steps/system/SystemSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/system/SystemSteps.kt @@ -5,10 +5,10 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.HealthInfo import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.HealthInfo class SystemSteps { @When("{actor} makes a request to the health endpoint") diff --git a/tests/integration-tests/src/test/kotlin/steps/verification/VcVerificationSteps.kt b/tests/integration-tests/src/test/kotlin/steps/verification/VcVerificationSteps.kt index 9e0d2f8037..fa3addf6ef 100644 --- a/tests/integration-tests/src/test/kotlin/steps/verification/VcVerificationSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/verification/VcVerificationSteps.kt @@ -1,13 +1,14 @@ package steps.verification -import interactions.Post +import com.google.gson.Gson import io.cucumber.java.en.When -import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.* +import io.restassured.http.Header import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor +import net.serenitybdd.screenplay.rest.interactions.Post import org.apache.http.HttpStatus.SC_OK +import org.hyperledger.identus.client.models.* import java.time.OffsetDateTime class VcVerificationSteps { @@ -15,60 +16,91 @@ class VcVerificationSteps { @When("{actor} verifies VcVerificationRequest") fun agentVerifiesVerifiableCredential(actor: Actor) { val signedJwtCredential = - "eyJhbGciOiJFUzI1NksifQ.eyJhdWQiOiJkaWQ6cHJpc206dmVyaWZpZXIiLCJuYmYiOjEyNjIzMDQwMDAsImlzcyI6ImRpZDpwcmlzbTo3NzYxMjBlZWIxMjhjZTdkZmQ5NDUwZmZhMTg4MWU5OTYxOWFhMGM5MDRiMDBjODJiYjE3YjU2ODE3Y2IwMmFlIiwiZXhwIjoxMjYzMjU0NDAwLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJVbml2ZXJzaXR5RGVncmVlQ3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiZGlkOndvcms6TURQOEFzRmhIemh3VXZHTnVZa1g3VDtpZD0wNmUxMjZkMS1mYTQ0LTQ4ODItYTI0My0xZTMyNmZiZTIxZGI7dmVyc2lvbj0xLjAiLCJ0eXBlIjoiSnNvblNjaGVtYVZhbGlkYXRvcjIwMTgifSwiY3JlZGVudGlhbFN1YmplY3QiOnsidXNlck5hbWUiOiJCb2IiLCJhZ2UiOjQyLCJlbWFpbCI6ImVtYWlsIn0sImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJkaWQ6d29yazpNRFA4QXNGaEh6aHdVdkdOdVlrWDdUO2lkPTA2ZTEyNmQxLWZhNDQtNDg4Mi1hMjQzLTFlMzI2ZmJlMjFkYjt2ZXJzaW9uPTEuMCIsInR5cGUiOiJTdGF0dXNMaXN0MjAyMUVudHJ5Iiwic3RhdHVzUHVycG9zZSI6IlJldm9jYXRpb24iLCJzdGF0dXNMaXN0SW5kZXgiOjAsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS9jcmVkZW50aWFscy9zdGF0dXMvMyJ9LCJyZWZyZXNoU2VydmljZSI6eyJpZCI6Imh0dHBzOi8vZXhhbXBsZS5lZHUvcmVmcmVzaC8zNzMyIiwidHlwZSI6Ik1hbnVhbFJlZnJlc2hTZXJ2aWNlMjAxOCJ9fSwianRpIjoiaHR0cDovL2V4YW1wbGUuZWR1L2NyZWRlbnRpYWxzLzM3MzIifQ.JCHIAQdjmOxOdZ1SIf5Nd8FObiARXT6cDcGM3UyQ961Kv4Rb3ZtgpNM-cf2aj5ZFyFko-t7uCsSvrVrYKUYcWg" + "eyJhbGciOiJFUzI1NksifQ.eyJpc3MiOiJkaWQ6cHJpc206NDE1ODg1OGI1ZjBkYWMyZTUwNDdmMjI4NTk4OWVlMzlhNTNkZWJhNzY0NjFjN2FmMDM5NjU0ZGYzYjU5MjI1YyIsImF1ZCI6ImRpZDpwcmlzbTp2ZXJpZmllciIsIm5iZiI6MTI2MjMwNDAwMCwiZXhwIjoxMjYzMjU0NDAwLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJVbml2ZXJzaXR5RGVncmVlQ3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiZGlkOndvcms6TURQOEFzRmhIemh3VXZHTnVZa1g3VDtpZD0wNmUxMjZkMS1mYTQ0LTQ4ODItYTI0My0xZTMyNmZiZTIxZGI7dmVyc2lvbj0xLjAiLCJ0eXBlIjoiSnNvblNjaGVtYVZhbGlkYXRvcjIwMTgifSwiY3JlZGVudGlhbFN1YmplY3QiOnsidXNlck5hbWUiOiJCb2IiLCJhZ2UiOjQyLCJlbWFpbCI6ImVtYWlsIn0sImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJkaWQ6d29yazpNRFA4QXNGaEh6aHdVdkdOdVlrWDdUO2lkPTA2ZTEyNmQxLWZhNDQtNDg4Mi1hMjQzLTFlMzI2ZmJlMjFkYjt2ZXJzaW9uPTEuMCIsInR5cGUiOiJTdGF0dXNMaXN0MjAyMUVudHJ5Iiwic3RhdHVzUHVycG9zZSI6IlJldm9jYXRpb24iLCJzdGF0dXNMaXN0SW5kZXgiOjAsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS9jcmVkZW50aWFscy9zdGF0dXMvMyJ9LCJyZWZyZXNoU2VydmljZSI6eyJpZCI6Imh0dHBzOi8vZXhhbXBsZS5lZHUvcmVmcmVzaC8zNzMyIiwidHlwZSI6Ik1hbnVhbFJlZnJlc2hTZXJ2aWNlMjAxOCJ9fSwianRpIjoiaHR0cDovL2V4YW1wbGUuZWR1L2NyZWRlbnRpYWxzLzM3MzIifQ.HBxrn8Nu6y1RvUAU8XcwUDPOiiHhC1OgHN757lWai6i8P-pHL4TBzIDartYtrMiZUKpNx9Onb19sJYywtqFkpg" + val request = - listOf( + arrayOf( VcVerificationRequest( signedJwtCredential, listOf( - ParameterizableVcVerification(VcVerification.SIGNATURE_VERIFICATION), ParameterizableVcVerification( VcVerification.NOT_BEFORE_CHECK, - DateTimeParameter(OffsetDateTime.now()) as VcVerificationParameter, + DateTimeParameter(dateTime = OffsetDateTime.parse("2010-01-01T00:00:00Z")), ), ParameterizableVcVerification( VcVerification.EXPIRATION_CHECK, - DateTimeParameter(OffsetDateTime.now()) as VcVerificationParameter, + DateTimeParameter(dateTime = OffsetDateTime.parse("2010-01-01T00:00:00Z")), + ), + ParameterizableVcVerification( + VcVerification.AUDIENCE_CHECK, + DidParameter(did = "did:prism:verifier"), + ), + ParameterizableVcVerification( + VcVerification.ISSUER_IDENTIFICATION, + DidParameter(did = "did:prism:4158858b5f0dac2e5047f2285989ee39a53deba76461c7af039654df3b59225c"), ), ), ), VcVerificationRequest( signedJwtCredential, listOf( + ParameterizableVcVerification( + VcVerification.EXPIRATION_CHECK, + DateTimeParameter(dateTime = OffsetDateTime.parse("2010-01-13T00:00:00Z")), + ), + ParameterizableVcVerification( + VcVerification.NOT_BEFORE_CHECK, + DateTimeParameter(dateTime = OffsetDateTime.parse("2009-01-01T00:00:00Z")), + ), ParameterizableVcVerification( VcVerification.AUDIENCE_CHECK, - DidParameter("did:prism:verifier") as VcVerificationParameter, + DidParameter(did = "BAD AUDIENCE"), + ), + ParameterizableVcVerification( + VcVerification.ISSUER_IDENTIFICATION, + DidParameter(did = "BAD ISSUER"), ), ), ), ) - actor.attemptsTo( + + val post = Post.to("/verification/credential").with { + it.header(Header("apiKey", "pylnapbvyudwmfrt")) it.body(request) - }, - ) - val vcVerificationResponses = SerenityRest.lastResponse().get>() + } actor.attemptsTo( - Ensure.thatTheLastResponse().statusCode().isEqualTo(SC_OK), - Ensure.that(vcVerificationResponses).containsExactlyInAnyOrderElementsFrom( + post, + ) + + val expected = listOf( + VcVerificationResponse( + signedJwtCredential, listOf( - VcVerificationResponse( - signedJwtCredential, - listOf( - VcVerificationResult(VcVerification.SIGNATURE_VERIFICATION, false), - VcVerificationResult(VcVerification.NOT_BEFORE_CHECK, true), - VcVerificationResult(VcVerification.EXPIRATION_CHECK, true), - ), - ), - VcVerificationResponse( - signedJwtCredential, - listOf( - VcVerificationResult(VcVerification.AUDIENCE_CHECK, true), - ), - ), + VcVerificationResult(VcVerification.NOT_BEFORE_CHECK, true), + VcVerificationResult(VcVerification.EXPIRATION_CHECK, true), + VcVerificationResult(VcVerification.AUDIENCE_CHECK, true), + VcVerificationResult(VcVerification.ISSUER_IDENTIFICATION, true), + ), + ), + VcVerificationResponse( + signedJwtCredential, + listOf( + VcVerificationResult(VcVerification.EXPIRATION_CHECK, false), + VcVerificationResult(VcVerification.NOT_BEFORE_CHECK, false), + VcVerificationResult(VcVerification.AUDIENCE_CHECK, false), + VcVerificationResult(VcVerification.ISSUER_IDENTIFICATION, false), ), ), ) + actor.attemptsTo( + Ensure.thatTheLastResponse().statusCode().isEqualTo(SC_OK), + Ensure.that( + SerenityRest.lastResponse().body().asString(), + ).isEqualTo( + Gson().toJson(expected), + ), + ) } } diff --git a/tests/integration-tests/src/test/kotlin/steps/verificationpolicies/VerificationPoliciesSteps.kt b/tests/integration-tests/src/test/kotlin/steps/verificationpolicies/VerificationPoliciesSteps.kt index f300f47ed7..ca6a4cf8ca 100644 --- a/tests/integration-tests/src/test/kotlin/steps/verificationpolicies/VerificationPoliciesSteps.kt +++ b/tests/integration-tests/src/test/kotlin/steps/verificationpolicies/VerificationPoliciesSteps.kt @@ -8,11 +8,11 @@ import io.cucumber.java.en.Then import io.cucumber.java.en.When import io.iohk.atala.automation.extensions.get import io.iohk.atala.automation.serenity.ensure.Ensure -import org.hyperledger.identus.client.models.VerificationPolicyInput -import org.hyperledger.identus.client.models.VerificationPolicyResponse import net.serenitybdd.rest.SerenityRest import net.serenitybdd.screenplay.Actor import org.apache.http.HttpStatus +import org.hyperledger.identus.client.models.VerificationPolicyInput +import org.hyperledger.identus.client.models.VerificationPolicyResponse import java.util.* class VerificationPoliciesSteps { diff --git a/tests/integration-tests/src/test/resources/features/verification/vc_verification.feature b/tests/integration-tests/src/test/resources/features/verification/vc_verification.feature new file mode 100644 index 0000000000..ed12bf50f2 --- /dev/null +++ b/tests/integration-tests/src/test/resources/features/verification/vc_verification.feature @@ -0,0 +1,5 @@ +Feature: Vc Verification schemas + +Scenario: Successful Verifies VcVerificationRequest + Given Issuer and Holder have an existing connection + When Issuer verifies VcVerificationRequest