diff --git a/.eslintrc.js b/.eslintrc.js index c3c7cb602fc..a57d304c341 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -162,7 +162,7 @@ module.exports = { 'aws-toolkits/no-incorrect-once-usage': 'error', 'aws-toolkits/no-string-exec-for-child-process': 'error', 'aws-toolkits/no-console-log': 'error', - + 'aws-toolkits/no-json-stringify-in-log': 'error', 'no-restricted-imports': [ 'error', { diff --git a/.github/workflows/copyPasteDetection.yml b/.github/workflows/copyPasteDetection.yml new file mode 100644 index 00000000000..793337de5ad --- /dev/null +++ b/.github/workflows/copyPasteDetection.yml @@ -0,0 +1,86 @@ +# github actions: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-nodejs +# setup-node: https://github.com/actions/setup-node + +name: Copy-Paste Detection + +on: + pull_request: + branches: [master, feature/*, staging] + +jobs: + jscpd: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [18.x] + env: + NODE_OPTIONS: '--max-old-space-size=8192' + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Fetch fork upstream + run: | + git remote add forkUpstream https://github.com/${{ github.event.pull_request.head.repo.full_name }} # URL of the fork + git fetch forkUpstream # Fetch fork + + - name: Determine base and target branches for comparison. + run: | + echo "CURRENT_BRANCH=${{ github.head_ref }}" >> $GITHUB_ENV + echo "TARGET_BRANCH=${{ github.event.pull_request.base.ref }}" >> $GITHUB_ENV + - run: git diff --name-only origin/$TARGET_BRANCH forkUpstream/$CURRENT_BRANCH > diff_output.txt + - run: | + npm install -g jscpd + + - run: jscpd --config "$GITHUB_WORKSPACE/.github/workflows/jscpd.json" + + - if: always() + uses: actions/upload-artifact@v4 + with: + name: unfiltered-jscpd-report + path: ./jscpd-report.json + + - name: Filter jscpd report for changed files + run: | + if [ ! -f ./jscpd-report.json ]; then + echo "jscpd-report.json not found" + exit 1 + fi + echo "Filtering jscpd report for changed files..." + CHANGED_FILES=$(jq -R -s -c 'split("\n")[:-1]' diff_output.txt) + echo "Changed files: $CHANGED_FILES" + jq --argjson changed_files "$CHANGED_FILES" ' + .duplicates | map(select( + (.firstFile?.name as $fname | $changed_files | any(. == $fname)) or + (.secondFile?.name as $sname | $changed_files | any(. == $sname)) + )) + ' ./jscpd-report.json > filtered-jscpd-report.json + cat filtered-jscpd-report.json + + - name: Check for duplicates + run: | + if [ $(wc -l < ./filtered-jscpd-report.json) -gt 1 ]; then + echo "filtered_report_exists=true" >> $GITHUB_ENV + else + echo "filtered_report_exists=false" >> $GITHUB_ENV + fi + - name: upload filtered report (if applicable) + if: env.filtered_report_exists == 'true' + uses: actions/upload-artifact@v4 + with: + name: filtered-jscpd-report + path: ./filtered-jscpd-report.json + + - name: Fail and log found duplicates. + if: env.filtered_report_exists == 'true' + run: | + cat ./filtered-jscpd-report.json + echo "Duplications found, failing the check." + exit 1 diff --git a/.github/workflows/jscpd.json b/.github/workflows/jscpd.json index 87dd9ce943e..e5ca683d1c8 100644 --- a/.github/workflows/jscpd.json +++ b/.github/workflows/jscpd.json @@ -1,7 +1,9 @@ { "pattern": "packages/**/*.ts", - "ignore": ["**node_modules**", "**dist**"], + "ignore": ["**node_modules**", "**dist**", "**/scripts/**"], "gitignore": true, - "threshold": 1.34, - "minLines": 15 + "threshold": 3.0, + "minLines": 3, + "output": "./", + "reporters": ["json"] } diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index ae255b30c76..a4d9827b831 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -55,24 +55,6 @@ jobs: - run: npm run testCompile - run: npm run lint - jscpd: - needs: lint-commits - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.x] - env: - NODE_OPTIONS: '--max-old-space-size=8192' - steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - - run: npm install jscpd - - name: Run jscpd - run: npx jscpd --config "$GITHUB_WORKSPACE/.github/workflows/jscpd.json" - macos: needs: lint-commits name: test macOS diff --git a/.github/workflows/notification.yml b/.github/workflows/notification.yml index 109bbabdfb3..ea37b04e0d5 100644 --- a/.github/workflows/notification.yml +++ b/.github/workflows/notification.yml @@ -37,7 +37,7 @@ jobs: if: github.event_name == 'pull_request_target' with: node-version: '20' - - name: Check for tests + - name: Comment about contribution guidelines uses: actions/github-script@v7 if: github.event_name == 'pull_request_target' with: diff --git a/.github/workflows/notify.js b/.github/workflows/notify.js index 9eab77d6318..835acddf706 100644 --- a/.github/workflows/notify.js +++ b/.github/workflows/notify.js @@ -6,9 +6,10 @@ const { hasPath, dedupComment } = require('./utils') const testFilesMessage = - 'This pull request modifies code in src/ but no tests were added/updated. Confirm whether tests should be added or ensure the PR description explains why tests are not required.' + '- This pull request modifies code in `src/*` but no tests were added/updated.\n - Confirm whether tests should be added or ensure the PR description explains why tests are not required.\n' -const changelogMessage = `This pull request implements a feature or fix, so it must include a changelog entry. See [CONTRIBUTING.md#changelog](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#changelog) for instructions.` +const changelogMessage = + '- This pull request implements a `feat` or `fix`, so it must include a changelog entry (unless the fix is for an *unreleased* feature). Review the [changelog guidelines](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#changelog).\n - Note: beta or "experiment" features that have active users *should* announce fixes in the changelog.\n - If this is not a feature or fix, use an appropriate type from the [title guidelines](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#pull-request-title). For example, telemetry-only changes should use the `telemetry` type.\n' /** * Remind partner teams that tests are required. We don't need to remind them if: @@ -44,12 +45,16 @@ module.exports = async ({ github, context }) => { issue_number: pullRequestId, }) + let msg = '' if (shouldAddTestFileMessage) { - await dedupComment({ github, comments, owner, repo, pullRequestId, message: testFilesMessage }) + msg += testFilesMessage } - if (shouldAddChangelogMessage) { - await dedupComment({ github, comments, owner, repo, pullRequestId, message: changelogMessage }) + msg += changelogMessage + } + + if (shouldAddTestFileMessage || shouldAddChangelogMessage) { + await dedupComment({ github, comments, owner, repo, pullRequestId, message: msg }) } } @@ -69,7 +74,12 @@ function requiresChangelogMessage(filenames, title) { * Require the test files message if there are changes to source files but aren't any * changes to the test files */ -function requiresTestFilesMessage(filenames) { +function requiresTestFilesMessage(filenames, title) { + if (/^\s*[mM]erge/.test(title)) { + console.log('"Merge" pull request') + return + } + // Check if src directory changed if (!hasPath(filenames, 'src/')) { console.log('Did not find src files in the code changes') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e9428b2b3db..3c9928c2ad9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -188,11 +188,11 @@ To run a single test in VSCode, do any one of: - Unix/macOS/POSIX shell: ``` - TEST_FILE=src/test/foo.test.ts npm run test + TEST_FILE=../core/src/test/foo.test.ts npm run test ``` - Powershell: ``` - $Env:TEST_FILE = "src/test/foo.test.ts"; npm run test + $Env:TEST_FILE = "../core/src/test/foo.test.ts"; npm run test ``` - To run all tests in a particular subdirectory, you can edit @@ -209,11 +209,11 @@ To run tests against a specific folder in VSCode, do any one of: - Run in your terminal - Unix/macOS/POSIX shell: ``` - TEST_DIR=src/test/foo npm run test + TEST_DIR=../core/src/test/foo npm run test ``` - Powershell: ``` - $Env:TEST_DIR = "src/test/foo"; npm run test + $Env:TEST_DIR = "../core/src/test/foo"; npm run test ``` ### Coverage report diff --git a/buildspec/shared/common.sh b/buildspec/shared/common.sh index f2c08626fd5..704f97799d8 100644 --- a/buildspec/shared/common.sh +++ b/buildspec/shared/common.sh @@ -9,7 +9,7 @@ # - "Webview is disposed": only happens on vscode "minimum" (1.68.0) # - "HTTPError: Response code …": caused by github rate-limiting. # - "npm WARN deprecated querystring": transitive dep of aws sdk v2 (check `npm ls querystring`), so that's blocked until we migrate to v3. -_ignore_pat='Timed-out waiting for browser login flow\|HTTPError: Response code 403\|HTTPError: Response code 404\|npm WARN deprecated querystring' +_ignore_pat='Timed-out waiting for browser login flow\|HTTPError: Response code 403\|HTTPError: Response code 404\|npm WARN deprecated querystring\|npm WARN deprecated' if [ "$VSCODE_TEST_VERSION" = 'minimum' ]; then _ignore_pat="$_ignore_pat"'\|Webview is disposed' fi diff --git a/docs/build.md b/docs/build.md index 8c6de3a9e84..ffa9e1a8a81 100644 --- a/docs/build.md +++ b/docs/build.md @@ -1,11 +1,23 @@ # Build -The AmazonQ features rely on the `codewhisperer-streaming` service, who's client -is generated from the service's smithy models and placed in -`src.gen/@amzn/codewhisperer-streaming` (For more -information about this client and how it is generated, please see this +The AmazonQ features rely on the `codewhisperer-streaming` service, to support both Sigv4 and Bearer token modes of this service, +two clients are generated from the service's smithy models and placed in +`src.gen/@amzn/amazon-q-developer-streaming-client` and `src.gen/@amzn/codewhisperer-streaming` respectively (For more +information about these clients and how they are generated, please see this [quip document](https://quip-amazon.com/2dAWAvTIYXXr/Build-instructions-for-AWS-CodeWhisperer-Streaming-Typescript-client)). +## @amzn/amazon-q-developer-streaming client + +This client is a standalone npm project in typescript, and it is added to +the project as a workspace in the project's root `package.json` with the line `"workspaces": [ ..., "src.gen/@amzn/amazon-q-developer-streaming" ]`. +The client may be manually built using `npm run build -w @amzn/amazon-q-developer-streaming"`. +The `generateClients` run script ensures that this dependency is +built before the toolkit project itself. Workspaces are automatically ready to +be imported in the root toolkit project by their declared package.json name, +(`@amzn/amazon-q-developer-streaming` in this case). + +## @amzn/codewhisperer-streaming client + This client is a standalone npm project in typescript, and it is added to the project as a workspace in the project's root `package.json` with the line `"workspaces": [ ..., "src.gen/@amzn/codewhisperer-streaming" ]`. The client may be manually built using `npm run build -w @amzn/codewhisperer-streaming"`. diff --git a/docs/telemetry-perf.md b/docs/telemetry-perf.md index f8019ba85e4..892ba8f6a57 100644 --- a/docs/telemetry-perf.md +++ b/docs/telemetry-perf.md @@ -259,6 +259,292 @@ How long it took from when the user stopped pressing a key to when they were sho end ``` +## Amazon Q Chat + +### amazonq_chatRoundTrip + +Measures sequential response times in Q chat, from user input to message display. Tracks time intervals between key events: editor receiving the message, feature processing, and final message rendering + +```mermaid + sequenceDiagram + participant User + participant chat as Chat UI + participant vscode as VSCode + participant event as Event Recorder + participant partner as Partner team code + participant telemetry + + User->>chat: Write chat message and press enter + chat->>vscode: send message with timestamp + vscode->>event: record chatMessageSent/editorReceivedMessage timestamps + vscode->>partner: forward chat message + partner->>event: record featureReceivedMessage timestamp + partner->>partner: call backend/get response + partner->>vscode: forward response contents + vscode->>chat: display message + chat->>vscode: send stop-chat-message-telemetry event + vscode->>event: record messageDisplayed timestamp + event->>vscode: get the telemetry timestamps + vscode->>telemetry: emit amazonq_chatRoundTrip with telemetry timestamps +``` + +### cwsprChatTimeToFirstChunk + +The time between when the conversation stream is created and when we got back the first usable result + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + note over backend, generateResponse: cwsprChatTimeToFirstChunk + rect rgb(230, 230, 230, 0.5) + backend->>backend: generate first chunk + backend->>generateResponse: chunk received + end + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end +``` + +### cwsprChatTimeBetweenChunks + +An array of time when successive pieces of data are received from the server + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + + loop for each subsequent chunk + note over backend, generateResponse: cwsprChatTimeBetweenChunks + rect rgb(230, 230, 230, 0.5) + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>generateResponse: record timestamp + end + + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end +``` + +### cwsprChatFullResponseLatency + +The time between when the conversation id was created and the final response from the server was received + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + + note over backend, chat: cwsprChatFullResponseLatency + rect rgb(230, 230, 230, 0.5) + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end + backend->>generateResponse: final chunk received + end + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk +``` + +### cwsprChatTimeToFirstUsableChunk + +The time between the initial server request, including creating the conversation stream, and the first usable result + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + note over backend, generateResponse: cwsprChatTimeToFirstUsableChunk + rect rgb(230, 230, 230, 0.5) + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + backend->>backend: generate first chunk + backend->>generateResponse: chunk received + end + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end +``` + +### cwsprChatFullServerResponseLatency + +The time between the initial server request, including creating the conversation stream, and the final response from the server + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + note over backend, chat: cwsprChatFullServerResponseLatency + rect rgb(230, 230, 230, 0.5) + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end + backend->>generateResponse: final chunk received + end + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk +``` + +### cwsprChatTimeToFirstDisplay + +The time between the user pressing enter and when the first piece of data is displayed to the user + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + note over backend, user: cwsprChatTimeToFirstDisplay + rect rgb(230, 230, 230, 0.5) + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + backend->>backend: generate first chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + end +``` + +### cwsprChatTimeBetweenDisplays + +An array of time when successive pieces of server responses are displayed to the user + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + + note over backend, chat: cwsprChatTimeBetweenDisplays + rect rgb(230, 230, 230, 0.5) + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>generateResponse: chunk received + generateResponse->>vscode: send chunk to display + vscode->>chat: display chunk + chat->>vscode: record display timestamp + end + end +``` + +### cwsprChatFullDisplayLatency + +The time between the user pressing enter and the entire response being rendered + +```mermaid + sequenceDiagram + participant user as User + participant chat as Chat UI + participant vscode as VSCode extension host + participant generateResponse as Generate response + participant backend as Q service backend + + note over backend, user: cwsprChatFullDisplayLatency + rect rgb(230, 230, 230, 0.5) + user->>chat: Presses enter with message + chat->>vscode: Tell VSCode to generate a response + vscode->>generateResponse: start generating + generateResponse->>backend: start stream + backend->>backend: create conversation id + backend->>generateResponse: get conversation id + generateResponse->>backend: start stream + backend->>backend: create conversation id + loop for each subsequent chunk + backend->>backend: generate next chunk + backend->>vscode: send chunk to display + vscode->>chat: display chunk + end + end + +``` + ## Crash Monitoring We make an attempt to gather information regarding when the IDE crashes, then report it to telemetry. This is the diagram of the steps that take place. diff --git a/package-lock.json b/package-lock.json index 63db23b2caf..46eef3d9f97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,12 +15,13 @@ "plugins/*" ], "dependencies": { - "@types/node": "^18.19.55", + "@aws-toolkits/telemetry": "^1.0.242", + "@types/node": "^22.7.5", "vscode-nls": "^5.2.0", "vscode-nls-dev": "^4.0.4" }, "devDependencies": { - "@aws-toolkits/telemetry": "^1.0.272", + "@aws-toolkits/telemetry": "^1.0.274", "@playwright/browser-chromium": "^1.43.1", "@types/he": "^1.2.3", "@types/vscode": "^1.68.0", @@ -47,7 +48,7 @@ "typescript": "^5.0.4", "webpack": "^5.95.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.1", + "webpack-dev-server": "^4.15.2", "webpack-merge": "^5.10.0" } }, @@ -59,6 +60,10 @@ "node": ">=0.10.0" } }, + "node_modules/@amzn/amazon-q-developer-streaming-client": { + "resolved": "src.gen/@amzn/amazon-q-developer-streaming-client", + "link": true + }, "node_modules/@amzn/codewhisperer-streaming": { "resolved": "src.gen/@amzn/codewhisperer-streaming", "link": true @@ -91,9 +96,9 @@ } }, "node_modules/@aws-crypto/crc32/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -131,9 +136,9 @@ } }, "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -170,9 +175,9 @@ } }, "node_modules/@aws-crypto/sha256-js/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -215,9 +220,9 @@ } }, "node_modules/@aws-crypto/util/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -226,32 +231,28 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.666.0.tgz", - "integrity": "sha512-6LHXxGtpDjpay9oO89chJAL7CZjhF3FTJ7I5GFc7TwVXzM+/1fYXJKAF17aV85OA0g1P+sXd/h9Qg4ZpyedZgw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.682.0.tgz", + "integrity": "sha512-RJVzgm9Q15yWnU4mFiHEO1M7k8d5ARgDhGkKSz5sE10dzG5vKockqkhgvwBgmwiAgkfnSkI/Bzx3/baBMm9BVQ==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.666.0", - "@aws-sdk/client-sts": "3.666.0", - "@aws-sdk/core": "3.666.0", - "@aws-sdk/credential-provider-node": "3.666.0", - "@aws-sdk/middleware-host-header": "3.664.0", - "@aws-sdk/middleware-logger": "3.664.0", - "@aws-sdk/middleware-recursion-detection": "3.664.0", - "@aws-sdk/middleware-user-agent": "3.666.0", - "@aws-sdk/region-config-resolver": "3.664.0", - "@aws-sdk/types": "3.664.0", - "@aws-sdk/util-endpoints": "3.664.0", - "@aws-sdk/util-user-agent-browser": "3.664.0", - "@aws-sdk/util-user-agent-node": "3.666.0", + "@aws-sdk/client-sso-oidc": "3.682.0", + "@aws-sdk/client-sts": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", - "@smithy/eventstream-serde-browser": "^3.0.10", - "@smithy/eventstream-serde-config-resolver": "^3.0.7", - "@smithy/eventstream-serde-node": "^3.0.9", "@smithy/fetch-http-handler": "^3.2.9", "@smithy/hash-node": "^3.0.7", "@smithy/invalid-dependency": "^3.0.7", @@ -275,6 +276,8 @@ "@smithy/util-middleware": "^3.0.7", "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.6", + "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -282,24 +285,23 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sso": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.666.0.tgz", - "integrity": "sha512-+h5Xk64dM4on1MwjTYxlwtI8ilytU7zjTVRzMAYOysmH71Bc8YsLOfonFHvzhF/AXpKJu3f1BhM65S0tasPcrw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/client-sso": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.682.0.tgz", + "integrity": "sha512-PYH9RFUMYLFl66HSBq4tIx6fHViMLkhJHTYJoJONpBs+Td+NwVJ895AdLtDsBIhMS0YseCbPpuyjUCJgsUrwUw==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.666.0", - "@aws-sdk/middleware-host-header": "3.664.0", - "@aws-sdk/middleware-logger": "3.664.0", - "@aws-sdk/middleware-recursion-detection": "3.664.0", - "@aws-sdk/middleware-user-agent": "3.666.0", - "@aws-sdk/region-config-resolver": "3.664.0", - "@aws-sdk/types": "3.664.0", - "@aws-sdk/util-endpoints": "3.664.0", - "@aws-sdk/util-user-agent-browser": "3.664.0", - "@aws-sdk/util-user-agent-node": "3.666.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", "@smithy/fetch-http-handler": "^3.2.9", @@ -331,25 +333,24 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.666.0.tgz", - "integrity": "sha512-mW//v5EvHMU2SulW1FqmjJJPDNhzySRb/YUU+jq9AFDIYUdjF6j6wM+iavCW/4gLqOct0RT7B62z8jqyHkUCEQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.682.0.tgz", + "integrity": "sha512-ZPZ7Y/r/w3nx/xpPzGSqSQsB090Xk5aZZOH+WBhTDn/pBEuim09BYXCLzvvxb7R7NnuoQdrTJiwimdJAhHl7ZQ==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.666.0", - "@aws-sdk/credential-provider-node": "3.666.0", - "@aws-sdk/middleware-host-header": "3.664.0", - "@aws-sdk/middleware-logger": "3.664.0", - "@aws-sdk/middleware-recursion-detection": "3.664.0", - "@aws-sdk/middleware-user-agent": "3.666.0", - "@aws-sdk/region-config-resolver": "3.664.0", - "@aws-sdk/types": "3.664.0", - "@aws-sdk/util-endpoints": "3.664.0", - "@aws-sdk/util-user-agent-browser": "3.664.0", - "@aws-sdk/util-user-agent-node": "3.666.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", "@smithy/fetch-http-handler": "^3.2.9", @@ -381,29 +382,28 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.666.0" + "@aws-sdk/client-sts": "^3.682.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sts": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.666.0.tgz", - "integrity": "sha512-tw8yxcxvaj0d/A4YJXIh3mISzsQe8rThIVKvpyhEdl1lEoz81skCccX5u3gHajciSdga/V0DxhBbsO+eE1bZkw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/client-sts": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.682.0.tgz", + "integrity": "sha512-xKuo4HksZ+F8m9DOfx/ZuWNhaPuqZFPwwy0xqcBT6sWH7OAuBjv/fnpOTzyQhpVTWddlf+ECtMAMrxjxuOExGQ==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.666.0", - "@aws-sdk/core": "3.666.0", - "@aws-sdk/credential-provider-node": "3.666.0", - "@aws-sdk/middleware-host-header": "3.664.0", - "@aws-sdk/middleware-logger": "3.664.0", - "@aws-sdk/middleware-recursion-detection": "3.664.0", - "@aws-sdk/middleware-user-agent": "3.666.0", - "@aws-sdk/region-config-resolver": "3.664.0", - "@aws-sdk/types": "3.664.0", - "@aws-sdk/util-endpoints": "3.664.0", - "@aws-sdk/util-user-agent-browser": "3.664.0", - "@aws-sdk/util-user-agent-node": "3.666.0", + "@aws-sdk/client-sso-oidc": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", "@smithy/config-resolver": "^3.0.9", "@smithy/core": "^2.4.8", "@smithy/fetch-http-handler": "^3.2.9", @@ -435,13 +435,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/core": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.666.0.tgz", - "integrity": "sha512-jxNjs0sAVX+CWwoa4kHUENLHuBwjT1EILBoctmQoiIb1v5KpKwZnSByHTpvUkFmbuwWQPEnJkJCqzIHjEmjisA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/core": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.679.0.tgz", + "integrity": "sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/core": "^2.4.8", "@smithy/node-config-provider": "^3.1.8", "@smithy/property-provider": "^3.1.7", @@ -457,13 +456,13 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.664.0.tgz", - "integrity": "sha512-95rE+9Voaco0nmKJrXqfJAxSSkSWqlBy76zomiZrUrv7YuijQtHCW8jte6v6UHAFAaBzgFsY7QqBxs15u9SM7g==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.679.0.tgz", + "integrity": "sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -472,13 +471,13 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-http": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.666.0.tgz", - "integrity": "sha512-j1Cob+tYmJ/m9agSsFPdAhLfILBqZzolF17XJvmEzQC2edltQ6NR0Wd09GQvtiAFZy7gn1l40bKuxX6Tq5U6XQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.679.0.tgz", + "integrity": "sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/fetch-http-handler": "^3.2.9", "@smithy/node-http-handler": "^3.2.4", "@smithy/property-provider": "^3.1.7", @@ -492,18 +491,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.666.0.tgz", - "integrity": "sha512-u09aUZJQNK8zVAKJKEOQ2mLsv39YxR20US00/WAPNW9sMWWhl4raT97tsalOUc6ZTHOEqHHmEVZXuscINnkaww==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.682.0.tgz", + "integrity": "sha512-6eqWeHdK6EegAxqDdiCi215nT3QZPwukgWAYuVxNfJ/5m0/P7fAzF+D5kKVgByUvGJEbq/FEL8Fw7OBe64AA+g==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.664.0", - "@aws-sdk/credential-provider-http": "3.666.0", - "@aws-sdk/credential-provider-process": "3.664.0", - "@aws-sdk/credential-provider-sso": "3.666.0", - "@aws-sdk/credential-provider-web-identity": "3.664.0", - "@aws-sdk/types": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.682.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/credential-provider-imds": "^3.2.4", "@smithy/property-provider": "^3.1.7", "@smithy/shared-ini-file-loader": "^3.1.8", @@ -514,22 +513,21 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.666.0" + "@aws-sdk/client-sts": "^3.682.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.666.0.tgz", - "integrity": "sha512-C43L9kxAb2lvIZ+eKVuyX9xYrkpg+Zyq0fLasK1wekC6M/Qj/uqE1KFz9ddDE8Dv1HwiE+UZk5psM0KatQpPGQ==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.664.0", - "@aws-sdk/credential-provider-http": "3.666.0", - "@aws-sdk/credential-provider-ini": "3.666.0", - "@aws-sdk/credential-provider-process": "3.664.0", - "@aws-sdk/credential-provider-sso": "3.666.0", - "@aws-sdk/credential-provider-web-identity": "3.664.0", - "@aws-sdk/types": "3.664.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.682.0.tgz", + "integrity": "sha512-HSmDqZcBVZrTctHCT9m++vdlDfJ1ARI218qmZa+TZzzOFNpKWy6QyHMEra45GB9GnkkMmV6unoDSPMuN0AqcMg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-ini": "3.682.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.682.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/credential-provider-imds": "^3.2.4", "@smithy/property-provider": "^3.1.7", "@smithy/shared-ini-file-loader": "^3.1.8", @@ -540,13 +538,13 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.664.0.tgz", - "integrity": "sha512-sQicIw/qWTsmMw8EUQNJXdrWV5SXaZc2zGdCQsQxhR6wwNO2/rZ5JmzdcwUADmleBVyPYk3KGLhcofF/qXT2Ng==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.679.0.tgz", + "integrity": "sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/shared-ini-file-loader": "^3.1.8", "@smithy/types": "^3.5.0", @@ -556,15 +554,15 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.666.0.tgz", - "integrity": "sha512-aaa5Ig8hI7lSh1CSQP0oaLvjylz6+3mKUgdvw69zv0MdX3TUZiQRDCsfqK0P3VNsj/QSvBytSjuNDuSaYcACJg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.682.0.tgz", + "integrity": "sha512-h7IH1VsWgV6YAJSWWV6y8uaRjGqLY3iBpGZlXuTH/c236NMLaNv+WqCBLeBxkFGUb2WeQ+FUPEJDCD69rgLIkg==", "dependencies": { - "@aws-sdk/client-sso": "3.666.0", - "@aws-sdk/token-providers": "3.664.0", - "@aws-sdk/types": "3.664.0", + "@aws-sdk/client-sso": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/token-providers": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/shared-ini-file-loader": "^3.1.8", "@smithy/types": "^3.5.0", @@ -574,13 +572,13 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.664.0.tgz", - "integrity": "sha512-10ltP1BfSKRJVXd8Yr5oLbo+VSDskWbps0X3szSsxTk0Dju1xvkz7hoIjylWLvtGbvQ+yb2pmsJYKCudW/4DJg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.679.0.tgz", + "integrity": "sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -589,16 +587,15 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.664.0" + "@aws-sdk/client-sts": "^3.679.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.664.0.tgz", - "integrity": "sha512-4tCXJ+DZWTq38eLmFgnEmO8X4jfWpgPbWoCyVYpRHCPHq6xbrU65gfwS9jGx25L4YdEce641ChI9TKLryuUgRA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.679.0.tgz", + "integrity": "sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/protocol-http": "^4.1.4", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -607,13 +604,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-logger": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.664.0.tgz", - "integrity": "sha512-eNykMqQuv7eg9pAcaLro44fscIe1VkFfhm+gYnlxd+PH6xqapRki1E68VHehnIptnVBdqnWfEqLUSLGm9suqhg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/middleware-logger": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.679.0.tgz", + "integrity": "sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, @@ -621,13 +617,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.664.0.tgz", - "integrity": "sha512-jq27WMZhm+dY8BWZ9Ipy3eXtZj0lJzpaKQE3A3tH5AOIlUV/gqrmnJ9CdqVVef4EJsq9Yil4ZzQjKKmPsxveQg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.679.0.tgz", + "integrity": "sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/protocol-http": "^4.1.4", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -636,15 +631,14 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.666.0.tgz", - "integrity": "sha512-d8XJ103SGCMsFIKEowpOaZr0W8AkLNd+3CS7W95yb6YmN7lcNGL54RtTSy3m8YJI6W2jXftPFN2oLG4K3aywVQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.682.0.tgz", + "integrity": "sha512-7TyvYR9HdGH1/Nq0eeApUTM4izB6rExiw87khVYuJwZHr6FmvIL1FsOVFro/4WlXa0lg4LiYOm/8H8dHv+fXTg==", "dependencies": { - "@aws-sdk/core": "3.666.0", - "@aws-sdk/types": "3.664.0", - "@aws-sdk/util-endpoints": "3.664.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", "@smithy/core": "^2.4.8", "@smithy/protocol-http": "^4.1.4", "@smithy/types": "^3.5.0", @@ -654,13 +648,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/region-config-resolver": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.664.0.tgz", - "integrity": "sha512-o/B8dg8K+9714RGYPgMxZgAChPe/MTSMkf/eHXTUFHNik5i1HgVKfac22njV2iictGy/6GhpFsKa1OWNYAkcUg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.679.0.tgz", + "integrity": "sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/node-config-provider": "^3.1.8", "@smithy/types": "^3.5.0", "@smithy/util-config-provider": "^3.0.0", @@ -671,13 +664,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/token-providers": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.664.0.tgz", - "integrity": "sha512-dBAvXW2/6bAxidvKARFxyCY2uCynYBKRFN00NhS1T5ggxm3sUnuTpWw1DTjl02CVPkacBOocZf10h8pQbHSK8w==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/token-providers": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.679.0.tgz", + "integrity": "sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/property-provider": "^3.1.7", "@smithy/shared-ini-file-loader": "^3.1.8", "@smithy/types": "^3.5.0", @@ -687,14 +679,13 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.664.0" + "@aws-sdk/client-sso-oidc": "^3.679.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/types": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.664.0.tgz", - "integrity": "sha512-+GtXktvVgpreM2b+NJL9OqZGsOzHwlCUrO8jgQUvH/yA6Kd8QO2YFhQCp0C9sSzTteZJVqGBu8E0CQurxJHPbw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/types": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.679.0.tgz", + "integrity": "sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==", "dependencies": { "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -703,13 +694,12 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-endpoints": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.664.0.tgz", - "integrity": "sha512-KrXoHz6zmAahVHkyWMRT+P6xJaxItgmklxEDrT+npsUB4d5C/lhw16Crcp9TDi828fiZK3GYKRAmmNhvmzvBNg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/util-endpoints": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.679.0.tgz", + "integrity": "sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/types": "^3.5.0", "@smithy/util-endpoints": "^2.1.3", "tslib": "^2.6.2" @@ -718,26 +708,24 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.664.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.664.0.tgz", - "integrity": "sha512-c/PV3+f1ss4PpskHbcOxTZ6fntV2oXy/xcDR9nW+kVaz5cM1G702gF0rvGLKPqoBwkj2rWGe6KZvEBeLzynTUQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.679.0.tgz", + "integrity": "sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==", "dependencies": { - "@aws-sdk/types": "3.664.0", + "@aws-sdk/types": "3.679.0", "@smithy/types": "^3.5.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.666.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.666.0.tgz", - "integrity": "sha512-DzbOMcAqrn51Z0fz5FvofaYmQA+sOJKO2cb8zQrix3TkzsTw1vRLo/cgQUJuJRGptbQCe1gnj7+21Gd5hpU6Ag==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.682.0.tgz", + "integrity": "sha512-so5s+j0gPoTS0HM4HPL+G0ajk0T6cQAg8JXzRgvyiQAxqie+zGCZAV3VuVeMNWMVbzsgZl0pYZaatPFTLG/AxA==", "dependencies": { - "@aws-sdk/middleware-user-agent": "3.666.0", - "@aws-sdk/types": "3.664.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/types": "3.679.0", "@smithy/node-config-provider": "^3.1.8", "@smithy/types": "^3.5.0", "tslib": "^2.6.2" @@ -754,24 +742,22 @@ } } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/abort-controller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.5.tgz", - "integrity": "sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/fetch-http-handler": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", - "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^4.1.4", "@smithy/querystring-builder": "^3.0.7", @@ -780,11 +766,10 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, @@ -792,37 +777,36 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz", - "integrity": "sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/middleware-endpoint": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", "dependencies": { - "@smithy/middleware-serde": "^3.0.7", - "@smithy/node-config-provider": "^3.1.8", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "@smithy/url-parser": "^3.0.7", - "@smithy/util-middleware": "^3.0.7", + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-retry": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.23.tgz", - "integrity": "sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/middleware-retry": { + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz", + "integrity": "sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==", "dependencies": { - "@smithy/node-config-provider": "^3.1.8", - "@smithy/protocol-http": "^4.1.4", - "@smithy/service-error-classification": "^3.0.7", - "@smithy/smithy-client": "^3.4.0", - "@smithy/types": "^3.5.0", - "@smithy/util-middleware": "^3.0.7", - "@smithy/util-retry": "^3.0.7", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -830,96 +814,89 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-serde": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz", - "integrity": "sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-stack": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz", - "integrity": "sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/middleware-stack": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/node-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz", - "integrity": "sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", "dependencies": { - "@smithy/abort-controller": "^3.1.5", - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/querystring-builder": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz", - "integrity": "sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, @@ -927,66 +904,62 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/querystring-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz", - "integrity": "sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/service-error-classification": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz", - "integrity": "sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/service-error-classification": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.8.tgz", + "integrity": "sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==", "dependencies": { - "@smithy/types": "^3.5.0" + "@smithy/types": "^3.6.0" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/smithy-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.0.tgz", - "integrity": "sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/smithy-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.4", - "@smithy/middleware-stack": "^3.0.7", - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "@smithy/util-stream": "^3.1.9", + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "dependencies": { "tslib": "^2.6.2" }, @@ -994,22 +967,20 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/url-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.7.tgz", - "integrity": "sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", "dependencies": { - "@smithy/querystring-parser": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-base64": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-utf8": "^3.0.0", @@ -1019,11 +990,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" @@ -1032,11 +1002,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, @@ -1044,42 +1013,39 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-retry": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.7.tgz", - "integrity": "sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-retry": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.8.tgz", + "integrity": "sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==", "dependencies": { - "@smithy/service-error-classification": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-stream": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.9.tgz", - "integrity": "sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", "dependencies": { - "@smithy/fetch-http-handler": "^3.2.9", - "@smithy/node-http-handler": "^3.2.4", - "@smithy/types": "^3.5.0", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", "@smithy/util-base64": "^3.0.0", "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-hex-encoding": "^3.0.0", @@ -1090,11 +1056,22 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", + "dependencies": { + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, @@ -1102,11 +1079,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-cloudformation/node_modules/@smithy/util-utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" @@ -1115,765 +1091,896 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.637.0", + "node_modules/@aws-sdk/client-cloudwatch-logs": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.682.0.tgz", + "integrity": "sha512-fodsKdamwVpc9wLRrly4Ccur9TZdfDjrlDY2V0pZT+B4XS9PKhPaQ/8JY4/5ysJoUCe3NxFEpQxkediKEbu2uQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.637.0", - "@aws-sdk/client-sts": "3.637.0", - "@aws-sdk/core": "3.635.0", - "@aws-sdk/credential-provider-node": "3.637.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.637.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.637.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.4.0", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.15", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.2.0", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", + "@aws-sdk/client-sso-oidc": "3.682.0", + "@aws-sdk/client-sts": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/eventstream-serde-browser": "^3.0.10", + "@smithy/eventstream-serde-config-resolver": "^3.0.7", + "@smithy/eventstream-serde-node": "^3.0.9", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", "@smithy/util-body-length-browser": "^3.0.0", "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.15", - "@smithy/util-defaults-mode-node": "^3.0.15", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, + "@types/uuid": "^9.0.1", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sso": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.682.0.tgz", + "integrity": "sha512-PYH9RFUMYLFl66HSBq4tIx6fHViMLkhJHTYJoJONpBs+Td+NwVJ895AdLtDsBIhMS0YseCbPpuyjUCJgsUrwUw==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/abort-controller": { - "version": "3.1.1", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.682.0.tgz", + "integrity": "sha512-ZPZ7Y/r/w3nx/xpPzGSqSQsB090Xk5aZZOH+WBhTDn/pBEuim09BYXCLzvvxb7R7NnuoQdrTJiwimdJAhHl7ZQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.682.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/client-sts": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.682.0.tgz", + "integrity": "sha512-xKuo4HksZ+F8m9DOfx/ZuWNhaPuqZFPwwy0xqcBT6sWH7OAuBjv/fnpOTzyQhpVTWddlf+ECtMAMrxjxuOExGQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-node": "3.682.0", + "@aws-sdk/middleware-host-header": "3.679.0", + "@aws-sdk/middleware-logger": "3.679.0", + "@aws-sdk/middleware-recursion-detection": "3.679.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/region-config-resolver": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@aws-sdk/util-user-agent-browser": "3.679.0", + "@aws-sdk/util-user-agent-node": "3.682.0", + "@smithy/config-resolver": "^3.0.9", + "@smithy/core": "^2.4.8", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/hash-node": "^3.0.7", + "@smithy/invalid-dependency": "^3.0.7", + "@smithy/middleware-content-length": "^3.0.9", + "@smithy/middleware-endpoint": "^3.1.4", + "@smithy/middleware-retry": "^3.0.23", + "@smithy/middleware-serde": "^3.0.7", + "@smithy/middleware-stack": "^3.0.7", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/url-parser": "^3.0.7", "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.23", + "@smithy/util-defaults-mode-node": "^3.0.23", + "@smithy/util-endpoints": "^2.1.3", + "@smithy/util-middleware": "^3.0.7", + "@smithy/util-retry": "^3.0.7", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/core": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.679.0.tgz", + "integrity": "sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "3.679.0", + "@smithy/core": "^2.4.8", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.4", + "@smithy/signature-v4": "^4.2.0", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/util-middleware": "^3.0.7", + "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.679.0.tgz", + "integrity": "sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-retry": { - "version": "3.0.15", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.679.0.tgz", + "integrity": "sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/service-error-classification": "^3.0.3", - "@smithy/smithy-client": "^3.2.0", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/fetch-http-handler": "^3.2.9", + "@smithy/node-http-handler": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/protocol-http": "^4.1.4", + "@smithy/smithy-client": "^3.4.0", + "@smithy/types": "^3.5.0", + "@smithy/util-stream": "^3.1.9", + "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.682.0.tgz", + "integrity": "sha512-6eqWeHdK6EegAxqDdiCi215nT3QZPwukgWAYuVxNfJ/5m0/P7fAzF+D5kKVgByUvGJEbq/FEL8Fw7OBe64AA+g==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.679.0", + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.682.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.682.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.682.0.tgz", + "integrity": "sha512-HSmDqZcBVZrTctHCT9m++vdlDfJ1ARI218qmZa+TZzzOFNpKWy6QyHMEra45GB9GnkkMmV6unoDSPMuN0AqcMg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.679.0", + "@aws-sdk/credential-provider-http": "3.679.0", + "@aws-sdk/credential-provider-ini": "3.682.0", + "@aws-sdk/credential-provider-process": "3.679.0", + "@aws-sdk/credential-provider-sso": "3.682.0", + "@aws-sdk/credential-provider-web-identity": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/credential-provider-imds": "^3.2.4", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.679.0.tgz", + "integrity": "sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.682.0.tgz", + "integrity": "sha512-h7IH1VsWgV6YAJSWWV6y8uaRjGqLY3iBpGZlXuTH/c236NMLaNv+WqCBLeBxkFGUb2WeQ+FUPEJDCD69rgLIkg==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", + "@aws-sdk/client-sso": "3.682.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/token-providers": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/property-provider": { - "version": "3.1.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.679.0.tgz", + "integrity": "sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.679.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/protocol-http": { - "version": "4.1.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.679.0.tgz", + "integrity": "sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-sdk/types": "3.679.0", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-logger": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.679.0.tgz", + "integrity": "sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.679.0.tgz", + "integrity": "sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-sdk/types": "3.679.0", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/service-error-classification": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.682.0.tgz", + "integrity": "sha512-7TyvYR9HdGH1/Nq0eeApUTM4izB6rExiw87khVYuJwZHr6FmvIL1FsOVFro/4WlXa0lg4LiYOm/8H8dHv+fXTg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0" + "@aws-sdk/core": "3.679.0", + "@aws-sdk/types": "3.679.0", + "@aws-sdk/util-endpoints": "3.679.0", + "@smithy/core": "^2.4.8", + "@smithy/protocol-http": "^4.1.4", + "@smithy/types": "^3.5.0", + "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.679.0.tgz", + "integrity": "sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@aws-sdk/types": "3.679.0", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/types": "^3.5.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.7", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/smithy-client": { - "version": "3.2.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/token-providers": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.679.0.tgz", + "integrity": "sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", + "@aws-sdk/types": "3.679.0", + "@smithy/property-provider": "^3.1.7", + "@smithy/shared-ini-file-loader": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.679.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/types": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.679.0.tgz", + "integrity": "sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/url-parser": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-endpoints": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.679.0.tgz", + "integrity": "sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==", "license": "Apache-2.0", "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", + "@smithy/util-endpoints": "^2.1.3", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-base64": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.679.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.679.0.tgz", + "integrity": "sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", + "@aws-sdk/types": "3.679.0", + "@smithy/types": "^3.5.0", + "bowser": "^2.11.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.682.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.682.0.tgz", + "integrity": "sha512-so5s+j0gPoTS0HM4HPL+G0ajk0T6cQAg8JXzRgvyiQAxqie+zGCZAV3VuVeMNWMVbzsgZl0pYZaatPFTLG/AxA==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", + "@aws-sdk/middleware-user-agent": "3.682.0", + "@aws-sdk/types": "3.679.0", + "@smithy/node-config-provider": "^3.1.8", + "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-middleware": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/fetch-http-handler": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", + "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/protocol-http": "^4.1.4", + "@smithy/querystring-builder": "^3.0.7", + "@smithy/types": "^3.5.0", + "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-retry": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-stream": { - "version": "3.1.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-endpoint": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", "license": "Apache-2.0", "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-retry": { + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz", + "integrity": "sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/middleware-stack": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda": { - "version": "3.637.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.637.0", - "@aws-sdk/client-sts": "3.637.0", - "@aws-sdk/core": "3.635.0", - "@aws-sdk/credential-provider-node": "3.637.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.637.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.637.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.4.0", - "@smithy/eventstream-serde-browser": "^3.0.6", - "@smithy/eventstream-serde-config-resolver": "^3.0.3", - "@smithy/eventstream-serde-node": "^3.0.5", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.15", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.2.0", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.15", - "@smithy/util-defaults-mode-node": "^3.0.15", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-stream": "^3.1.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/abort-controller": { - "version": "3.1.1", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.4", - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", + "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-retry": { - "version": "3.0.15", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/service-error-classification": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.8.tgz", + "integrity": "sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/service-error-classification": "^3.0.3", - "@smithy/smithy-client": "^3.2.0", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "@smithy/types": "^3.6.0" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-stack": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/smithy-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/node-http-handler": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/property-provider": { - "version": "3.1.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/protocol-http": { - "version": "4.1.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/querystring-builder": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/querystring-parser": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/service-error-classification": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-retry": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.8.tgz", + "integrity": "sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0" + "@smithy/service-error-classification": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/smithy-client": { - "version": "3.2.0", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/types": { - "version": "3.3.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/url-parser": { - "version": "3.0.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-middleware": { - "version": "3.0.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-retry": { - "version": "3.0.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-stream": { - "version": "3.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -1882,8 +1989,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@smithy/util-utf8": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^3.0.0", @@ -1893,70 +2002,14 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.637.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.635.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.637.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.637.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.4.0", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.15", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.2.0", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.15", - "@smithy/util-defaults-mode-node": "^3.0.15", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc": { + "node_modules/@aws-sdk/client-cognito-identity": { "version": "3.637.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.637.0", + "@aws-sdk/client-sts": "3.637.0", "@aws-sdk/core": "3.635.0", "@aws-sdk/credential-provider-node": "3.637.0", "@aws-sdk/middleware-host-header": "3.620.0", @@ -1997,12 +2050,9 @@ }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.637.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-sdk/types": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@aws-sdk/types": { "version": "3.609.0", "license": "Apache-2.0", "dependencies": { @@ -2013,7 +2063,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/abort-controller": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/abort-controller": { "version": "3.1.1", "license": "Apache-2.0", "dependencies": { @@ -2024,7 +2074,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "license": "Apache-2.0", "dependencies": { @@ -2035,7 +2085,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2045,7 +2095,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-endpoint": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "license": "Apache-2.0", "dependencies": { @@ -2061,7 +2111,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-retry": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-retry": { "version": "3.0.15", "license": "Apache-2.0", "dependencies": { @@ -2079,7 +2129,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-serde": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-serde": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2090,7 +2140,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-stack": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/middleware-stack": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2101,7 +2151,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-config-provider": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/node-config-provider": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2114,7 +2164,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-http-handler": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/node-http-handler": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2128,7 +2178,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -2139,7 +2189,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/protocol-http": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/protocol-http": { "version": "4.1.0", "license": "Apache-2.0", "dependencies": { @@ -2150,7 +2200,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-builder": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/querystring-builder": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2162,7 +2212,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-parser": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/querystring-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2173,7 +2223,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2183,7 +2233,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2194,7 +2244,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/smithy-client": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/smithy-client": { "version": "3.2.0", "license": "Apache-2.0", "dependencies": { @@ -2209,7 +2259,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -2219,7 +2269,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/url-parser": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/url-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2228,7 +2278,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-base64": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2240,7 +2290,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2251,7 +2301,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2261,7 +2311,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-middleware": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-middleware": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2272,7 +2322,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-retry": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2284,7 +2334,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-stream": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -2301,7 +2351,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2312,7 +2362,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2322,7 +2372,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2333,7 +2383,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2344,29 +2394,84 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/abort-controller": { - "version": "3.1.1", + "node_modules/@aws-sdk/client-lambda": { + "version": "3.637.0", "license": "Apache-2.0", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.637.0", + "@aws-sdk/client-sts": "3.637.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.637.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.637.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.637.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/eventstream-serde-browser": "^3.0.6", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.5", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "license": "Apache-2.0", "dependencies": { @@ -2377,7 +2482,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2387,7 +2492,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-endpoint": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "license": "Apache-2.0", "dependencies": { @@ -2403,7 +2508,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-retry": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-retry": { "version": "3.0.15", "license": "Apache-2.0", "dependencies": { @@ -2421,7 +2526,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-serde": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-serde": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2432,7 +2537,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-stack": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/middleware-stack": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2443,7 +2548,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-config-provider": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/node-config-provider": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2456,7 +2561,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/node-http-handler": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2470,7 +2575,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -2481,7 +2586,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/protocol-http": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/protocol-http": { "version": "4.1.0", "license": "Apache-2.0", "dependencies": { @@ -2492,7 +2597,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-builder": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/querystring-builder": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2504,7 +2609,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-parser": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/querystring-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2515,7 +2620,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2525,7 +2630,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2536,7 +2641,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/smithy-client": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/smithy-client": { "version": "3.2.0", "license": "Apache-2.0", "dependencies": { @@ -2551,7 +2656,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -2561,7 +2666,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/url-parser": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/url-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2570,7 +2675,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-base64": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2582,7 +2687,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2593,7 +2698,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2603,7 +2708,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-middleware": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-middleware": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2614,7 +2719,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-retry": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2626,7 +2731,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -2643,7 +2748,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2654,7 +2759,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2664,7 +2769,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2675,7 +2780,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2686,13 +2791,59 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts": { + "node_modules/@aws-sdk/client-sso": { + "version": "3.637.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.637.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.637.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { "version": "3.637.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.637.0", "@aws-sdk/core": "3.635.0", "@aws-sdk/credential-provider-node": "3.637.0", "@aws-sdk/middleware-host-header": "3.620.0", @@ -2733,9 +2884,12 @@ }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.637.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-sdk/types": { "version": "3.609.0", "license": "Apache-2.0", "dependencies": { @@ -2746,7 +2900,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/abort-controller": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/abort-controller": { "version": "3.1.1", "license": "Apache-2.0", "dependencies": { @@ -2757,7 +2911,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "license": "Apache-2.0", "dependencies": { @@ -2768,7 +2922,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2778,7 +2932,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-endpoint": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "license": "Apache-2.0", "dependencies": { @@ -2794,7 +2948,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-retry": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-retry": { "version": "3.0.15", "license": "Apache-2.0", "dependencies": { @@ -2812,7 +2966,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-serde": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-serde": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2823,7 +2977,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-stack": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/middleware-stack": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2834,7 +2988,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-config-provider": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-config-provider": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2847,7 +3001,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-http-handler": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/node-http-handler": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2861,7 +3015,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -2872,7 +3026,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/protocol-http": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/protocol-http": { "version": "4.1.0", "license": "Apache-2.0", "dependencies": { @@ -2883,7 +3037,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-builder": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-builder": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2895,7 +3049,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-parser": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/querystring-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2906,7 +3060,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2916,7 +3070,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -2927,7 +3081,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/smithy-client": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/smithy-client": { "version": "3.2.0", "license": "Apache-2.0", "dependencies": { @@ -2942,7 +3096,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -2952,7 +3106,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/url-parser": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/url-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -2961,7 +3115,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-base64": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2973,7 +3127,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2984,7 +3138,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -2994,7 +3148,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-middleware": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-middleware": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3005,7 +3159,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-retry": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3017,7 +3171,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -3034,7 +3188,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3045,7 +3199,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3055,7 +3209,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3066,7 +3220,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3077,26 +3231,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core": { - "version": "3.635.0", + "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@smithy/core": "^2.4.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.2.0", "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/abort-controller": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/abort-controller": { "version": "3.1.1", "license": "Apache-2.0", "dependencies": { @@ -3107,7 +3253,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "license": "Apache-2.0", "dependencies": { @@ -3118,7 +3264,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3128,7 +3274,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-endpoint": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "license": "Apache-2.0", "dependencies": { @@ -3144,18 +3290,36 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-serde": { - "version": "3.0.3", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-retry": { + "version": "3.0.15", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-serde": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-stack": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/middleware-stack": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3166,7 +3330,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/node-config-provider": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-config-provider": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3179,7 +3343,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/node-http-handler": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/node-http-handler": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3193,7 +3357,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -3204,7 +3368,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/protocol-http": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/protocol-http": { "version": "4.1.0", "license": "Apache-2.0", "dependencies": { @@ -3215,7 +3379,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-builder": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-builder": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3227,7 +3391,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-parser": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/querystring-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3238,7 +3402,17 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3249,7 +3423,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/smithy-client": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/smithy-client": { "version": "3.2.0", "license": "Apache-2.0", "dependencies": { @@ -3264,7 +3438,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -3274,7 +3448,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/url-parser": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/url-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3283,7 +3457,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-base64": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3295,7 +3469,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3306,7 +3480,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3316,7 +3490,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-middleware": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-middleware": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3327,7 +3501,19 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-stream": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -3344,65 +3530,99 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.46.0", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": { - "version": "3.46.0", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.635.0", + "node_modules/@aws-sdk/client-sts": { + "version": "3.637.0", "license": "Apache-2.0", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.637.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.637.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.637.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.637.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", "@smithy/node-http-handler": "^3.1.4", - "@smithy/property-provider": "^3.1.3", "@smithy/protocol-http": "^4.1.0", "@smithy/smithy-client": "^3.2.0", "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@aws-sdk/types": { + "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": { "version": "3.609.0", "license": "Apache-2.0", "dependencies": { @@ -3413,7 +3633,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/abort-controller": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/abort-controller": { "version": "3.1.1", "license": "Apache-2.0", "dependencies": { @@ -3424,7 +3644,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/fetch-http-handler": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "license": "Apache-2.0", "dependencies": { @@ -3435,7 +3655,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/is-array-buffer": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3445,7 +3665,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-endpoint": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "license": "Apache-2.0", "dependencies": { @@ -3461,7 +3681,25 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-serde": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-retry": { + "version": "3.0.15", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-serde": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3472,7 +3710,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-stack": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/middleware-stack": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3483,7 +3721,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-config-provider": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-config-provider": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3496,7 +3734,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/node-http-handler": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3510,7 +3748,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -3521,7 +3759,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/protocol-http": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/protocol-http": { "version": "4.1.0", "license": "Apache-2.0", "dependencies": { @@ -3532,7 +3770,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-builder": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-builder": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3544,7 +3782,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-parser": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/querystring-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3555,7 +3793,17 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -3566,7 +3814,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/smithy-client": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/smithy-client": { "version": "3.2.0", "license": "Apache-2.0", "dependencies": { @@ -3581,7 +3829,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -3591,7 +3839,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/url-parser": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/url-parser": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3600,7 +3848,7 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-base64": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3612,7 +3860,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-buffer-from": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3623,7 +3871,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-hex-encoding": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { @@ -3633,7 +3881,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-middleware": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-middleware": { "version": "3.0.3", "license": "Apache-2.0", "dependencies": { @@ -3644,7 +3892,19 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-stream": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -3661,381 +3921,342 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-uri-escape": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-utf8": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.46.0", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/node-config-provider": "3.46.0", - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/url-parser": "3.46.0", - "tslib": "^2.3.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/node-config-provider": { - "version": "3.46.0", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/shared-ini-file-loader": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/querystring-parser": { - "version": "3.46.0", + "node_modules/@aws-sdk/core": { + "version": "3.635.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/abort-controller": { + "version": "3.1.1", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/types": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", "license": "Apache-2.0", - "engines": { - "node": ">= 12.0.0" + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/url-parser": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/querystring-parser": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.46.0", - "@aws-sdk/credential-provider-imds": "3.46.0", - "@aws-sdk/credential-provider-sso": "3.46.0", - "@aws-sdk/credential-provider-web-identity": "3.46.0", - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/shared-ini-file-loader": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-credentials": "3.46.0", - "tslib": "^2.3.0" + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/ie11-detection": { - "version": "2.0.2", + "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-serde": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "tslib": "^1.11.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-browser": { - "version": "2.0.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/middleware-stack": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/sha256-js": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-js": { - "version": "2.0.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/node-config-provider": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", - "tslib": "^1.11.1" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/supports-web-crypto": { - "version": "2.0.2", + "node_modules/@aws-sdk/core/node_modules/@smithy/node-http-handler": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "tslib": "^1.11.1" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util": { - "version": "2.0.2", + "node_modules/@aws-sdk/core/node_modules/@smithy/property-provider": { + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "^3.110.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/@aws-sdk/types": { - "version": "3.342.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/protocol-http": { + "version": "4.1.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/@aws-sdk/types/node_modules/tslib": { - "version": "2.5.3", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/abort-controller": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-builder": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/client-sso": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/querystring-parser": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.46.0", - "@aws-sdk/fetch-http-handler": "3.46.0", - "@aws-sdk/hash-node": "3.46.0", - "@aws-sdk/invalid-dependency": "3.46.0", - "@aws-sdk/middleware-content-length": "3.46.0", - "@aws-sdk/middleware-host-header": "3.46.0", - "@aws-sdk/middleware-logger": "3.46.0", - "@aws-sdk/middleware-retry": "3.46.0", - "@aws-sdk/middleware-serde": "3.46.0", - "@aws-sdk/middleware-stack": "3.46.0", - "@aws-sdk/middleware-user-agent": "3.46.0", - "@aws-sdk/node-config-provider": "3.46.0", - "@aws-sdk/node-http-handler": "3.46.0", - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/smithy-client": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/url-parser": "3.46.0", - "@aws-sdk/util-base64-browser": "3.46.0", - "@aws-sdk/util-base64-node": "3.46.0", - "@aws-sdk/util-body-length-browser": "3.46.0", - "@aws-sdk/util-body-length-node": "3.46.0", - "@aws-sdk/util-user-agent-browser": "3.46.0", - "@aws-sdk/util-user-agent-node": "3.46.0", - "@aws-sdk/util-utf8-browser": "3.46.0", - "@aws-sdk/util-utf8-node": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/config-resolver": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/signature-v4": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-config-provider": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/smithy-client": { + "version": "3.2.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sso": "3.46.0", - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/shared-ini-file-loader": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-credentials": "3.46.0", - "tslib": "^2.3.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/querystring-builder": "3.46.0", - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-base64-browser": "3.46.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/hash-node": { - "version": "3.46.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-buffer-from": "3.46.0", - "tslib": "^2.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/url-parser": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-base64": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-logger": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-middleware": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-retry": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-stream": { + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/service-error-classification": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0", - "uuid": "^8.3.2" + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-serde": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-stack": { - "version": "3.46.0", + "node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-user-agent": { + "node_modules/@aws-sdk/credential-provider-env": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/property-provider": "3.46.0", "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, @@ -4043,295 +4264,264 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/node-config-provider": { + "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": { "version": "3.46.0", "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/shared-ini-file-loader": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" - }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/node-http-handler": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.635.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/abort-controller": "3.46.0", - "@aws-sdk/protocol-http": "3.46.0", - "@aws-sdk/querystring-builder": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/protocol-http": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/querystring-builder": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/abort-controller": { + "version": "3.1.1", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-uri-escape": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/querystring-parser": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 12.0.0" + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/service-error-classification": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/smithy-client": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-serde": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-stack": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/middleware-stack": { + "version": "3.0.3", "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/url-parser": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-config-provider": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/querystring-parser": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/property-provider": { + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/protocol-http": { + "version": "4.1.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/is-array-buffer": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-config-provider": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-builder": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-credentials": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/querystring-parser": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/shared-ini-file-loader": "3.46.0", - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.46.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.46.0", - "bowser": "^2.11.0", - "tslib": "^2.3.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/smithy-client": { + "version": "3.2.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/node-config-provider": "3.46.0", - "@aws-sdk/types": "3.46.0", - "tslib": "^2.3.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.46.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.637.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.635.0", - "@aws-sdk/credential-provider-ini": "3.637.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.637.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.620.1", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/url-parser": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", + "@smithy/querystring-parser": "^3.0.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.637.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-base64": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.635.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.637.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.637.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.620.1", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.621.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-middleware": { + "version": "3.0.3", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^3.3.0", @@ -4341,331 +4531,373 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-stream": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/util-utf8": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.37.0", + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/property-provider": "3.37.0", - "@aws-sdk/shared-ini-file-loader": "3.37.0", - "@aws-sdk/types": "3.37.0", - "@aws-sdk/util-credentials": "3.37.0", + "@aws-sdk/node-config-provider": "3.46.0", + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/url-parser": "3.46.0", "tslib": "^2.3.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/property-provider": { - "version": "3.37.0", + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/node-config-provider": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.37.0", + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/shared-ini-file-loader": "3.46.0", + "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.37.0", + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/querystring-parser": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.637.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.637.0", - "@aws-sdk/token-providers": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/property-provider": { - "version": "3.1.3", + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/types": { + "version": "3.46.0", "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/url-parser": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-sdk/querystring-parser": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { + "node_modules/@aws-sdk/credential-provider-ini": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-env": "3.46.0", + "@aws-sdk/credential-provider-imds": "3.46.0", + "@aws-sdk/credential-provider-sso": "3.46.0", + "@aws-sdk/credential-provider-web-identity": "3.46.0", "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/shared-ini-file-loader": "3.46.0", "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-credentials": "3.46.0", "tslib": "^2.3.0" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/ie11-detection": { + "version": "2.0.2", "license": "Apache-2.0", - "engines": { - "node": ">= 12.0.0" + "dependencies": { + "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.620.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-browser": { + "version": "2.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-js": { + "version": "2.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/protocol-http": { - "version": "4.1.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/supports-web-crypto": { + "version": "2.0.2", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util": { + "version": "2.0.2", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/@aws-sdk/types": { + "version": "3.342.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.5.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/@aws-sdk/types/node_modules/tslib": { + "version": "2.5.3", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/abort-controller": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/client-sso": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.46.0", + "@aws-sdk/fetch-http-handler": "3.46.0", + "@aws-sdk/hash-node": "3.46.0", + "@aws-sdk/invalid-dependency": "3.46.0", + "@aws-sdk/middleware-content-length": "3.46.0", + "@aws-sdk/middleware-host-header": "3.46.0", + "@aws-sdk/middleware-logger": "3.46.0", + "@aws-sdk/middleware-retry": "3.46.0", + "@aws-sdk/middleware-serde": "3.46.0", + "@aws-sdk/middleware-stack": "3.46.0", + "@aws-sdk/middleware-user-agent": "3.46.0", + "@aws-sdk/node-config-provider": "3.46.0", + "@aws-sdk/node-http-handler": "3.46.0", + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/smithy-client": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/url-parser": "3.46.0", + "@aws-sdk/util-base64-browser": "3.46.0", + "@aws-sdk/util-base64-node": "3.46.0", + "@aws-sdk/util-body-length-browser": "3.46.0", + "@aws-sdk/util-body-length-node": "3.46.0", + "@aws-sdk/util-user-agent-browser": "3.46.0", + "@aws-sdk/util-user-agent-node": "3.46.0", + "@aws-sdk/util-utf8-browser": "3.46.0", + "@aws-sdk/util-utf8-node": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=12.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.620.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/config-resolver": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/signature-v4": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-config-provider": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/client-sso": "3.46.0", + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/shared-ini-file-loader": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-credentials": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/protocol-http": { - "version": "4.1.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/querystring-builder": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-base64-browser": "3.46.0", + "tslib": "^2.3.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/hash-node": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-buffer-from": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.342.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/invalid-dependency": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.46.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.637.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-content-length": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.637.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/protocol-http": { - "version": "4.1.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-logger": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-retry": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/service-error-classification": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/property-provider": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-serde": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { @@ -4676,102 +4908,71 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/property-provider/node_modules/@aws-sdk/types": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-stack": { "version": "3.46.0", "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.0" + }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.614.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/property-provider": { - "version": "3.1.3", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/node-config-provider": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/shared-ini-file-loader": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/node-http-handler": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/abort-controller": "3.46.0", + "@aws-sdk/protocol-http": "3.46.0", + "@aws-sdk/querystring-builder": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/util-middleware": { - "version": "3.0.3", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/protocol-http": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/signature-v4": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/querystring-builder": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/is-array-buffer": "3.46.0", "@aws-sdk/types": "3.46.0", - "@aws-sdk/util-hex-encoding": "3.46.0", "@aws-sdk/util-uri-escape": "3.46.0", "tslib": "^2.3.0" }, @@ -4779,24 +4980,25 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/is-array-buffer": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/querystring-parser": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/service-error-classification": { "version": "3.46.0", "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/util-uri-escape": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/shared-ini-file-loader": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { @@ -4806,96 +5008,63 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.342.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-stack": "3.342.0", - "@aws-sdk/types": "3.342.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/smithy-client/node_modules/@aws-sdk/types": { - "version": "3.342.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/smithy-client": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "@aws-sdk/middleware-stack": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.614.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": { + "version": "3.46.0", "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.614.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/url-parser": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@aws-sdk/querystring-parser": "3.46.0", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" } }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/property-provider": { - "version": "3.1.3", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "tslib": "^2.3.0" } }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.4", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-body-length-node": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-buffer-from": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/is-array-buffer": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.37.0", - "license": "Apache-2.0", - "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-arn-parser": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-config-provider": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { @@ -4905,83 +5074,89 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-base64-browser": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-credentials": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/shared-ini-file-loader": "3.46.0", "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-base64-node": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-uri-escape": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/util-buffer-from": "3.46.0", "tslib": "^2.3.0" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-base64-node/node_modules/@aws-sdk/is-array-buffer": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-user-agent-browser": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "3.46.0", + "bowser": "^2.11.0", "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-base64-node/node_modules/@aws-sdk/util-buffer-from": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-user-agent-node": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/is-array-buffer": "3.46.0", + "@aws-sdk/node-config-provider": "3.46.0", + "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-credentials": { - "version": "3.37.0", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/shared-ini-file-loader": "3.37.0", "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/util-credentials/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.37.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" + "node_modules/@aws-sdk/credential-provider-ini/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@aws-sdk/util-endpoints": { + "node_modules/@aws-sdk/credential-provider-node": { "version": "3.637.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.637.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.637.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-endpoints": "^2.0.5", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -4989,48 +5164,72 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.637.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.637.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.637.0" } }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.46.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.37.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.3.0" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser": { + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": { "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/property-provider": { + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { "@smithy/types": "^3.3.0", @@ -5040,41 +5239,71 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.614.0", + "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.37.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/property-provider": "3.37.0", + "@aws-sdk/shared-ini-file-loader": "3.37.0", + "@aws-sdk/types": "3.37.0", + "@aws-sdk/util-credentials": "3.37.0", + "tslib": "^2.3.0" }, - "peerDependencies": { - "aws-crt": ">=1.0.0" + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/property-provider": { + "version": "3.37.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.37.0", + "tslib": "^2.3.0" }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": { - "version": "3.609.0", + "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.37.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.637.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/client-sso": "3.637.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -5082,12 +5311,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/node-config-provider": { - "version": "3.1.4", + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -5095,7 +5322,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/property-provider": { + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/property-provider": { "version": "3.1.3", "license": "Apache-2.0", "dependencies": { @@ -5106,7 +5333,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/shared-ini-file-loader": { + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "license": "Apache-2.0", "dependencies": { @@ -5117,7 +5344,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { "version": "3.3.0", "license": "Apache-2.0", "dependencies": { @@ -5127,1640 +5354,1413 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-utf8-node": { + "node_modules/@aws-sdk/credential-provider-web-identity": { "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/util-buffer-from": "3.46.0", + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/types": "3.46.0", "tslib": "^2.3.0" }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-utf8-node/node_modules/@aws-sdk/is-array-buffer": { + "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": { "version": "3.46.0", "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.0" - }, "engines": { "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-utf8-node/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.46.0", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/is-array-buffer": "3.46.0", - "tslib": "^2.3.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-toolkits/telemetry": { - "version": "1.0.272", - "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.272.tgz", - "integrity": "sha512-cWmyTkiNDcDXaRjX7WdWO5FiNzXUKcrKpkYkkPgi8t+I9ZwwWwt6FKps7FjEGvFzTFx6I9XbsWM1mRrkuvxdQw==", - "dev": true, + "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "ajv": "^6.12.6", - "fs-extra": "^11.1.0", - "lodash": "^4.17.20", - "prettier": "^3.3.2", - "ts-morph": "^23.0.0", - "yargs": "^17.0.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-toolkits/telemetry/node_modules/fs-extra": { - "version": "11.2.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "license": "Apache-2.0", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.14" + "node": ">=16.0.0" } }, - "node_modules/@aws/fully-qualified-names": { - "version": "2.1.4", - "dev": true, + "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "web-tree-sitter": "^0.20.8" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws/mynah-ui": { - "version": "4.15.11", - "hasInstallScript": true, - "license": "Apache License 2.0", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.609.0", + "license": "Apache-2.0", "dependencies": { - "escape-html": "^1.0.3", - "just-clone": "^6.2.0", - "marked": "^12.0.2", - "prismjs": "1.29.0", - "sanitize-html": "^2.12.1", - "unescape-html": "^1.1.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "escape-html": "^1.0.3", - "just-clone": "^6.2.0", - "marked": "^12.0.2", - "prismjs": "1.29.0", - "sanitize-html": "^2.12.1", - "unescape-html": "^1.1.0" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws/mynah-ui/node_modules/marked": { - "version": "12.0.2", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" + "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 18" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { + "version": "3.3.0", + "license": "Apache-2.0", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^1.9.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "license": "Apache-2.0", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { + "version": "3.3.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.342.0", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^3.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.637.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.637.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^1.9.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { + "version": "3.3.0", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/property-provider": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", + "@aws-sdk/types": "3.46.0", + "tslib": "^2.3.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/property-provider/node_modules/@aws-sdk/types": { + "version": "3.46.0", + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": ">= 12.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^3.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@aws-sdk/region-config-resolver/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" } }, - "node_modules/@bcherny/json-schema-ref-parser": { - "version": "10.0.5-fork", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/node-config-provider": { + "version": "3.1.4", + "license": "Apache-2.0", "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/philsturgeon" + "node": ">=16.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/property-provider": { + "version": "3.1.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.1.90" + "node": ">=16.0.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=16.0.0" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { + "version": "3.3.0", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.2", - "license": "MIT", + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/util-middleware": { + "version": "3.0.3", + "license": "Apache-2.0", "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.5", - "dev": true, - "license": "MIT", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10.0.0" + "node": ">=16.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/signature-v4": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@aws-sdk/is-array-buffer": "3.46.0", + "@aws-sdk/types": "3.46.0", + "@aws-sdk/util-hex-encoding": "3.46.0", + "@aws-sdk/util-uri-escape": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "tslib": "^2.3.0" }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.56.0", - "dev": true, - "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@gerhobbelt/gitignore-parser": { - "version": "0.2.0-9", - "license": "Apache License, Version 2.0", + "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": { + "version": "3.46.0", + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": ">= 12.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "dev": true, + "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/util-uri-escape": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=10.10.0" + "node": ">= 12.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.342.0", "license": "Apache-2.0", - "engines": { - "node": ">=12.22" + "dependencies": { + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/types": "3.342.0", + "tslib": "^2.5.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "license": "ISC" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "license": "ISC", + "node_modules/@aws-sdk/smithy-client/node_modules/@aws-sdk/types": { + "version": "3.342.0", + "license": "Apache-2.0", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "license": "MIT", + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=12" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/@aws-sdk/token-providers/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", + "node_modules/@aws-sdk/token-providers/node_modules/@smithy/property-provider": { + "version": "3.1.3", + "license": "Apache-2.0", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", + "node_modules/@aws-sdk/token-providers/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=16.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "license": "MIT", + "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { + "version": "3.3.0", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=16.0.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/types": { + "version": "3.37.0", + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" + "node_modules/@aws-sdk/util-base64-browser": { + "version": "3.46.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-base64-node": { + "version": "3.46.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.46.0", + "tslib": "^2.3.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-base64-node/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-base64-node/node_modules/@aws-sdk/util-buffer-from": { + "version": "3.46.0", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@aws-sdk/is-array-buffer": "3.46.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@koa/cors": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-credentials": { + "version": "3.37.0", + "license": "Apache-2.0", "dependencies": { - "vary": "^1.1.2" + "@aws-sdk/shared-ini-file-loader": "3.37.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@koa/router": { - "version": "12.0.1", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-credentials/node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.37.0", + "license": "Apache-2.0", "dependencies": { - "debug": "^4.3.4", - "http-errors": "^2.0.0", - "koa-compose": "^4.1.0", - "methods": "^1.1.2", - "path-to-regexp": "^6.2.1" + "tslib": "^2.3.0" }, "engines": { - "node": ">= 12" + "node": ">= 10.0.0" } }, - "node_modules/@koa/router/node_modules/path-to-regexp": { - "version": "6.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.637.0", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "node": ">=16.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", + "node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": { + "version": "3.609.0", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">=16.0.0" } }, - "node_modules/@playwright/browser-chromium": { - "version": "1.43.1", - "dev": true, - "hasInstallScript": true, + "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.43.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=16" + "node": ">=16.0.0" } }, - "node_modules/@playwright/browser-chromium/node_modules/playwright-core": { - "version": "1.43.1", - "dev": true, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.46.0", "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" + "dependencies": { + "tslib": "^2.3.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/@sindresorhus/is": { - "version": "4.2.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.37.0", + "license": "Apache-2.0", "dependencies": { - "type-detect": "4.0.8" + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@sinonjs/samsam": { - "version": "6.1.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "license": "Apache-2.0", "dependencies": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "dev": true, - "license": "(Unlicense OR Apache-2.0)" - }, - "node_modules/@smithy/abort-controller": { - "version": "2.2.0", + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/config-resolver": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.9.tgz", - "integrity": "sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg==", + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^3.1.8", - "@smithy/types": "^3.5.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.7", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": { + "version": "3.609.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/node-config-provider": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/property-provider": { + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/config-resolver/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/core": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.8.tgz", - "integrity": "sha512-x4qWk7p/a4dcf7Vxb2MODIf4OIcqNbK182WxRvZ/3oKPrf/6Fdic5sSElhO1UtXpWKBazWfqg0ZEK9xN1DsuHA==", + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.4", - "@smithy/middleware-retry": "^3.0.23", - "@smithy/middleware-serde": "^3.0.7", - "@smithy/protocol-http": "^4.1.4", - "@smithy/smithy-client": "^3.4.0", - "@smithy/types": "^3.5.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-middleware": "^3.0.7", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/abort-controller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.5.tgz", - "integrity": "sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==", + "node_modules/@aws-sdk/util-utf8-node": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@aws-sdk/util-buffer-from": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", - "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", + "node_modules/@aws-sdk/util-utf8-node/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "node_modules/@aws-sdk/util-utf8-node/node_modules/@aws-sdk/util-buffer-from": { + "version": "3.46.0", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/is-array-buffer": "3.46.0", + "tslib": "^2.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz", - "integrity": "sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==", - "license": "Apache-2.0", + "node_modules/@aws-toolkits/telemetry": { + "version": "1.0.275", + "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.275.tgz", + "integrity": "sha512-wy8L1xerMwBq+p/fcMkmR5pmPbZ17hG1dPgmThAaKEj6qYJ42pxEWjsCa+VqftA4FtXj4yEtSdja+M0d6Qd4bQ==", + "dev": true, "dependencies": { - "@smithy/middleware-serde": "^3.0.7", - "@smithy/node-config-provider": "^3.1.8", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "@smithy/url-parser": "^3.0.7", - "@smithy/util-middleware": "^3.0.7", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "ajv": "^6.12.6", + "fs-extra": "^11.1.0", + "lodash": "^4.17.20", + "prettier": "^3.3.2", + "ts-morph": "^23.0.0", + "yargs": "^17.0.1" } }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-retry": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.23.tgz", - "integrity": "sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A==", - "license": "Apache-2.0", + "node_modules/@aws-toolkits/telemetry/node_modules/fs-extra": { + "version": "11.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^3.1.8", - "@smithy/protocol-http": "^4.1.4", - "@smithy/service-error-classification": "^3.0.7", - "@smithy/smithy-client": "^3.4.0", - "@smithy/types": "^3.5.0", - "@smithy/util-middleware": "^3.0.7", - "@smithy/util-retry": "^3.0.7", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.14" } }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-serde": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz", - "integrity": "sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==", + "node_modules/@aws/fully-qualified-names": { + "version": "2.1.4", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "web-tree-sitter": "^0.20.8" } }, - "node_modules/@smithy/core/node_modules/@smithy/middleware-stack": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz", - "integrity": "sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==", - "license": "Apache-2.0", + "node_modules/@aws/mynah-ui": { + "version": "4.15.11", + "hasInstallScript": true, + "license": "Apache License 2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "escape-html": "^1.0.3", + "just-clone": "^6.2.0", + "marked": "^12.0.2", + "prismjs": "1.29.0", + "sanitize-html": "^2.12.1", + "unescape-html": "^1.1.0" }, - "engines": { - "node": ">=16.0.0" + "peerDependencies": { + "escape-html": "^1.0.3", + "just-clone": "^6.2.0", + "marked": "^12.0.2", + "prismjs": "1.29.0", + "sanitize-html": "^2.12.1", + "unescape-html": "^1.1.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "node_modules/@aws/mynah-ui/node_modules/marked": { + "version": "12.0.2", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=16.0.0" + "node": ">= 18" } }, - "node_modules/@smithy/core/node_modules/@smithy/node-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz", - "integrity": "sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==", - "license": "Apache-2.0", + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/abort-controller": "^3.1.5", - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", - "license": "Apache-2.0", + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", - "license": "Apache-2.0", + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/querystring-builder": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz", - "integrity": "sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==", - "license": "Apache-2.0", + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=0.8.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/querystring-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz", - "integrity": "sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" - }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/service-error-classification": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz", - "integrity": "sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA==", - "license": "Apache-2.0", + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", - "license": "Apache-2.0", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/smithy-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.0.tgz", - "integrity": "sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==", - "license": "Apache-2.0", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.4", - "@smithy/middleware-stack": "^3.0.7", - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "@smithy/util-stream": "^3.1.9", - "tslib": "^2.6.2" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/url-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.7.tgz", - "integrity": "sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==", - "license": "Apache-2.0", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/querystring-parser": "^3.0.7", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "color-name": "1.1.3" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=0.8.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-buffer-from": { + "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "license": "Apache-2.0", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=4" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "node_modules/@babel/parser": { + "version": "7.23.6", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-retry": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.7.tgz", - "integrity": "sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug==", - "license": "Apache-2.0", + "node_modules/@babel/runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.9.tgz", + "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/service-error-classification": "^3.0.7", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-stream": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.9.tgz", - "integrity": "sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==", - "license": "Apache-2.0", + "node_modules/@bcherny/json-schema-ref-parser": { + "version": "10.0.5-fork", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/fetch-http-handler": "^3.2.9", - "@smithy/node-http-handler": "^3.2.4", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.6", + "call-me-maybe": "^1.0.1", + "js-yaml": "^4.1.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=0.1.90" } }, - "node_modules/@smithy/core/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "license": "Apache-2.0", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.4.tgz", - "integrity": "sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w==", - "license": "Apache-2.0", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^3.1.8", - "@smithy/property-provider": "^3.1.7", - "@smithy/types": "^3.5.0", - "@smithy/url-parser": "^3.0.7", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", - "license": "Apache-2.0", + "node_modules/@dabh/diagnostics": { + "version": "2.0.2", + "license": "MIT", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" - }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=10.0.0" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/querystring-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz", - "integrity": "sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==", - "license": "Apache-2.0", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" - }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/url-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.7.tgz", - "integrity": "sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^3.0.7", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "node_modules/@eslint/js": { + "version": "8.56.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@smithy/eventstream-codec": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.6.tgz", - "integrity": "sha512-SBiOYPBH+5wOyPS7lfI150ePfGLhnp/eTu5RnV9xvhGvRiKfnl6HzRK9wehBph+il8FxS9KTeadx7Rcmf1GLPQ==", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^3.5.0", - "@smithy/util-hex-encoding": "^3.0.0", - "tslib": "^2.6.2" + "node_modules/@gerhobbelt/gitignore-parser": { + "version": "0.2.0-9", + "license": "Apache License, Version 2.0", + "engines": { + "node": ">=10" } }, - "node_modules/@smithy/eventstream-codec/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=16.0.0" + "node": ">=10.10.0" } }, - "node_modules/@smithy/eventstream-codec/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=16.0.0" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.10.tgz", - "integrity": "sha512-1i9aMY6Pl/SmA6NjvidxnfBLHMPzhKu2BP148pEt5VwhMdmXn36PE2kWKGa9Hj8b0XGtCTRucpCncylevCtI7g==", - "license": "Apache-2.0", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "license": "ISC" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "license": "ISC", "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.9", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" } }, - "node_modules/@smithy/eventstream-serde-browser/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.7.tgz", - "integrity": "sha512-eVzhGQBPEqXXYHvIUku0jMTxd4gDvenRzUQPTmKVWdRvp9JUCKrbAXGQRYiGxUYq9+cqQckRm0wq3kTWnNtDhw==", - "license": "Apache-2.0", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@smithy/eventstream-serde-config-resolver/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.9.tgz", - "integrity": "sha512-JE0Guqvt0xsmfQ5y1EI342/qtJqznBv8cJqkHZV10PwC8GWGU5KNgFbQnsVCcX+xF+qIqwwfRmeWoJCjuOLmng==", - "license": "Apache-2.0", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.9", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@smithy/eventstream-serde-node/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=8" } }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.9.tgz", - "integrity": "sha512-bydfgSisfepCufw9kCEnWRxqxJFzX/o8ysXWv+W9F2FIyiaEwZ/D8bBKINbh4ONz3i05QJ1xE7A5OKYvgJsXaw==", - "license": "Apache-2.0", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-codec": "^3.1.6", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.5.0", - "license": "Apache-2.0", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "tslib": "^2.6.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@smithy/hash-node": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.7.tgz", - "integrity": "sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw==", - "license": "Apache-2.0", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@smithy/hash-node/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "license": "Apache-2.0", + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@koa/cors": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "vary": "^1.1.2" }, "engines": { - "node": ">=16.0.0" + "node": ">= 14.0.0" } }, - "node_modules/@smithy/hash-node/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", + "node_modules/@koa/router": { + "version": "12.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "debug": "^4.3.4", + "http-errors": "^2.0.0", + "koa-compose": "^4.1.0", + "methods": "^1.1.2", + "path-to-regexp": "^6.2.1" }, "engines": { - "node": ">=16.0.0" + "node": ">= 12" } }, - "node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "license": "Apache-2.0", + "node_modules/@koa/router/node_modules/path-to-regexp": { + "version": "6.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=16.0.0" + "node": ">= 8" } }, - "node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">= 8" } }, - "node_modules/@smithy/invalid-dependency": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz", - "integrity": "sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA==", - "license": "Apache-2.0", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@smithy/invalid-dependency/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "license": "MIT", + "optional": true, "engines": { - "node": ">=16.0.0" + "node": ">=14" } }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/@smithy/middleware-content-length": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz", - "integrity": "sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA==", + "node_modules/@playwright/browser-chromium": { + "version": "1.43.1", + "dev": true, + "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "playwright-core": "1.43.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=16" } }, - "node_modules/@smithy/middleware-content-length/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", + "node_modules/@playwright/browser-chromium/node_modules/playwright-core": { + "version": "1.43.1", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "bin": { + "playwright-core": "cli.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=16" } }, - "node_modules/@smithy/middleware-content-length/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@sindresorhus/is": { + "version": "4.2.0", + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.5.1", - "license": "Apache-2.0", + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@smithy/middleware-serde": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "type-detect": "4.0.8" } }, - "node_modules/@smithy/middleware-retry": { - "version": "2.3.1", - "license": "Apache-2.0", + "node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/service-error-classification": "^2.1.5", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=14.0.0" + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/@smithy/middleware-serde": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "type-detect": "4.0.8" } }, - "node_modules/@smithy/middleware-stack": { + "node_modules/@sinonjs/samsam": { + "version": "6.1.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.1", + "dev": true, + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/@smithy/abort-controller": { "version": "2.2.0", "license": "Apache-2.0", "dependencies": { @@ -6771,120 +6771,137 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/node-config-provider": { - "version": "2.3.0", + "node_modules/@smithy/config-resolver": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.10.tgz", + "integrity": "sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/node-http-handler": { - "version": "2.5.0", + "node_modules/@smithy/config-resolver/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/property-provider": { - "version": "2.2.0", + "node_modules/@smithy/config-resolver/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/protocol-http": { - "version": "3.3.0", + "node_modules/@smithy/config-resolver/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/querystring-builder": { - "version": "2.2.0", + "node_modules/@smithy/config-resolver/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-uri-escape": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/querystring-parser": { - "version": "2.2.0", + "node_modules/@smithy/config-resolver/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/service-error-classification": { - "version": "2.1.5", + "node_modules/@smithy/core": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.1.tgz", + "integrity": "sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0" + "@smithy/middleware-serde": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-stream": "^3.2.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.4.0", + "node_modules/@smithy/core/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.0.tgz", - "integrity": "sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ==", + "node_modules/@smithy/core/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.7", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/is-array-buffer": { + "node_modules/@smithy/core/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -6893,222 +6910,244 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", + "node_modules/@smithy/core/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@smithy/core/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", "license": "Apache-2.0", "dependencies": { + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", + "node_modules/@smithy/core/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", + "node_modules/@smithy/core/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", + "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", + "node_modules/@smithy/core/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/util-uri-escape": { + "node_modules/@smithy/core/node_modules/@smithy/util-base64": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "license": "Apache-2.0", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8": { + "node_modules/@smithy/core/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/smithy-client": { - "version": "2.5.1", + "node_modules/@smithy/core/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/types": { - "version": "2.12.0", + "node_modules/@smithy/core/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-base64": { - "version": "2.3.0", + "node_modules/@smithy/core/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-body-length-browser": { + "node_modules/@smithy/core/node_modules/@smithy/util-uri-escape": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", - "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-body-length-node": { + "node_modules/@smithy/core/node_modules/@smithy/util-utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", - "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "license": "Apache-2.0", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.5.tgz", + "integrity": "sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/property-provider": "^3.1.8", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", "license": "Apache-2.0", "dependencies": { + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.23.tgz", - "integrity": "sha512-Y07qslyRtXDP/C5aWKqxTPBl4YxplEELG3xRrz2dnAQ6Lq/FgNrcKWmV561nNaZmFH+EzeGOX3ZRMbU8p1T6Nw==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/smithy-client": "^3.4.0", - "@smithy/types": "^3.5.0", - "bowser": "^2.11.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/abort-controller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.5.tgz", - "integrity": "sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", - "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -7117,168 +7156,148 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz", - "integrity": "sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==", + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-serde": "^3.0.7", - "@smithy/node-config-provider": "^3.1.8", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "@smithy/url-parser": "^3.0.7", - "@smithy/util-middleware": "^3.0.7", + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-serde": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz", - "integrity": "sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==", + "node_modules/@smithy/eventstream-codec": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.7.tgz", + "integrity": "sha512-kVSXScIiRN7q+s1x7BrQtZ1Aa9hvvP9FeCqCdBxv37GimIHgBCOnZ5Ip80HLt0DhnAKpiobFdGqTFgbaJNrazA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.6.0", + "@smithy/util-hex-encoding": "^3.0.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-stack": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz", - "integrity": "sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==", + "node_modules/@smithy/eventstream-codec/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", + "node_modules/@smithy/eventstream-codec/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz", - "integrity": "sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==", + "node_modules/@smithy/eventstream-serde-browser": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.11.tgz", + "integrity": "sha512-Pd1Wnq3CQ/v2SxRifDUihvpXzirJYbbtXfEnnLV/z0OGCTx/btVX74P86IgrZkjOydOASBGXdPpupYQI+iO/6A==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^3.1.5", - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/eventstream-serde-universal": "^3.0.10", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", + "node_modules/@smithy/eventstream-serde-browser/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.8.tgz", + "integrity": "sha512-zkFIG2i1BLbfoGQnf1qEeMqX0h5qAznzaZmMVNnvPZz9J5AWBPkOMckZWPedGUPcVITacwIdQXoPcdIQq5FRcg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-builder": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz", - "integrity": "sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==", + "node_modules/@smithy/eventstream-serde-config-resolver/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz", - "integrity": "sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==", + "node_modules/@smithy/eventstream-serde-node": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.10.tgz", + "integrity": "sha512-hjpU1tIsJ9qpcoZq9zGHBJPBOeBGYt+n8vfhDwnITPhEre6APrvqq/y3XMDEGUT2cWQ4ramNqBPRbx3qn55rhw==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/eventstream-serde-universal": "^3.0.10", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", + "node_modules/@smithy/eventstream-serde-node/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/smithy-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.0.tgz", - "integrity": "sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==", + "node_modules/@smithy/eventstream-serde-universal": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.10.tgz", + "integrity": "sha512-ewG1GHbbqsFZ4asaq40KmxCmXO+AFSM1b+DcO2C03dyJj/ZH71CiTg853FSE/3SHK9q3jiYQIFjlGSwfxQ9kww==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.4", - "@smithy/middleware-stack": "^3.0.7", - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "@smithy/util-stream": "^3.1.9", + "@smithy/eventstream-codec": "^3.1.7", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@smithy/eventstream-serde-universal/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -7287,23 +7306,24 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/url-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.7.tgz", - "integrity": "sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==", + "node_modules/@smithy/fetch-http-handler": { + "version": "2.5.0", "license": "Apache-2.0", "dependencies": { - "@smithy/querystring-parser": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", "tslib": "^2.6.2" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "node_modules/@smithy/hash-node": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.8.tgz", + "integrity": "sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" @@ -7312,23 +7332,22 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-buffer-from": { + "node_modules/@smithy/hash-node/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "node_modules/@smithy/hash-node/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -7337,331 +7356,273 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", + "node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-stream": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.9.tgz", - "integrity": "sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==", + "node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "license": "Apache-2.0", "dependencies": { - "@smithy/fetch-http-handler": "^3.2.9", - "@smithy/node-http-handler": "^3.2.4", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.8.tgz", + "integrity": "sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "node_modules/@smithy/invalid-dependency/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.23.tgz", - "integrity": "sha512-9Y4WH7f0vnDGuHUa4lGX9e2p+sMwODibsceSV6rfkZOvMC+BY3StB2LdO1NHafpsyHJLpwAgChxQ38tFyd6vkg==", + "node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/config-resolver": "^3.0.9", - "@smithy/credential-provider-imds": "^3.2.4", - "@smithy/node-config-provider": "^3.1.8", - "@smithy/property-provider": "^3.1.7", - "@smithy/smithy-client": "^3.4.0", - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/abort-controller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.5.tgz", - "integrity": "sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==", + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.10.tgz", + "integrity": "sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/fetch-http-handler": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", - "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "node_modules/@smithy/middleware-content-length/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "license": "Apache-2.0", "dependencies": { + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-endpoint": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz", - "integrity": "sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==", + "node_modules/@smithy/middleware-content-length/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-serde": "^3.0.7", - "@smithy/node-config-provider": "^3.1.8", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", - "@smithy/url-parser": "^3.0.7", - "@smithy/util-middleware": "^3.0.7", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-serde": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz", - "integrity": "sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==", + "node_modules/@smithy/middleware-endpoint": { + "version": "2.5.1", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-stack": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz", - "integrity": "sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==", + "node_modules/@smithy/middleware-retry": { + "version": "2.3.1", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/service-error-classification": "^2.1.5", + "@smithy/smithy-client": "^2.5.1", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", + "node_modules/@smithy/middleware-serde": { + "version": "2.3.0", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz", - "integrity": "sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==", + "node_modules/@smithy/middleware-stack": { + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^3.1.5", - "@smithy/protocol-http": "^4.1.4", - "@smithy/querystring-builder": "^3.0.7", - "@smithy/types": "^3.5.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", + "node_modules/@smithy/node-config-provider": { + "version": "2.3.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/protocol-http": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.4.tgz", - "integrity": "sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==", + "node_modules/@smithy/node-http-handler": { + "version": "2.5.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/abort-controller": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-builder": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz", - "integrity": "sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==", + "node_modules/@smithy/property-provider": { + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", - "@smithy/util-uri-escape": "^3.0.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz", - "integrity": "sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==", + "node_modules/@smithy/protocol-http": { + "version": "3.3.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", + "node_modules/@smithy/querystring-builder": { + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-uri-escape": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/smithy-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.0.tgz", - "integrity": "sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==", + "node_modules/@smithy/querystring-parser": { + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-endpoint": "^3.1.4", - "@smithy/middleware-stack": "^3.0.7", - "@smithy/protocol-http": "^4.1.4", - "@smithy/types": "^3.5.0", - "@smithy/util-stream": "^3.1.9", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@smithy/service-error-classification": { + "version": "2.1.5", "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@smithy/types": "^2.12.0" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/url-parser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.7.tgz", - "integrity": "sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^3.0.7", - "@smithy/types": "^3.5.0", - "tslib": "^2.6.2" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.4.0", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "node_modules/@smithy/signature-v4": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.1.tgz", + "integrity": "sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==", "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-hex-encoding": { + "node_modules/@smithy/signature-v4/node_modules/@smithy/is-array-buffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -7670,379 +7631,1163 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-middleware": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.7.tgz", - "integrity": "sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==", + "node_modules/@smithy/signature-v4/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-stream": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.9.tgz", - "integrity": "sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==", + "node_modules/@smithy/signature-v4/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", "license": "Apache-2.0", "dependencies": { - "@smithy/fetch-http-handler": "^3.2.9", - "@smithy/node-http-handler": "^3.2.4", - "@smithy/types": "^3.5.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-uri-escape": { + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "license": "Apache-2.0", "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-utf8": { + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-endpoints": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz", - "integrity": "sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw==", + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^3.1.8", - "@smithy/types": "^3.5.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/node-config-provider": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz", - "integrity": "sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==", + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^3.1.7", - "@smithy/shared-ini-file-loader": "^3.1.8", - "@smithy/types": "^3.5.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/property-provider": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.7.tgz", - "integrity": "sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==", + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8": { + "version": "3.0.0", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz", - "integrity": "sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==", + "node_modules/@smithy/smithy-client": { + "version": "2.5.1", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.5.0", + "@smithy/middleware-endpoint": "^2.5.1", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-endpoints/node_modules/@smithy/types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", - "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", + "node_modules/@smithy/types": { + "version": "2.12.0", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@smithy/util-hex-encoding": { + "node_modules/@smithy/url-parser": { "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@smithy/querystring-parser": "^2.2.0", + "@smithy/types": "^2.12.0", "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" } }, - "node_modules/@smithy/util-middleware": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@smithy/util-base64": { + "version": "2.3.0", + "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/util-retry": { - "version": "2.2.0", + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "license": "Apache-2.0", "dependencies": { - "@smithy/service-error-classification": "^2.1.5", - "@smithy/types": "^2.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-stream": { + "node_modules/@smithy/util-buffer-from": { "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.2.0", + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/util-utf8": { - "version": "2.3.0", + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.25.tgz", + "integrity": "sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", + "@smithy/property-provider": "^3.1.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "bowser": "^2.11.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@smithy/util-waiter": { - "version": "3.1.2", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.6.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-waiter/node_modules/@smithy/abort-controller": { - "version": "3.1.1", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-waiter/node_modules/@smithy/types": { - "version": "3.3.0", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-endpoint": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", "license": "Apache-2.0", "dependencies": { + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", + "license": "Apache-2.0", "dependencies": { - "defer-to-connect": "^2.0.0" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/middleware-stack": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 6" + "node": ">=16.0.0" } }, - "node_modules/@ts-morph/common": { - "version": "0.24.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", + "license": "Apache-2.0", "dependencies": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.4", - "mkdirp": "^3.0.1", - "path-browserify": "^1.0.1" + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0" + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "9.0.5", - "dev": true, - "license": "ISC", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^2.0.1" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16.0.0" } }, - "node_modules/@ts-morph/common/node_modules/mkdirp": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/adm-zip": { - "version": "0.4.34", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*" + "@smithy/types": "^3.6.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@types/async-lock": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", + "license": "Apache-2.0", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@types/bytes": { - "version": "3.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.2", - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/smithy-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", + "license": "Apache-2.0", "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "*", - "@types/node": "*", - "@types/responselike": "*" + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@types/circular-dependency-plugin": { - "version": "5.0.8", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*", - "webpack": "^5.1.0" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@types/connect": { - "version": "3.4.35", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*" + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.25.tgz", + "integrity": "sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^3.0.10", + "@smithy/credential-provider-imds": "^3.2.5", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/property-provider": "^3.1.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-endpoint": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/middleware-stack": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/smithy-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.4.tgz", + "integrity": "sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.9", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-endpoints/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-endpoints/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-endpoints/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-endpoints/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^2.1.5", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.7.tgz", + "integrity": "sha512-d5yGlQtmN/z5eoTtIYgkvOw27US2Ous4VycnXatyoImIF9tzlcpnKqQ/V7qhvJmb2p6xZne1NopCLakdTnkBBQ==", + "dependencies": { + "@smithy/abort-controller": "^3.1.6", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-waiter/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-waiter/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.4", + "mkdirp": "^3.0.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/adm-zip": { + "version": "0.4.34", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/async-lock": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/bytes": { + "version": "3.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "node_modules/@types/circular-dependency-plugin": { + "version": "5.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "webpack": "^5.1.0" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { @@ -8050,1465 +8795,2100 @@ "dev": true, "license": "MIT", "dependencies": { - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cross-spawn": { + "version": "6.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/diff": { + "version": "5.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "8.44.8", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "^5.1.2", + "@types/node": "*" + } + }, + "node_modules/@types/glob/node_modules/@types/minimatch": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/he": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.3.tgz", + "integrity": "sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/js-yaml": { + "version": "4.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "21.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.3", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "3.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.14.182", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "13.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime-types": { + "version": "2.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mocha": { + "version": "10.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", + "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/proper-lockfile": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/proper-lockfile/-/proper-lockfile-4.1.4.tgz", + "integrity": "sha512-uo2ABllncSqg9F1D4nugVl9v93RmjxF6LJzQLMLDdPaXCUIDPeOJ21Gbqi43xNKzBi/WQ0Q0dICqufzQbMjipQ==", + "dev": true, + "dependencies": { + "@types/retry": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/readline-sync": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@types/readline-sync/-/readline-sync-1.4.8.tgz", + "integrity": "sha512-BL7xOf0yKLA6baAX6MMOnYkoflUyj/c7y3pqMRfU0va7XlwHAOTOIo4x55P/qLfMsuaYdJJKubToLqRVmRtRZA==", + "dev": true + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sinon": { + "version": "10.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinonjs/fake-timers": "^7.1.0" + } + }, + "node_modules/@types/sinon/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stream-buffers": { + "version": "3.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/tcp-port-used": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "license": "MIT" + }, + "node_modules/@types/vscode": { + "version": "1.83.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/vscode-webview": { + "version": "1.57.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webpack-env": { + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.5.tgz", + "integrity": "sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==", + "dev": true + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/xml2js": { + "version": "0.4.11", + "dev": true, + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "node_modules/@types/cross-spawn": { - "version": "6.0.6", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.14.1", + "@typescript-eslint/type-utils": "7.14.1", + "@typescript-eslint/utils": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.14.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.14.1", + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/typescript-estree": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.14.1", + "@typescript-eslint/utils": "7.14.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.14.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.14.1", + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/typescript-estree": "7.14.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "ISC" }, - "node_modules/@types/diff": { - "version": "5.0.7", + "node_modules/@vscode/codicons": { + "version": "0.0.33", "dev": true, + "license": "CC-BY-4.0" + }, + "node_modules/@vscode/debugprotocol": { + "version": "1.64.0", "license": "MIT" }, - "node_modules/@types/eslint": { - "version": "8.44.8", + "node_modules/@vscode/l10n": { + "version": "0.0.13", + "license": "MIT" + }, + "node_modules/@vscode/test-electron": { + "version": "2.3.8", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "jszip": "^3.10.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@types/estree": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.13", + "node_modules/@vscode/test-web": { + "version": "0.0.54", "dev": true, "license": "MIT", "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" + "@koa/cors": "^5.0.0", + "@koa/router": "^12.0.1", + "@playwright/browser-chromium": "^1.43.1", + "gunzip-maybe": "^1.4.2", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", + "koa": "^2.15.3", + "koa-morgan": "^1.0.1", + "koa-mount": "^4.0.0", + "koa-static": "^5.0.0", + "minimist": "^1.2.8", + "playwright": "^1.43.1", + "tar-fs": "^3.0.5", + "vscode-uri": "^3.0.8" + }, + "bin": { + "vscode-test-web": "out/index.js" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", + "node_modules/@vscode/test-web/node_modules/agent-base": { + "version": "7.1.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/glob": { - "version": "8.1.0", + "node_modules/@vscode/test-web/node_modules/http-proxy-agent": { + "version": "7.0.2", "dev": true, "license": "MIT", "dependencies": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/@types/glob/node_modules/@types/minimatch": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/he": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/he/-/he-1.2.3.tgz", - "integrity": "sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==", + "node_modules/@vscode/test-web/node_modules/https-proxy-agent": { + "version": "7.0.4", "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "license": "MIT" + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", + "node_modules/@vscode/test-web/node_modules/tar-fs": { + "version": "3.0.6", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", + "node_modules/@vscode/test-web/node_modules/tar-stream": { + "version": "3.1.7", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", + "node_modules/@vscode/test-web/node_modules/vscode-uri": { + "version": "3.0.8", "dev": true, "license": "MIT" }, - "node_modules/@types/jsdom": { - "version": "21.1.6", + "node_modules/@vscode/vsce": { + "version": "2.19.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "jsonc-parser": "^3.2.0", + "leven": "^3.1.0", + "markdown-it": "^12.3.2", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.5.0", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 14" + }, + "optionalDependencies": { + "keytar": "^7.7.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", + "node_modules/@vscode/vsce/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "license": "MIT" - }, - "node_modules/@types/keyv": { - "version": "3.1.3", "license": "MIT", "dependencies": { - "@types/node": "*" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/linkify-it": { - "version": "3.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/lodash": { - "version": "4.14.182", + "node_modules/@vscode/vsce/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/@types/markdown-it": { - "version": "13.0.2", + "node_modules/@vscode/vsce/node_modules/color-convert": { + "version": "1.9.3", "dev": true, "license": "MIT", "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "color-name": "1.1.3" } }, - "node_modules/@types/mdurl": { - "version": "1.0.3", + "node_modules/@vscode/vsce/node_modules/color-name": { + "version": "1.1.3", "dev": true, "license": "MIT" }, - "node_modules/@types/mime": { - "version": "1.3.2", + "node_modules/@vscode/vsce/node_modules/entities": { + "version": "2.1.0", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/@types/mime-types": { - "version": "2.1.4", + "node_modules/@vscode/vsce/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", + "node_modules/@vscode/vsce/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/@types/minimist": { - "version": "1.2.2", + "node_modules/@vscode/vsce/node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/@types/mocha": { - "version": "10.0.6", + "node_modules/@vscode/vsce/node_modules/linkify-it": { + "version": "3.0.3", "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "18.19.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.55.tgz", - "integrity": "sha512-zzw5Vw52205Zr/nmErSEkN5FLqXPuKX/k5d1D7RKHATGqU7y6YfX9QxZraUzUrFGqH6XzOzG196BC35ltJC4Cw==", "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "uc.micro": "^1.0.1" } }, - "node_modules/@types/node-fetch": { - "version": "2.6.9", + "node_modules/@vscode/vsce/node_modules/markdown-it": { + "version": "12.3.2", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prettier": { - "version": "2.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prismjs": { - "version": "1.26.3", + "node_modules/@vscode/vsce/node_modules/semver": { + "version": "5.7.2", "dev": true, - "license": "MIT" + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/@types/proper-lockfile": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/proper-lockfile/-/proper-lockfile-4.1.4.tgz", - "integrity": "sha512-uo2ABllncSqg9F1D4nugVl9v93RmjxF6LJzQLMLDdPaXCUIDPeOJ21Gbqi43xNKzBi/WQ0Q0dICqufzQbMjipQ==", + "node_modules/@vscode/vsce/node_modules/supports-color": { + "version": "5.5.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/retry": "*" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/qs": { - "version": "6.9.7", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", + "node_modules/@vscode/vsce/node_modules/xml2js": { + "version": "0.5.0", "dev": true, - "license": "MIT" - }, - "node_modules/@types/readline-sync": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@types/readline-sync/-/readline-sync-1.4.8.tgz", - "integrity": "sha512-BL7xOf0yKLA6baAX6MMOnYkoflUyj/c7y3pqMRfU0va7XlwHAOTOIo4x55P/qLfMsuaYdJJKubToLqRVmRtRZA==", - "dev": true + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } }, - "node_modules/@types/responselike": { - "version": "1.0.0", + "node_modules/@vue/compiler-core": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" } }, - "node_modules/@types/retry": { - "version": "0.12.1", - "dev": true, - "license": "MIT" + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } }, - "node_modules/@types/semver": { - "version": "7.5.0", - "dev": true, - "license": "MIT" + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "dev": true, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@types/express": "*" + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" } }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "dev": true, + "node_modules/@vue/reactivity": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@vue/shared": "3.3.4" } }, - "node_modules/@types/sinon": { - "version": "10.0.5", - "dev": true, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@sinonjs/fake-timers": "^7.1.0" + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" } }, - "node_modules/@types/sinon/node_modules/@sinonjs/fake-timers": { - "version": "7.1.2", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "dev": true, - "license": "MIT" + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "dev": true, + "node_modules/@vue/server-renderer": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@types/node": "*" + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + }, + "peerDependencies": { + "vue": "3.3.4" } }, - "node_modules/@types/stream-buffers": { - "version": "3.0.7", + "node_modules/@vue/shared": { + "version": "3.3.4", + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/@types/tcp-port-used": { - "version": "1.0.1", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", "dev": true, "license": "MIT" }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", "dev": true, "license": "MIT" }, - "node_modules/@types/uuid": { - "version": "9.0.1", + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", "dev": true, "license": "MIT" }, - "node_modules/@types/vscode": { - "version": "1.83.0", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } }, - "node_modules/@types/vscode-webview": { - "version": "1.57.1", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", "dev": true, "license": "MIT" }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.3", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", "dev": true, - "license": "MIT" - }, - "node_modules/@types/webpack-env": { - "version": "1.18.5", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.5.tgz", - "integrity": "sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==", - "dev": true + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } }, - "node_modules/@types/whatwg-url": { - "version": "11.0.4", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", "dev": true, "license": "MIT", "dependencies": { - "@types/webidl-conversions": "*" + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/ws": { - "version": "8.5.5", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, - "node_modules/@types/xml2js": { - "version": "0.4.11", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.14.1", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/type-utils": "7.14.1", - "@typescript-eslint/utils": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.14.1", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.14.1", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.14.1", + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/utils": "7.14.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=14.15.0" }, "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@typescript-eslint/types": { - "version": "7.14.1", + "node_modules/@webpack-cli/info": { + "version": "2.0.2", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">=14.15.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.14.1", + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, + "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">=14.15.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" }, "peerDependenciesMeta": { - "typescript": { + "webpack-dev-server": { "optional": true } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.14.1", + "node_modules/@xmldom/xmldom": { + "version": "0.7.8", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.14.1", - "eslint-visitor-keys": "^3.4.3" - }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.0.0" } }, - "node_modules/@ungap/structured-clone": { + "node_modules/@xtuc/ieee754": { "version": "1.2.0", "dev": true, - "license": "ISC" + "license": "BSD-3-Clause" }, - "node_modules/@vscode/codicons": { - "version": "0.0.33", + "node_modules/@xtuc/long": { + "version": "4.2.2", "dev": true, - "license": "CC-BY-4.0" + "license": "Apache-2.0" }, - "node_modules/@vscode/debugprotocol": { - "version": "1.64.0", - "license": "MIT" + "node_modules/@zip.js/zip.js": { + "version": "2.7.41", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.41.tgz", + "integrity": "sha512-EMxPWXlEqqvsK9jxPmNvEShrIXP2LYTdQnEfsBH6OQCnlZRVo/dJIgtzbKvtK9A8PBTDQdxwxulj+QKplmW2Xg==", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } }, - "node_modules/@vscode/l10n": { - "version": "0.0.13", + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "dev": true, "license": "MIT" }, - "node_modules/@vscode/test-electron": { - "version": "2.3.8", + "node_modules/accepts": { + "version": "1.3.8", "dev": true, "license": "MIT", "dependencies": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "jszip": "^3.10.1", - "semver": "^7.5.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=16" + "node": ">= 0.6" } }, - "node_modules/@vscode/test-web": { - "version": "0.0.54", + "node_modules/acorn": { + "version": "8.12.0", "dev": true, "license": "MIT", - "dependencies": { - "@koa/cors": "^5.0.0", - "@koa/router": "^12.0.1", - "@playwright/browser-chromium": "^1.43.1", - "gunzip-maybe": "^1.4.2", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", - "koa": "^2.15.3", - "koa-morgan": "^1.0.1", - "koa-mount": "^4.0.0", - "koa-static": "^5.0.0", - "minimist": "^1.2.8", - "playwright": "^1.43.1", - "tar-fs": "^3.0.5", - "vscode-uri": "^3.0.8" - }, "bin": { - "vscode-test-web": "out/index.js" + "acorn": "bin/acorn" }, "engines": { - "node": ">=16" + "node": ">=0.4.0" } }, - "node_modules/@vscode/test-web/node_modules/agent-base": { - "version": "7.1.1", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">=0.4.0" } }, - "node_modules/@vscode/test-web/node_modules/http-proxy-agent": { - "version": "7.0.2", + "node_modules/adm-zip": { + "version": "0.5.10", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "debug": "4" }, "engines": { - "node": ">= 14" + "node": ">= 6.0.0" } }, - "node_modules/@vscode/test-web/node_modules/https-proxy-agent": { - "version": "7.0.4", + "node_modules/ajv": { + "version": "6.12.6", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 14" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@vscode/test-web/node_modules/tar-fs": { - "version": "3.0.6", + "node_modules/ajv-formats": { + "version": "2.1.1", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" + "ajv": "^8.0.0" }, - "optionalDependencies": { - "bare-fs": "^2.1.1", - "bare-path": "^2.1.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@vscode/test-web/node_modules/tar-stream": { - "version": "3.1.7", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.8.2", "dev": true, "license": "MIT", "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@vscode/test-web/node_modules/vscode-uri": { - "version": "3.0.8", + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/@vscode/vsce": { - "version": "2.19.0", + "node_modules/ajv-keywords": { + "version": "3.5.2", "dev": true, "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/amazon-q-vscode": { + "resolved": "packages/amazonq", + "link": true + }, + "node_modules/amazon-states-language-service": { + "version": "1.11.0", + "license": "MIT", "dependencies": { - "azure-devops-node-api": "^11.0.1", - "chalk": "^2.4.2", - "cheerio": "^1.0.0-rc.9", - "commander": "^6.1.0", - "glob": "^7.0.6", - "hosted-git-info": "^4.0.2", - "jsonc-parser": "^3.2.0", - "leven": "^3.1.0", - "markdown-it": "^12.3.2", - "mime": "^1.3.4", - "minimatch": "^3.0.3", - "parse-semver": "^1.1.1", - "read": "^1.0.7", - "semver": "^5.1.0", - "tmp": "^0.2.1", - "typed-rest-client": "^1.8.4", - "url-join": "^4.0.1", - "xml2js": "^0.5.0", - "yauzl": "^2.3.1", - "yazl": "^2.2.2" - }, - "bin": { - "vsce": "vsce" - }, + "js-yaml": "^4.1.0", + "vscode-json-languageservice": "5.3.5", + "vscode-languageserver": "^8.1.0", + "vscode-languageserver-textdocument": "^1.0.0", + "vscode-languageserver-types": "^3.15.1", + "yaml-language-server": "0.15.0" + } + }, + "node_modules/amazon-states-language-service/node_modules/vscode-jsonrpc": { + "version": "8.1.0", + "license": "MIT", "engines": { - "node": ">= 14" - }, - "optionalDependencies": { - "keytar": "^7.7.0" + "node": ">=14.0.0" } }, - "node_modules/@vscode/vsce/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, + "node_modules/amazon-states-language-service/node_modules/vscode-languageserver": { + "version": "8.1.0", "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "vscode-languageserver-protocol": "3.17.3" }, - "engines": { - "node": ">=4" + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" } }, - "node_modules/@vscode/vsce/node_modules/chalk": { - "version": "2.4.2", - "dev": true, + "node_modules/amazon-states-language-service/node_modules/vscode-languageserver-protocol": { + "version": "3.17.3", "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "vscode-jsonrpc": "8.1.0", + "vscode-languageserver-types": "3.17.3" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/@vscode/vsce/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, + "node_modules/ansi-gray": { + "version": "0.1.1", "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@vscode/vsce/node_modules/color-name": { - "version": "1.1.3", + "node_modules/ansi-html-community": { + "version": "0.0.8", "dev": true, - "license": "MIT" + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } }, - "node_modules/@vscode/vsce/node_modules/entities": { - "version": "2.1.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/ansi-regex": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vscode/vsce/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, + "node_modules/ansi-wrap": { + "version": "0.1.0", "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/@vscode/vsce/node_modules/glob": { - "version": "7.2.3", + "node_modules/any-promise": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.2", "dev": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 8" } }, - "node_modules/@vscode/vsce/node_modules/has-flag": { - "version": "3.0.0", + "node_modules/arg": { + "version": "4.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@vscode/vsce/node_modules/linkify-it": { - "version": "3.0.3", + "node_modules/asap": { + "version": "2.0.6", "dev": true, + "license": "MIT" + }, + "node_modules/asn1.js": { + "version": "5.4.1", "license": "MIT", "dependencies": { - "uc.micro": "^1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/@vscode/vsce/node_modules/markdown-it": { - "version": "12.3.2", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/assert": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" } }, - "node_modules/@vscode/vsce/node_modules/semver": { - "version": "5.7.2", + "node_modules/ast-types": { + "version": "0.9.14", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/@vscode/vsce/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/async": { + "version": "3.2.5", + "license": "MIT" + }, + "node_modules/async-lock": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", "dev": true, + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vscode/vsce/node_modules/xml2js": { - "version": "0.5.0", - "dev": true, - "license": "MIT", + "node_modules/aws-core-vscode": { + "resolved": "packages/core", + "link": true + }, + "node_modules/aws-sdk": { + "version": "2.1384.0", + "license": "Apache-2.0", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.5.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@vue/compiler-core": { - "version": "3.3.4", + "node_modules/aws-sdk/node_modules/uuid": { + "version": "8.0.0", "license": "MIT", - "dependencies": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@vue/compiler-dom": { - "version": "3.3.4", + "node_modules/aws-sdk/node_modules/xml2js": { + "version": "0.5.0", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@vue/compiler-sfc": { - "version": "3.3.4", - "license": "MIT", + "node_modules/aws-ssm-document-language-service": { + "version": "1.0.0", + "license": "Apache-2.0", "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", - "source-map-js": "^1.0.2" + "vscode-json-languageservice": "3.8.3", + "vscode-languageserver": "^6.1.1", + "yaml": "^1.10.0", + "yaml-language-server": "0.10.1" } }, - "node_modules/@vue/compiler-ssr": { - "version": "3.3.4", + "node_modules/aws-ssm-document-language-service/node_modules/argparse": { + "version": "1.0.10", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" + "sprintf-js": "~1.0.2" } }, - "node_modules/@vue/reactivity": { - "version": "3.3.4", + "node_modules/aws-ssm-document-language-service/node_modules/js-yaml": { + "version": "3.14.1", "license": "MIT", "dependencies": { - "@vue/shared": "3.3.4" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.4", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" - } + "node_modules/aws-ssm-document-language-service/node_modules/jsonc-parser": { + "version": "2.3.1", + "license": "MIT" }, - "node_modules/@vue/runtime-core": { - "version": "3.3.4", + "node_modules/aws-ssm-document-language-service/node_modules/prettier": { + "version": "2.0.5", "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/@vue/runtime-dom": { - "version": "3.3.4", + "node_modules/aws-ssm-document-language-service/node_modules/vscode-json-languageservice": { + "version": "3.8.3", "license": "MIT", "dependencies": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" + "jsonc-parser": "^2.2.1", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.2" } }, - "node_modules/@vue/server-renderer": { - "version": "3.3.4", + "node_modules/aws-ssm-document-language-service/node_modules/vscode-jsonrpc": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" - }, - "peerDependencies": { - "vue": "3.3.4" + "engines": { + "node": ">=8.0.0 || >=10.0.0" } }, - "node_modules/@vue/shared": { - "version": "3.3.4", - "license": "MIT" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "dev": true, + "node_modules/aws-ssm-document-language-service/node_modules/vscode-languageserver-protocol": { + "version": "3.14.1", "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "vscode-jsonrpc": "^4.0.0", + "vscode-languageserver-types": "3.14.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "dev": true, + "node_modules/aws-ssm-document-language-service/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.14.0", "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "dev": true, + "node_modules/aws-ssm-document-language-service/node_modules/vscode-nls": { + "version": "4.1.2", "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "dev": true, + "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server": { + "version": "0.10.1", "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "js-yaml": "^3.13.1", + "jsonc-parser": "^2.2.1", + "request-light": "^0.2.4", + "vscode-json-languageservice": "^3.6.0", + "vscode-languageserver": "^5.2.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.1", + "yaml-ast-parser-custom-tags": "0.0.43" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + }, + "engines": { + "node": "*" + }, + "optionalDependencies": { + "prettier": "2.0.5" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "dev": true, + "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server/node_modules/vscode-languageserver": { + "version": "5.2.1", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "vscode-languageserver-protocol": "3.14.1", + "vscode-uri": "^1.0.6" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", + "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server/node_modules/vscode-languageserver/node_modules/vscode-uri": { + "version": "1.0.8", + "license": "MIT" + }, + "node_modules/aws-toolkit-vscode": { + "resolved": "packages/toolkit", + "link": true + }, + "node_modules/azure-devops-node-api": { + "version": "11.2.0", "dev": true, "license": "MIT", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", + "node_modules/b4a": { + "version": "1.6.4", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } + "license": "ISC" }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "dev": true, + "node_modules/balanced-match": { + "version": "1.0.2", "license": "MIT" }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", + "node_modules/bare-events": { + "version": "2.2.2", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } + "license": "Apache-2.0", + "optional": true }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", + "node_modules/bare-fs": { + "version": "2.3.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "bare-events": "^2.0.0", + "bare-path": "^2.0.0", + "bare-stream": "^1.0.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", + "node_modules/bare-os": { + "version": "2.3.0", "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } + "license": "Apache-2.0", + "optional": true }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", + "node_modules/bare-path": { + "version": "2.1.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "bare-os": "^2.1.0" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", + "node_modules/bare-stream": { + "version": "1.0.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "streamx": "^2.16.1" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ], + "license": "MIT" }, - "node_modules/@xmldom/xmldom": { - "version": "0.7.8", + "node_modules/basic-auth": { + "version": "2.0.1", "dev": true, "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.8" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@zip.js/zip.js": { - "version": "2.7.41", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.41.tgz", - "integrity": "sha512-EMxPWXlEqqvsK9jxPmNvEShrIXP2LYTdQnEfsBH6OQCnlZRVo/dJIgtzbKvtK9A8PBTDQdxwxulj+QKplmW2Xg==", - "engines": { - "bun": ">=0.7.0", - "deno": ">=1.0.0", - "node": ">=16.5.0" - } + "license": "MIT" }, - "node_modules/a-sync-waterfall": { - "version": "1.0.1", + "node_modules/batch": { + "version": "0.6.1", "dev": true, "license": "MIT" }, - "node_modules/accepts": { - "version": "1.3.8", + "node_modules/big.js": { + "version": "5.2.2", "dev": true, "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/acorn": { - "version": "8.12.0", + "node_modules/binary-extensions": { + "version": "2.2.0", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", + "node_modules/bl": { + "version": "4.1.0", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^8" + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", + "node_modules/bn.js": { + "version": "5.2.1", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", "dev": true, "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/adm-zip": { - "version": "0.5.10", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "debug": "4" - }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.8" } }, - "node_modules/ajv": { - "version": "6.12.6", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.0.13", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", + "node_modules/boolbase": { + "version": "1.0.0", "dev": true, + "license": "ISC" + }, + "node_modules/bowser": { + "version": "2.11.0", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", "license": "MIT", "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.8.2", + "node_modules/braces": { + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "fill-range": "^7.1.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=8" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, + "node_modules/brorand": { + "version": "1.1.0", "license": "MIT" }, - "node_modules/ajv-keywords": { - "version": "3.5.2", + "node_modules/browser-stdout": { + "version": "1.3.1", "dev": true, + "license": "ISC" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/amazon-q-vscode": { - "resolved": "packages/amazonq", - "link": true + "node_modules/browserify-cipher": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } }, - "node_modules/amazon-states-language-service": { - "version": "1.11.0", + "node_modules/browserify-des": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "js-yaml": "^4.1.0", - "vscode-json-languageservice": "5.3.5", - "vscode-languageserver": "^8.1.0", - "vscode-languageserver-textdocument": "^1.0.0", - "vscode-languageserver-types": "^3.15.1", - "yaml-language-server": "0.15.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/amazon-states-language-service/node_modules/vscode-jsonrpc": { - "version": "8.1.0", + "node_modules/browserify-rsa": { + "version": "4.1.0", "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.2", + "license": "ISC", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, "engines": { - "node": ">=14.0.0" + "node": ">= 4" } }, - "node_modules/amazon-states-language-service/node_modules/vscode-languageserver": { - "version": "8.1.0", + "node_modules/browserify-zlib": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "~0.2.0" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "0.2.9", + "dev": true, + "license": "MIT" + }, + "node_modules/browserslist": { + "version": "4.23.1", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "vscode-languageserver-protocol": "3.17.3" + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" }, "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/amazon-states-language-service/node_modules/vscode-languageserver-protocol": { - "version": "3.17.3", + "node_modules/buffer": { + "version": "4.9.2", "license": "MIT", "dependencies": { - "vscode-jsonrpc": "8.1.0", - "vscode-languageserver-types": "3.17.3" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=6" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/ansi-gray": { - "version": "0.1.1", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-wrap": "0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", + "node_modules/buffer-from": { + "version": "1.1.2", "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } + "license": "MIT" }, - "node_modules/ansi-regex": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/buffer-xor": { + "version": "1.0.3", + "license": "MIT" }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/builtin-modules": { + "version": "3.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-wrap": { - "version": "0.1.0", + "node_modules/bytes": { + "version": "3.1.2", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.2", + "node_modules/c8": { + "version": "9.0.0", "dev": true, "license": "ISC", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^3.1.1", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.0.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "c8": "bin/c8.js" }, "engines": { - "node": ">= 8" + "node": ">=14.14.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", + "node_modules/c8/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/asap": { - "version": "2.0.6", + "node_modules/cache-content-type": { + "version": "1.0.1", "dev": true, - "license": "MIT" - }, - "node_modules/asn1.js": { - "version": "5.4.1", "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" - }, - "node_modules/assert": { - "version": "2.1.0", - "dev": true, + "node_modules/cacheable-lookup": { + "version": "5.0.4", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-nan": "^1.3.2", - "object-is": "^1.1.5", - "object.assign": "^4.1.4", - "util": "^0.12.5" + "engines": { + "node": ">=10.6.0" } }, - "node_modules/ast-types": { - "version": "0.9.14", - "dev": true, + "node_modules/cacheable-request": { + "version": "7.0.2", "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/async": { - "version": "3.2.5", - "license": "MIT" - }, - "node_modules/async-lock": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", + "node_modules/call-bind": { + "version": "1.0.7", "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, "engines": { "node": ">= 0.4" }, @@ -9516,3151 +10896,3432 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-core-vscode": { - "resolved": "packages/core", - "link": true + "node_modules/call-me-maybe": { + "version": "1.0.2", + "dev": true, + "license": "MIT" }, - "node_modules/aws-sdk": { - "version": "2.1384.0", - "license": "Apache-2.0", + "node_modules/caller-callsite": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" + "callsites": "^2.0.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=4" } }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=4" } }, - "node_modules/aws-sdk/node_modules/xml2js": { - "version": "0.5.0", + "node_modules/caller-path": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/aws-ssm-document-language-service": { - "version": "1.0.0", - "license": "Apache-2.0", - "dependencies": { - "vscode-json-languageservice": "3.8.3", - "vscode-languageserver": "^6.1.1", - "yaml": "^1.10.0", - "yaml-language-server": "0.10.1" + "node": ">=4" } }, - "node_modules/aws-ssm-document-language-service/node_modules/argparse": { - "version": "1.0.10", + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" + "engines": { + "node": ">=6" } }, - "node_modules/aws-ssm-document-language-service/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/camelcase": { + "version": "6.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "engines": { + "node": ">=10" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-ssm-document-language-service/node_modules/jsonc-parser": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/aws-ssm-document-language-service/node_modules/prettier": { - "version": "2.0.5", + "node_modules/camelcase-keys": { + "version": "6.2.2", + "dev": true, "license": "MIT", - "optional": true, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-ssm-document-language-service/node_modules/vscode-json-languageservice": { - "version": "3.8.3", + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, "license": "MIT", - "dependencies": { - "jsonc-parser": "^2.2.1", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.15.1", - "vscode-nls": "^4.1.2", - "vscode-uri": "^2.1.2" + "engines": { + "node": ">=6" } }, - "node_modules/aws-ssm-document-language-service/node_modules/vscode-jsonrpc": { - "version": "4.0.0", + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "dev": true, "license": "MIT", "engines": { - "node": ">=8.0.0 || >=10.0.0" + "node": ">=8" } }, - "node_modules/aws-ssm-document-language-service/node_modules/vscode-languageserver-protocol": { - "version": "3.14.1", + "node_modules/caniuse-lite": { + "version": "1.0.30001638", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { - "vscode-jsonrpc": "^4.0.0", - "vscode-languageserver-types": "3.14.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/aws-ssm-document-language-service/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { - "version": "3.14.0", - "license": "MIT" - }, - "node_modules/aws-ssm-document-language-service/node_modules/vscode-nls": { - "version": "4.1.2", - "license": "MIT" + "node_modules/charenc": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } }, - "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server": { - "version": "0.10.1", + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "dev": true, "license": "MIT", "dependencies": { - "js-yaml": "^3.13.1", - "jsonc-parser": "^2.2.1", - "request-light": "^0.2.4", - "vscode-json-languageservice": "^3.6.0", - "vscode-languageserver": "^5.2.1", - "vscode-languageserver-types": "^3.15.1", - "vscode-nls": "^4.1.2", - "vscode-uri": "^2.1.1", - "yaml-ast-parser-custom-tags": "0.0.43" - }, - "bin": { - "yaml-language-server": "bin/yaml-language-server" + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" }, "engines": { - "node": "*" + "node": ">= 6" }, - "optionalDependencies": { - "prettier": "2.0.5" + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server/node_modules/vscode-languageserver": { - "version": "5.2.1", - "license": "MIT", + "node_modules/cheerio-select": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "vscode-languageserver-protocol": "3.14.1", - "vscode-uri": "^1.0.6" + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/aws-ssm-document-language-service/node_modules/yaml-language-server/node_modules/vscode-languageserver/node_modules/vscode-uri": { - "version": "1.0.8", - "license": "MIT" + "node_modules/chokidar": { + "version": "3.5.3", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, - "node_modules/aws-toolkit-vscode": { - "resolved": "packages/toolkit", - "link": true + "node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "license": "ISC", + "optional": true }, - "node_modules/azure-devops-node-api": { - "version": "11.2.0", + "node_modules/chrome-trace-event": { + "version": "1.0.3", "dev": true, "license": "MIT", - "dependencies": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "engines": { + "node": ">=6.0" } }, - "node_modules/b4a": { - "version": "1.6.4", + "node_modules/ci-info": { + "version": "4.0.0", "dev": true, - "license": "ISC" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" + "node_modules/cipher-base": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } }, - "node_modules/bare-events": { - "version": "2.2.2", + "node_modules/circular-dependency-plugin": { + "version": "5.2.2", "dev": true, - "license": "Apache-2.0", - "optional": true + "license": "ISC", + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.1" + } }, - "node_modules/bare-fs": { - "version": "2.3.0", + "node_modules/clean-regexp": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "bare-events": "^2.0.0", - "bare-path": "^2.0.0", - "bare-stream": "^1.0.0" + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" } }, - "node_modules/bare-os": { - "version": "2.3.0", + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "license": "Apache-2.0", - "optional": true + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/bare-path": { - "version": "2.1.2", + "node_modules/cli-color": { + "version": "2.0.3", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "ISC", "dependencies": { - "bare-os": "^2.1.0" + "d": "^1.0.1", + "es5-ext": "^0.10.61", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/bare-stream": { - "version": "1.0.0", + "node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "ISC", "dependencies": { - "streamx": "^2.16.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/basic-auth": { - "version": "2.0.1", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "5.1.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/basic-auth/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "dev": true, - "license": "MIT" + "node_modules/clone": { + "version": "2.1.2", + "license": "MIT", + "engines": { + "node": ">=0.8" + } }, - "node_modules/big.js": { - "version": "5.2.2", - "dev": true, + "node_modules/clone-buffer": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.10" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/bl": { - "version": "4.1.0", - "dev": true, + "node_modules/clone-response": { + "version": "1.0.2", "license": "MIT", - "optional": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "mimic-response": "^1.0.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/clone-stats": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", "license": "MIT", - "optional": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" } }, - "node_modules/bn.js": { - "version": "5.2.1", + "node_modules/cloneable-readable/node_modules/readable-stream": { + "version": "2.3.7", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/cloneable-readable/node_modules/safe-buffer": { + "version": "5.1.2", "license": "MIT" }, - "node_modules/body-parser": { - "version": "1.20.3", - "dev": true, + "node_modules/cloneable-readable/node_modules/string_decoder": { + "version": "1.1.1", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "safe-buffer": "~5.1.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", + "node_modules/co": { + "version": "4.6.0", "dev": true, "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-block-writer": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.2.tgz", + "integrity": "sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==", + "dev": true + }, + "node_modules/color": { + "version": "3.2.1", + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "dev": true, + "node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.8" + "node": ">=7.0.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "dev": true, + "node_modules/color-name": { + "version": "1.1.4", "license": "MIT" }, - "node_modules/bonjour-service": { - "version": "1.0.13", - "dev": true, + "node_modules/color-string": { + "version": "1.9.1", "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "dev": true, - "license": "ISC" + "node_modules/color-support": { + "version": "1.1.3", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } }, - "node_modules/bowser": { - "version": "2.11.0", + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.16", + "dev": true, "license": "MIT" }, - "node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/colorspace": { + "version": "1.1.4", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "color": "^3.1.3", + "text-hex": "1.0.x" } }, - "node_modules/braces": { - "version": "3.0.3", + "node_modules/combined-stream": { + "version": "1.0.8", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/browser-stdout": { - "version": "1.3.1", + "node_modules/commander": { + "version": "6.2.1", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/browserify-aes": { - "version": "1.2.0", + "node_modules/compressible": { + "version": "2.0.18", + "dev": true, "license": "MIT", "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", + "node_modules/compression": { + "version": "1.7.4", + "dev": true, "license": "MIT", "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/browserify-des": { - "version": "1.0.2", + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">= 0.8" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "ms": "2.0.0" } }, - "node_modules/browserify-sign": { - "version": "4.2.2", - "license": "ISC", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz", + "integrity": "sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==", + "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.4", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.6", - "readable-stream": "^3.6.2", - "safe-buffer": "^5.2.1" + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "dist/bin/concurrently.js" }, "engines": { - "node": ">= 4" + "node": "^12.20.0 || ^14.13.0 || >=16.0.0" } }, - "node_modules/browserify-zlib": { - "version": "0.1.4", + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "pako": "~0.2.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/browserify-zlib/node_modules/pako": { - "version": "0.2.9", - "dev": true, - "license": "MIT" - }, - "node_modules/browserslist": { - "version": "4.23.1", + "node_modules/concurrently/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" - }, - "bin": { - "browserslist": "cli.js" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=10" } }, - "node_modules/buffer": { - "version": "4.9.2", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "dev": true, "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", + "node_modules/content-type": { + "version": "1.0.5", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/buffer-from": { - "version": "1.1.2", + "node_modules/convert-source-map": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/buffer-xor": { - "version": "1.0.3", + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "dev": true, "license": "MIT" }, - "node_modules/builtin-modules": { - "version": "3.3.0", + "node_modules/cookies": { + "version": "0.9.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8" } }, - "node_modules/bytes": { - "version": "3.1.2", + "node_modules/cookies/node_modules/depd": { + "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/c8": { - "version": "9.0.0", + "node_modules/core-js-compat": { + "version": "3.37.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@istanbuljs/schema": "^0.1.3", - "find-up": "^5.0.0", - "foreground-child": "^3.1.1", - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.1", - "istanbul-reports": "^3.1.6", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.0.0", - "yargs": "^17.7.2", - "yargs-parser": "^21.1.1" - }, - "bin": { - "c8": "bin/c8.js" + "browserslist": "^4.23.0" }, - "engines": { - "node": ">=14.14.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" }, - "node_modules/cache-content-type": { - "version": "1.0.1", + "node_modules/cosmiconfig": { + "version": "5.2.1", "dev": true, "license": "MIT", "dependencies": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=4" } }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "dev": true, "license": "MIT", - "engines": { - "node": ">=10.6.0" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/cacheable-request": { - "version": "7.0.2", + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/call-bind": { - "version": "1.0.7", + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "callsites": "^2.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { "node": ">=4" } }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/caller-path": { - "version": "2.0.0", + "node_modules/create-ecdh": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", "dev": true, + "license": "MIT" + }, + "node_modules/cross-fetch": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "caller-callsite": "^2.0.0" + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/crypt": { + "version": "0.0.2", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/camelcase": { - "version": "6.2.0", - "dev": true, + "node_modules/crypto-browserify": { + "version": "3.12.0", "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "*" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", + "node_modules/css-loader": { + "version": "6.10.0", "dev": true, "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "5.3.1", + "node_modules/css-select": { + "version": "5.1.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/camelcase-keys/node_modules/quick-lru": { - "version": "4.0.1", + "node_modules/css-what": { + "version": "6.1.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001638", + "node_modules/cssesc": { + "version": "3.0.0", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/chalk": { - "version": "4.1.2", + "node_modules/cssstyle": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "rrweb-cssom": "^0.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=14" } }, - "node_modules/charenc": { - "version": "0.0.2", + "node_modules/csstype": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/cubic2quad": { + "version": "1.2.1", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", + "node_modules/data-urls": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "node": ">=18" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "node_modules/chokidar": { - "version": "3.5.3", + "node_modules/debug": { + "version": "4.3.4", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "ms": "2.1.2" }, "engines": { - "node": ">= 8.10.0" + "node": ">=6.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/chownr": { - "version": "1.1.4", - "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", + "node_modules/decamelize": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ci-info": { - "version": "4.0.0", + "node_modules/decamelize-keys": { + "version": "1.1.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cipher-base": { - "version": "1.0.4", + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/circular-dependency-plugin": { - "version": "5.2.2", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.1" + "node": ">=0.10.0" } }, - "node_modules/clean-regexp": { - "version": "1.0.0", + "node_modules/decimal.js": { + "version": "10.4.3", "dev": true, + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "6.0.0", "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clean-regexp/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-color": { - "version": "2.0.3", + "node_modules/deep-equal": { + "version": "1.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.61", - "es6-iterator": "^2.0.3", - "memoizee": "^0.4.15", - "timers-ext": "^0.1.7" - }, - "engines": { - "node": ">=0.10" - } + "license": "MIT" }, - "node_modules/cliui": { - "version": "7.0.4", + "node_modules/deep-extend": { + "version": "0.6.0", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.2.2", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/default-gateway": { + "version": "6.0.3", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-regex": "^5.0.1" + "execa": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/clone": { - "version": "2.1.2", + "node_modules/defer-to-connect": { + "version": "2.0.1", "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=10" } }, - "node_modules/clone-buffer": { - "version": "1.0.0", + "node_modules/define-data-property": { + "version": "1.1.4", "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/clone-deep": { - "version": "4.0.1", + "node_modules/define-lazy-prop": { + "version": "2.0.0", "dev": true, "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/clone-response": { - "version": "1.0.2", + "node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/clone-stats": { + "node_modules/delegates": { "version": "1.0.0", + "dev": true, "license": "MIT" }, - "node_modules/cloneable-readable": { - "version": "1.1.3", + "node_modules/depd": { + "version": "1.1.2", + "dev": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" + "engines": { + "node": ">= 0.6" } }, - "node_modules/cloneable-readable/node_modules/readable-stream": { - "version": "2.3.7", + "node_modules/des.js": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/cloneable-readable/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/cloneable-readable/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/destroy": { + "version": "1.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/co": { - "version": "4.6.0", + "node_modules/detect-libc": { + "version": "2.0.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=8" } }, - "node_modules/code-block-writer": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.2.tgz", - "integrity": "sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==", - "dev": true + "node_modules/detect-node": { + "version": "2.1.0", + "dev": true, + "license": "MIT" }, - "node_modules/color": { - "version": "3.2.1", + "node_modules/diff": { + "version": "5.1.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", "license": "MIT", "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/color-convert": { - "version": "2.0.1", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "path-type": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/color-name": { - "version": "1.1.4", + "node_modules/dns-equal": { + "version": "1.0.0", + "dev": true, "license": "MIT" }, - "node_modules/color-string": { - "version": "1.9.1", + "node_modules/dns-packet": { + "version": "5.4.0", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/color-support": { - "version": "1.1.3", - "license": "ISC", - "bin": { - "color-support": "bin.js" + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/color/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/dom-serializer": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.16", - "dev": true, - "license": "MIT" + "node_modules/domelementtype": { + "version": "2.3.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" }, - "node_modules/colorspace": { - "version": "1.1.4", - "license": "MIT", + "node_modules/domhandler": { + "version": "5.0.3", + "license": "BSD-2-Clause", "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "license": "MIT", + "node_modules/domutils": { + "version": "3.1.0", + "license": "BSD-2-Clause", "dependencies": { - "delayed-stream": "~1.0.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/commander": { - "version": "6.2.1", + "node_modules/downlevel-dts": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/downlevel-dts/-/downlevel-dts-0.10.1.tgz", + "integrity": "sha512-bwY63Y0Gfwotcly4vU6rB66m5txvfQzDGd1Gai9E9orqsDIswXKjkdR18Tm6TidnAk9+J5N68a5VMDO2bsQCKQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 6" + "dependencies": { + "semver": "^7.3.2", + "shelljs": "^0.8.3", + "typescript": "next" + }, + "bin": { + "downlevel-dts": "index.js" } }, - "node_modules/compressible": { - "version": "2.0.18", + "node_modules/downlevel-dts/node_modules/typescript": { + "version": "5.7.0-dev.20241023", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.0-dev.20241023.tgz", + "integrity": "sha512-HB6rRd9ySnFMoQUuDasWnBtvOg1P4CFG3nRfs2ZvFbenUkxSzoeeZ0PUwJJ7MKJp5zz7uMTZamGt7zdj0tP9YA==", "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 0.6" + "node": ">=14.17" } }, - "node_modules/compression": { - "version": "1.7.4", + "node_modules/duplexer": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/duplexify": { + "version": "3.7.1", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "dev": true, + "node_modules/eastasianwidth": { + "version": "0.2.0", "license": "MIT" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/ee-first": { + "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", + "node_modules/electron-to-chromium": { + "version": "1.4.812", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } + "license": "ISC" }, - "node_modules/content-disposition": { - "version": "0.5.4", - "dev": true, + "node_modules/elliptic": { + "version": "6.5.7", "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/content-type": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, + "node_modules/emoji-regex": { + "version": "8.0.0", "license": "MIT" }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "node_modules/emojis-list": { + "version": "3.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 4" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "dev": true, + "node_modules/enabled": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/cookies": { - "version": "0.9.1", + "node_modules/encodeurl": { + "version": "1.0.2", "dev": true, "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" - }, "engines": { "node": ">= 0.8" } }, - "node_modules/cookies/node_modules/depd": { - "version": "2.0.0", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.4", "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/core-js-compat": { - "version": "3.37.1", + "node_modules/enhanced-resolve": { + "version": "5.17.1", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" + "node_modules/entities": { + "version": "4.5.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/cosmiconfig": { - "version": "5.2.1", + "node_modules/envinfo": { + "version": "7.11.1", "dev": true, "license": "MIT", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "bin": { + "envinfo": "dist/cli.js" }, "engines": { "node": ">=4" } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "1.0.10", + "node_modules/error-ex": { + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "is-arrayish": "^0.2.1" } }, - "node_modules/cosmiconfig/node_modules/import-fresh": { - "version": "2.0.0", + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", "dev": true, + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.20.2", "license": "MIT", "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.2", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "node": ">= 0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "4.0.0", - "dev": true, + "node_modules/es-define-property": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/cosmiconfig/node_modules/resolve-from": { - "version": "3.0.0", - "dev": true, + "node_modules/es-errors": { + "version": "1.3.0", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", + "node_modules/es-module-lexer": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", "license": "MIT", "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "license": "MIT", + "node_modules/es5-ext": { + "version": "0.10.64", + "dev": true, + "hasInstallScript": true, + "license": "ISC", "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/create-hmac": { - "version": "1.1.7", + "node_modules/es6-iterator": { + "version": "2.0.3", + "dev": true, "license": "MIT", "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "node_modules/create-require": { - "version": "1.1.1", - "dev": true, + "node_modules/es6-promise": { + "version": "4.2.8", "license": "MIT" }, - "node_modules/cross-fetch": { - "version": "4.0.0", + "node_modules/es6-promisify": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "node-fetch": "^2.6.12" + "es6-promise": "^4.0.3" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/es6-symbol": { + "version": "3.1.3", + "dev": true, + "license": "ISC", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "d": "^1.0.1", + "ext": "^1.1.2" } }, - "node_modules/crypt": { - "version": "0.0.2", + "node_modules/es6-weak-map": { + "version": "2.0.3", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "license": "ISC", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", + "node_modules/esbuild": { + "version": "0.15.13", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": "*" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.13", + "@esbuild/linux-loong64": "0.15.13", + "esbuild-android-64": "0.15.13", + "esbuild-android-arm64": "0.15.13", + "esbuild-darwin-64": "0.15.13", + "esbuild-darwin-arm64": "0.15.13", + "esbuild-freebsd-64": "0.15.13", + "esbuild-freebsd-arm64": "0.15.13", + "esbuild-linux-32": "0.15.13", + "esbuild-linux-64": "0.15.13", + "esbuild-linux-arm": "0.15.13", + "esbuild-linux-arm64": "0.15.13", + "esbuild-linux-mips64le": "0.15.13", + "esbuild-linux-ppc64le": "0.15.13", + "esbuild-linux-riscv64": "0.15.13", + "esbuild-linux-s390x": "0.15.13", + "esbuild-netbsd-64": "0.15.13", + "esbuild-openbsd-64": "0.15.13", + "esbuild-sunos-64": "0.15.13", + "esbuild-windows-32": "0.15.13", + "esbuild-windows-64": "0.15.13", + "esbuild-windows-arm64": "0.15.13" } }, - "node_modules/css-loader": { - "version": "6.10.0", + "node_modules/esbuild-loader": { + "version": "2.20.0", "dev": true, "license": "MIT", "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" + "esbuild": "^0.15.6", + "joycon": "^3.0.1", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "tapable": "^2.2.0", + "webpack-sources": "^2.2.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" }, "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "webpack": "^4.40.0 || ^5.0.0" } }, - "node_modules/css-select": { - "version": "5.1.0", + "node_modules/esbuild/node_modules/esbuild-darwin-arm64": { + "version": "0.15.13", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/css-what": { - "version": "6.1.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/escalade": { + "version": "3.1.2", + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssesc": { - "version": "3.0.0", + "node_modules/eslint": { + "version": "8.56.0", "dev": true, "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, "bin": { - "cssesc": "bin/cssesc" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/cssstyle": { - "version": "3.0.0", + "node_modules/eslint-config-prettier": { + "version": "9.1.0", "dev": true, "license": "MIT", - "dependencies": { - "rrweb-cssom": "^0.6.0" + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">=14" + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" - }, - "node_modules/cubic2quad": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/d": { - "version": "1.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } + "node_modules/eslint-plugin-aws-toolkits": { + "resolved": "plugins/eslint-plugin-aws-toolkits", + "link": true }, - "node_modules/data-urls": { - "version": "5.0.0", + "node_modules/eslint-plugin-header": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, - "engines": { - "node": ">=18" + "peerDependencies": { + "eslint": ">=7.7.0" } }, - "node_modules/debug": { - "version": "4.3.4", + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" }, "engines": { - "node": ">=6.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" }, "peerDependenciesMeta": { - "supports-color": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { "optional": true } } }, - "node_modules/decamelize": { - "version": "4.0.0", + "node_modules/eslint-plugin-security-node": { + "version": "1.1.4", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.0", + "node_modules/eslint-plugin-unicorn": { + "version": "54.0.0", "dev": true, "license": "MIT", "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "@babel/helper-validator-identifier": "^7.24.5", + "@eslint-community/eslint-utils": "^4.4.0", + "@eslint/eslintrc": "^3.0.2", + "ci-info": "^4.0.0", + "clean-regexp": "^1.0.0", + "core-js-compat": "^3.37.0", + "esquery": "^1.5.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.1", + "jsesc": "^3.0.2", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.10.0", + "semver": "^7.6.1", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18.18" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.56.0" } }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", + "node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", + "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/decimal.js": { - "version": "10.4.3", + "node_modules/eslint-plugin-unicorn/node_modules/espree": { + "version": "10.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "mimic-response": "^3.1.0" + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", + "node_modules/eslint-plugin-unicorn/node_modules/globals": { + "version": "14.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-equal": { - "version": "1.0.1", + "node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/deep-extend": { - "version": "0.6.0", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", "dev": true, - "license": "MIT", - "optional": true, + "license": "Apache-2.0", "engines": { - "node": ">=4.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.2.2", + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/default-gateway": { - "version": "6.0.3", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "execa": "^5.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "license": "MIT", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10" + "node": ">=4.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "license": "MIT", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "license": "MIT", + "node_modules/esniff": { + "version": "2.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10" + } + }, + "node_modules/esniff/node_modules/type": { + "version": "2.7.3", + "dev": true, + "license": "ISC" + }, + "node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=0.4.0" + "node": ">=4" } }, - "node_modules/delegates": { - "version": "1.0.0", + "node_modules/esquery": { + "version": "1.5.0", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } }, - "node_modules/depd": { - "version": "1.1.2", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.6" + "node": ">=4.0" } }, - "node_modules/des.js": { - "version": "1.1.0", - "license": "MIT", + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/destroy": { - "version": "1.2.0", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=4.0" } }, - "node_modules/detect-libc": { - "version": "2.0.2", + "node_modules/estraverse": { + "version": "4.3.0", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "dev": true, + "node_modules/estree-walker": { + "version": "2.0.2", "license": "MIT" }, - "node_modules/diff": { - "version": "5.1.0", + "node_modules/esutils": { + "version": "2.0.3", "dev": true, - "license": "BSD-3-Clause", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.3.1" + "node": ">=0.10.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", + "node_modules/etag": { + "version": "1.8.1", + "dev": true, "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/event-emitter": { + "version": "0.3.5", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "d": "1", + "es5-ext": "~0.10.14" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/dns-packet": { - "version": "5.4.0", - "dev": true, + "node_modules/event-stream": { + "version": "3.3.5", "license": "MIT", "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" + "duplexer": "^0.1.1", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" } }, - "node_modules/doctrine": { - "version": "3.0.0", + "node_modules/eventemitter3": { + "version": "4.0.7", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, + "license": "MIT" + }, + "node_modules/events": { + "version": "1.1.1", + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=0.4.x" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", + "node_modules/evp_bytestokey": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", + "node_modules/execa": { + "version": "5.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "license": "MIT" - }, - "node_modules/duplexify": { - "version": "3.7.1", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", "dev": true, "license": "MIT", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/expand-template": { + "version": "2.0.3", "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" } }, - "node_modules/duplexify/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/express": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/ee-first": { + "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/electron-to-chromium": { - "version": "1.4.812", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", "dev": true, - "license": "ISC" - }, - "node_modules/elliptic": { - "version": "6.5.7", "license": "MIT", "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "ms": "2.0.0" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/emojis-list": { - "version": "3.0.0", + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 0.8" } }, - "node_modules/enabled": { + "node_modules/express/node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "1.0.2", + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.10", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", + "node_modules/ext": { + "version": "1.6.0", + "dev": true, + "license": "ISC", "dependencies": { - "once": "^1.4.0" + "type": "^2.5.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", + "node_modules/ext/node_modules/type": { + "version": "2.7.2", "dev": true, + "license": "ISC" + }, + "node_modules/fancy-log": { + "version": "1.3.3", "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.10" } }, - "node_modules/entities": { - "version": "4.5.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" }, - "node_modules/envinfo": { - "version": "7.11.1", + "node_modules/fast-diff": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", "dev": true, "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=4" + "node": ">=8.6.0" } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/fast-json-patch": { + "version": "3.1.1", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", + "node_modules/fastest-levenshtein": { + "version": "1.0.12", "dev": true, "license": "MIT" }, - "node_modules/es-abstract": { - "version": "1.20.2", - "license": "MIT", + "node_modules/fastq": { + "version": "1.13.0", + "dev": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.2", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8.0" } }, - "node_modules/es-define-property": { - "version": "1.0.0", + "node_modules/fd-slicer": { + "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" + "pend": "~1.2.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", + "node_modules/fecha": { + "version": "4.2.1", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, "engines": { - "node": ">= 0.4" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/es-module-lexer": { - "version": "1.2.1", + "node_modules/file-loader": { + "version": "6.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/es5-ext": { - "version": "0.10.64", + "node_modules/finalhandler": { + "version": "1.3.1", "dev": true, - "hasInstallScript": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/es6-iterator": { - "version": "2.0.3", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "ms": "2.0.0" } }, - "node_modules/es6-promise": { - "version": "4.2.8", - "license": "MIT" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", + "node_modules/finalhandler/node_modules/encodeurl": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "es6-promise": "^4.0.3" + "engines": { + "node": ">= 0.8" } }, - "node_modules/es6-symbol": { - "version": "3.1.3", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } + "license": "MIT" }, - "node_modules/es6-weak-map": { - "version": "2.0.3", + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/esbuild": { - "version": "0.15.13", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.15.13", - "@esbuild/linux-loong64": "0.15.13", - "esbuild-android-64": "0.15.13", - "esbuild-android-arm64": "0.15.13", - "esbuild-darwin-64": "0.15.13", - "esbuild-darwin-arm64": "0.15.13", - "esbuild-freebsd-64": "0.15.13", - "esbuild-freebsd-arm64": "0.15.13", - "esbuild-linux-32": "0.15.13", - "esbuild-linux-64": "0.15.13", - "esbuild-linux-arm": "0.15.13", - "esbuild-linux-arm64": "0.15.13", - "esbuild-linux-mips64le": "0.15.13", - "esbuild-linux-ppc64le": "0.15.13", - "esbuild-linux-riscv64": "0.15.13", - "esbuild-linux-s390x": "0.15.13", - "esbuild-netbsd-64": "0.15.13", - "esbuild-openbsd-64": "0.15.13", - "esbuild-sunos-64": "0.15.13", - "esbuild-windows-32": "0.15.13", - "esbuild-windows-64": "0.15.13", - "esbuild-windows-arm64": "0.15.13" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-loader": { - "version": "2.20.0", + "node_modules/flat": { + "version": "5.0.2", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.15.6", - "joycon": "^3.0.1", - "json5": "^2.2.0", - "loader-utils": "^2.0.0", - "tapable": "^2.2.0", - "webpack-sources": "^2.2.0" - }, - "funding": { - "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, - "peerDependencies": { - "webpack": "^4.40.0 || ^5.0.0" + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/esbuild/node_modules/esbuild-darwin-arm64": { - "version": "0.15.13", - "cpu": [ - "arm64" - ], + "node_modules/flatted": { + "version": "3.2.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" + "license": "ISC" + }, + "node_modules/fn.name": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/escalade": { - "version": "3.1.2", + "node_modules/for-each": { + "version": "0.3.3", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "is-callable": "^1.1.3" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "license": "MIT" + "node_modules/foreground-child": { + "version": "3.1.1", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint": { - "version": "8.56.0", + "node_modules/form-data": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", + "node_modules/fresh": { + "version": "0.5.2", "dev": true, "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-aws-toolkits": { - "resolved": "plugins/eslint-plugin-aws-toolkits", - "link": true + "node_modules/from": { + "version": "0.1.7", + "license": "MIT" }, - "node_modules/eslint-plugin-header": { - "version": "3.1.1", + "node_modules/fs-constants": { + "version": "1.0.0", "dev": true, "license": "MIT", - "peerDependencies": { - "eslint": ">=7.7.0" - } + "optional": true }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", + "node_modules/fs-monkey": { + "version": "1.0.3", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-security-node": { + "node_modules/functions-have-names": { + "version": "1.2.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/geometry-interfaces": { "version": "1.1.4", "dev": true, + "license": "MIT" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/eslint-plugin-unicorn": { - "version": "54.0.0", - "dev": true, + "node_modules/get-intrinsic": { + "version": "1.2.4", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", - "@eslint-community/eslint-utils": "^4.4.0", - "@eslint/eslintrc": "^3.0.2", - "ci-info": "^4.0.0", - "clean-regexp": "^1.0.0", - "core-js-compat": "^3.37.0", - "esquery": "^1.5.0", - "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.1", - "jsesc": "^3.0.2", - "pluralize": "^8.0.0", - "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.27", - "regjsparser": "^0.10.0", - "semver": "^7.6.1", - "strip-indent": "^3.0.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">=18.18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" - }, - "peerDependencies": { - "eslint": ">=8.56.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": { - "version": "3.1.0", + "node_modules/get-stdin": { + "version": "8.0.0", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/get-stream": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-unicorn/node_modules/espree": { - "version": "10.1.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "acorn": "^8.12.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-unicorn/node_modules/globals": { - "version": "14.0.0", + "node_modules/github-from-package": { + "version": "0.0.0", "dev": true, "license": "MIT", + "optional": true + }, + "node_modules/glob": { + "version": "10.3.10", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, "engines": { - "node": ">=18" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", + "node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">= 6" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", + "node_modules/glob-to-regexp": { + "version": "0.4.1", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/globals": { + "version": "13.24.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "type-fest": "^0.20.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "BSD-2-Clause", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/globby": { + "version": "11.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, + "node_modules/gopd": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esniff": { - "version": "2.0.1", - "dev": true, - "license": "ISC", + "node_modules/got": { + "version": "11.8.5", + "license": "MIT", "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/esniff/node_modules/type": { - "version": "2.7.3", + "node_modules/graceful-fs": { + "version": "4.2.11", "dev": true, "license": "ISC" }, - "node_modules/espree": { - "version": "9.6.1", + "node_modules/graphemer": { + "version": "1.4.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "node_modules/gunzip-maybe": { + "version": "1.4.2", + "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "gunzip-maybe": "bin.js" } }, - "node_modules/esquery": { - "version": "1.5.0", + "node_modules/handle-thing": { + "version": "2.0.1", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } + "license": "MIT" }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", + "node_modules/hard-rejection": { + "version": "2.1.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/has": { + "version": "1.0.3", + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=4.0" + "node": ">= 0.4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node_modules/has-bigints": { + "version": "1.0.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estraverse": { - "version": "4.3.0", + "node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "license": "MIT" + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/has-proto": { + "version": "1.0.3", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/etag": { - "version": "1.8.1", - "dev": true, + "node_modules/has-symbols": { + "version": "1.0.3", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/event-emitter": { - "version": "0.3.5", - "dev": true, + "node_modules/has-tostringtag": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/event-stream": { - "version": "3.3.5", + "node_modules/hash-base": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "duplexer": "^0.1.1", - "from": "^0.1.7", - "map-stream": "0.0.7", - "pause-stream": "^0.0.11", - "split": "^1.0.1", - "stream-combiner": "^0.2.2", - "through": "^2.3.8" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", + "node_modules/hash-sum": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/events": { - "version": "1.1.1", - "license": "MIT", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", + "node_modules/hash.js": { + "version": "1.1.7", "license": "MIT", "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/execa": { - "version": "5.1.1", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "dependencies": { + "function-bind": "^1.1.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", + "node_modules/he": { + "version": "1.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "he": "bin/he" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "dev": true, - "license": "(MIT OR WTFPL)", - "optional": true, + "node_modules/highlight.js": { + "version": "11.9.0", + "license": "BSD-3-Clause", "engines": { - "node": ">=6" + "node": ">=12.0.0" } }, - "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hosted-git-info": { + "version": "4.0.2", "dev": true, + "license": "ISC", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=10" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", + "node_modules/hpack.js": { + "version": "2.1.6", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/express/node_modules/encodeurl": { - "version": "2.0.0", + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", "dev": true, "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=18" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", + "node_modules/html-entities": { + "version": "2.3.2", "dev": true, "license": "MIT" }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.10", + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, "license": "MIT" }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "dev": true, + "node_modules/htmlparser2": { + "version": "8.0.2", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, - "node_modules/ext": { - "version": "1.6.0", + "node_modules/http-assert": { + "version": "1.5.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "type": "^2.5.0" + "deep-equal": "~1.0.1", + "http-errors": "~1.8.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", + "node_modules/http-assert/node_modules/http-errors": { + "version": "1.8.1", "dev": true, - "license": "ISC" - }, - "node_modules/fancy-log": { - "version": "1.3.3", "license": "MIT", "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.6" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "license": "BSD-2-Clause" }, - "node_modules/fast-fifo": { - "version": "1.3.2", + "node_modules/http-deceiver": { + "version": "1.2.7", "dev": true, "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.2", + "node_modules/http-errors": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.8" } }, - "node_modules/fast-json-patch": { - "version": "3.1.1", - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", "dev": true, - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", + "node_modules/http-parser-js": { + "version": "0.5.8", "dev": true, "license": "MIT" }, - "node_modules/fastq": { - "version": "1.13.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", + "node_modules/http-proxy": { + "version": "1.18.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "websocket-driver": ">=0.5.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=8.0.0" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", + "node_modules/http-proxy-agent": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "pend": "~1.2.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/fecha": { - "version": "4.2.1", - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/file-loader": { - "version": "6.2.0", + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "dev": true, + "node_modules/http2-wrapper": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.19.0" } }, - "node_modules/finalhandler": { - "version": "1.3.1", + "node_modules/https-proxy-agent": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">= 0.8" + "node": ">= 6" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", + "node_modules/human-signals": { + "version": "2.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" } }, - "node_modules/finalhandler/node_modules/encodeurl": { - "version": "2.0.0", + "node_modules/husky": { + "version": "9.0.7", "dev": true, "license": "MIT", + "bin": { + "husky": "bin.js" + }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "dev": true, + "node_modules/i18n-ts": { + "version": "1.0.5", "license": "MIT" }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "2.0.1", + "node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/find-up": { - "version": "5.0.0", + "node_modules/icss-utils": { + "version": "5.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, + "license": "ISC", "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/flat": { - "version": "5.0.2", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } + "node_modules/ieee754": { + "version": "1.1.13", + "license": "BSD-3-Clause" }, - "node_modules/flat-cache": { - "version": "3.0.4", + "node_modules/ignore": { + "version": "5.3.1", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 4" } }, - "node_modules/flatted": { - "version": "3.2.2", + "node_modules/immediate": { + "version": "3.0.6", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/fn.name": { - "version": "1.1.0", + "node_modules/immutable": { + "version": "4.3.0", "license": "MIT" }, - "node_modules/follow-redirects": { - "version": "1.15.6", + "node_modules/import-fresh": { + "version": "3.3.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/for-each": { - "version": "0.3.3", + "node_modules/import-local": { + "version": "3.0.3", + "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" }, - "engines": { - "node": ">=14" + "bin": { + "import-local-fixture": "fixtures/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "license": "ISC", + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.8.19" } }, - "node_modules/form-data": { + "node_modules/indent-string": { "version": "4.0.0", "dev": true, "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/forwarded": { - "version": "0.2.0", + "node_modules/interpret": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10.13.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "dev": true, + "node_modules/ip-regex": { + "version": "4.3.0", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/from": { - "version": "0.1.7", - "license": "MIT" - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "dev": true, - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", + "node_modules/ipaddr.js": { + "version": "2.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 10" } }, - "node_modules/function-bind": { - "version": "1.1.2", + "node_modules/is": { + "version": "3.3.0", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/is-arguments": { + "version": "1.1.1", "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12669,34 +14330,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", + "node_modules/is-arrayish": { + "version": "0.3.2", + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/geometry-interfaces": { - "version": "1.1.4", + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", + "node_modules/is-boolean-object": { + "version": "1.1.2", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12705,36 +14369,51 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stdin": { - "version": "8.0.0", + "node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT" + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", "dev": true, "license": "MIT", + "dependencies": { + "builtin-modules": "^3.3.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream": { - "version": "5.2.0", + "node_modules/is-callable": { + "version": "1.2.4", "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", + "node_modules/is-core-module": { + "version": "2.9.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12743,232 +14422,203 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/github-from-package": { - "version": "0.0.0", + "node_modules/is-deflate": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/is-directory": { + "version": "0.3.1", "dev": true, "license": "MIT", - "optional": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/glob": { - "version": "10.3.10", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, + "node_modules/is-docker": { + "version": "2.2.1", + "dev": true, + "license": "MIT", "bin": { - "glob": "dist/esm/bin.mjs" + "is-docker": "cli.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", + "node_modules/is-generator-function": { + "version": "1.0.10", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globals": { - "version": "13.24.0", + "node_modules/is-glob": { + "version": "4.0.3", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/is-gzip": { + "version": "1.0.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/is-nan": { + "version": "1.3.2", "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gopd": { - "version": "1.0.1", + "node_modules/is-negative-zero": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got": { - "version": "11.8.5", + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", "license": "MIT", "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10.19.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/graphemer": { - "version": "1.4.0", + "node_modules/is-plain-obj": { + "version": "2.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/gunzip-maybe": { - "version": "1.4.2", + "node_modules/is-plain-object": { + "version": "2.0.4", "dev": true, "license": "MIT", "dependencies": { - "browserify-zlib": "^0.1.4", - "is-deflate": "^1.0.0", - "is-gzip": "^1.0.0", - "peek-stream": "^1.1.0", - "pumpify": "^1.3.3", - "through2": "^2.0.3" + "isobject": "^3.0.1" }, - "bin": { - "gunzip-maybe": "bin.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/handle-thing": { - "version": "2.0.1", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/hard-rejection": { - "version": "2.1.0", + "node_modules/is-promise": { + "version": "2.2.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/has": { - "version": "1.0.3", + "node_modules/is-regex": { + "version": "1.1.4", "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "license": "MIT", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { + "node_modules/is-shared-array-buffer": { "version": "1.0.2", "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", + "node_modules/is-stream": { + "version": "2.0.1", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "node_modules/is-string": { + "version": "1.0.7", "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -12976,8 +14626,8 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", + "node_modules/is-symbol": { + "version": "1.0.4", "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" @@ -12989,826 +14639,837 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-sum": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.2", + "node_modules/is-typed-array": { + "version": "1.1.9", "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", + "node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/highlight.js": { - "version": "11.9.0", - "license": "BSD-3-Clause", "engines": { - "node": ">=12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "node_modules/is-url": { + "version": "1.2.4", + "license": "MIT" }, - "node_modules/hosted-git-info": { - "version": "4.0.2", - "dev": true, - "license": "ISC", + "node_modules/is-weakref": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hpack.js": { - "version": "2.1.6", + "node_modules/is-wsl": { + "version": "2.2.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "dev": true, + "node_modules/is2": { + "version": "2.0.7", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "deep-is": "^0.1.3", + "ip-regex": "^4.1.0", + "is-url": "^1.2.4" + }, + "engines": { + "node": ">=v0.10.0" } }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, + "node_modules/isarray": { + "version": "1.0.0", "license": "MIT" }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", + "node_modules/isobject": { + "version": "3.0.1", "dev": true, "license": "MIT", - "dependencies": { - "whatwg-encoding": "^3.1.1" - }, "engines": { - "node": ">=18" + "node": ">=0.10.0" } }, - "node_modules/html-entities": { - "version": "2.3.2", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", "dev": true, - "license": "MIT" - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/http-assert": { - "version": "1.5.0", + "node_modules/istanbul-reports": { + "version": "3.1.6", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "deep-equal": "~1.0.1", - "http-errors": "~1.8.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/http-assert/node_modules/http-errors": { - "version": "1.8.1", - "dev": true, - "license": "MIT", + "node_modules/jackspeak": { + "version": "2.3.6", + "license": "BlueOak-1.0.0", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">= 0.6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", + "node_modules/jest-worker": { + "version": "27.5.1", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 10.13.0" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/jmespath": { + "version": "0.16.0", + "license": "Apache-2.0", "engines": { - "node": ">= 0.8" + "node": ">= 0.6.0" } }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "dev": true, - "license": "MIT" + "node_modules/jose": { + "version": "5.4.1", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } }, - "node_modules/http-proxy": { - "version": "1.18.1", + "node_modules/joycon": { + "version": "3.0.1", "dev": true, "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", + "node_modules/js-tokens": { + "version": "4.0.0", "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 6" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", + "node_modules/jsdom": { + "version": "23.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "cssstyle": "^3.0.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.7", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.14.2", + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=18" }, "peerDependencies": { - "@types/express": "^4.17.13" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { - "@types/express": { + "canvas": { "optional": true } } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", + "node_modules/jsdom/node_modules/agent-base": { + "version": "7.1.0", "dev": true, "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, "engines": { - "node": ">=10" + "node": ">= 14" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 14" } }, - "node_modules/http2-wrapper": { - "version": "1.0.3", + "node_modules/jsdom/node_modules/https-proxy-agent": { + "version": "7.0.2", + "dev": true, "license": "MIT", "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">=10.19.0" + "node": ">= 14" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", + "node_modules/json-buffer": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-to-typescript": { + "version": "13.1.1", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "@bcherny/json-schema-ref-parser": "10.0.5-fork", + "@types/json-schema": "^7.0.11", + "@types/lodash": "^4.14.182", + "@types/prettier": "^2.6.1", + "cli-color": "^2.0.2", + "get-stdin": "^8.0.0", + "glob": "^7.1.6", + "glob-promise": "^4.2.2", + "is-glob": "^4.0.3", + "lodash": "^4.17.21", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "mz": "^2.7.0", + "prettier": "^2.6.2" + }, + "bin": { + "json2ts": "dist/src/cli.js" }, "engines": { - "node": ">= 6" + "node": ">=12.0.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", + "node_modules/json-schema-to-typescript/node_modules/@types/glob": { + "version": "7.2.0", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/husky": { - "version": "9.0.7", + "node_modules/json-schema-to-typescript/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", - "bin": { - "husky": "bin.js" + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=18" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/typicode" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/i18n-ts": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/json-schema-to-typescript/node_modules/glob-promise": { + "version": "4.2.2", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "@types/glob": "^7.1.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/ahmadnassri" + }, + "peerDependencies": { + "glob": "^7.1.6" } }, - "node_modules/icss-utils": { - "version": "5.1.0", + "node_modules/json-schema-to-typescript/node_modules/mkdirp": { + "version": "1.0.4", "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" }, - "peerDependencies": { - "postcss": "^8.1.0" + "engines": { + "node": ">=10" } }, - "node_modules/ieee754": { - "version": "1.1.13", - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.1", + "node_modules/json-schema-to-typescript/node_modules/prettier": { + "version": "2.8.8", "dev": true, "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, "engines": { - "node": ">= 4" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/immediate": { - "version": "3.0.6", + "node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, "license": "MIT" }, - "node_modules/immutable": { - "version": "4.3.0", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, "license": "MIT" }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/json5": { + "version": "2.2.3", "dev": true, "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { - "version": "3.0.3", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/jszip": { + "version": "3.10.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "ISC", - "optional": true - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } + "license": "MIT" }, - "node_modules/interpret": { - "version": "3.1.1", + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.13.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/ip-regex": { - "version": "4.3.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/just-clone": { + "version": "6.2.0", + "license": "MIT" }, - "node_modules/ipaddr.js": { - "version": "2.0.1", + "node_modules/just-extend": { + "version": "4.2.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is": { - "version": "3.3.0", - "license": "MIT", - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/is-arguments": { - "version": "1.1.1", + "node_modules/keygrip": { + "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "tsscmp": "1.0.6" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "license": "MIT" + "node_modules/keytar": { + "version": "7.9.0", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/keyv": { + "version": "4.0.3", "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "json-buffer": "3.0.1" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/kind-of": { + "version": "6.0.3", "dev": true, "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "node_modules/koa": { + "version": "2.15.3", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.9.0", + "debug": "^4.3.2", + "delegates": "^1.0.0", + "depd": "^2.0.0", + "destroy": "^1.0.4", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^2.0.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4" } }, - "node_modules/is-buffer": { - "version": "1.1.6", + "node_modules/koa-compose": { + "version": "4.1.0", "dev": true, "license": "MIT" }, - "node_modules/is-builtin-module": { - "version": "3.2.1", + "node_modules/koa-convert": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "builtin-modules": "^3.3.0" + "co": "^4.6.0", + "koa-compose": "^4.1.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "node_modules/is-callable": { - "version": "1.2.4", + "node_modules/koa-morgan": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "morgan": "^1.6.1" } }, - "node_modules/is-core-module": { - "version": "2.9.0", + "node_modules/koa-mount": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "has": "^1.0.3" + "debug": "^4.0.1", + "koa-compose": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 7.6.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "node_modules/koa-send": { + "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "debug": "^4.1.1", + "http-errors": "^1.7.3", + "resolve-path": "^1.4.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/is-deflate": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/is-directory": { - "version": "0.3.1", + "node_modules/koa-send/node_modules/http-errors": { + "version": "1.8.1", "dev": true, "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/koa-static": { + "version": "5.0.0", "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "debug": "^3.1.0", + "koa-send": "^5.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 7.6.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/koa-static/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/koa/node_modules/depd": { + "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/koa/node_modules/http-errors": { + "version": "1.8.1", + "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/koa/node_modules/http-errors/node_modules/depd": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/is-gzip": { - "version": "1.0.0", + "node_modules/kuler": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/launch-editor": { + "version": "2.6.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" } }, - "node_modules/is-nan": { - "version": "1.3.2", + "node_modules/leven": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", + "node_modules/levn": { + "version": "0.4.1", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/lie": { + "version": "3.3.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.12.0" + "dependencies": { + "immediate": "~3.0.5" } }, - "node_modules/is-number-object": { - "version": "1.0.7", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "4.0.1", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "uc.micro": "^1.0.1" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", + "node_modules/loader-runner": { + "version": "4.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.11.5" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", + "node_modules/loader-utils": { + "version": "2.0.4", "dev": true, "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, "engines": { - "node": ">=8" + "node": ">=8.9.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", + "node_modules/locate-path": { + "version": "6.0.0", "dev": true, "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", "dev": true, "license": "MIT" }, - "node_modules/is-promise": { - "version": "2.2.2", + "node_modules/lodash.merge": { + "version": "4.6.2", "dev": true, "license": "MIT" }, - "node_modules/is-regex": { - "version": "1.1.4", + "node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", + "node_modules/logform": { + "version": "2.4.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@colors/colors": "1.5.0", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", + "node_modules/lowercase-keys": { + "version": "2.0.0", "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "license": "MIT", + "node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "has-tostringtag": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-symbol": { - "version": "1.0.4", + "node_modules/lru-queue": { + "version": "0.1.0", + "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "es5-ext": "~0.10.2" } }, - "node_modules/is-typed-array": { - "version": "1.1.9", + "node_modules/magic-string": { + "version": "0.30.0", "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0" + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", + "node_modules/make-dir": { + "version": "4.0.0", "dev": true, "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, "engines": { "node": ">=10" }, @@ -13816,946 +15477,796 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-url": { - "version": "1.2.4", - "license": "MIT" + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" }, - "node_modules/is-weakref": { - "version": "1.0.2", + "node_modules/map-obj": { + "version": "4.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "dev": true, + "node_modules/map-stream": { + "version": "0.0.7", + "license": "MIT" + }, + "node_modules/markdown-it": { + "version": "13.0.2", "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" }, - "engines": { - "node": ">=8" + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/is2": { - "version": "2.0.7", - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - }, + "node_modules/markdown-it/node_modules/entities": { + "version": "3.0.1", + "license": "BSD-2-Clause", "engines": { - "node": ">=v0.10.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", + "node_modules/marked": { + "version": "13.0.1", "dev": true, "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 18" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", + "node_modules/md5": { + "version": "2.3.0", "dev": true, "license": "BSD-3-Clause", - "engines": { - "node": ">=8" + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/md5.js": { + "version": "1.3.5", + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", + "node_modules/mdurl": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "license": "BlueOak-1.0.0", + "node_modules/memfs": { + "version": "3.4.7", + "dev": true, + "license": "Unlicense", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "fs-monkey": "^1.0.3" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": ">= 4.0.0" } }, - "node_modules/jest-worker": { - "version": "27.5.1", + "node_modules/memoizee": { + "version": "0.4.15", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/meow": { + "version": "9.0.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "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" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "license": "Apache-2.0", + "node_modules/meow/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6.0" + "node": ">=0.10.0" } }, - "node_modules/jose": { - "version": "5.4.1", - "license": "MIT", + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/panva" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/joycon": { - "version": "3.0.1", + "node_modules/merge-descriptors": { + "version": "1.0.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/js-tokens": { - "version": "4.0.0", + "node_modules/merge-stream": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "23.0.1", + "node_modules/merge2": { + "version": "1.4.1", "dev": true, "license": "MIT", - "dependencies": { - "cssstyle": "^3.0.0", - "data-urls": "^5.0.0", - "decimal.js": "^10.4.3", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.7", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.3", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0", - "ws": "^8.14.2", - "xml-name-validator": "^5.0.0" - }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^2.11.2" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/jsdom/node_modules/agent-base": { - "version": "7.1.0", + "node_modules/methods": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">= 0.6" } }, - "node_modules/jsdom/node_modules/http-proxy-agent": { - "version": "7.0.0", + "node_modules/microbuffer": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } + "license": "MIT" }, - "node_modules/jsdom/node_modules/https-proxy-agent": { - "version": "7.0.2", + "node_modules/micromatch": { + "version": "4.0.8", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 14" + "node": ">=8.6" } }, - "node_modules/jsesc": { - "version": "3.0.2", - "dev": true, + "node_modules/miller-rabin": { + "version": "4.0.1", "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "engines": { - "node": ">=6" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", "license": "MIT" }, - "node_modules/json-schema-to-typescript": { - "version": "13.1.1", + "node_modules/mime": { + "version": "1.6.0", "dev": true, "license": "MIT", - "dependencies": { - "@bcherny/json-schema-ref-parser": "10.0.5-fork", - "@types/json-schema": "^7.0.11", - "@types/lodash": "^4.14.182", - "@types/prettier": "^2.6.1", - "cli-color": "^2.0.2", - "get-stdin": "^8.0.0", - "glob": "^7.1.6", - "glob-promise": "^4.2.2", - "is-glob": "^4.0.3", - "lodash": "^4.17.21", - "minimist": "^1.2.6", - "mkdirp": "^1.0.4", - "mz": "^2.7.0", - "prettier": "^2.6.2" - }, "bin": { - "json2ts": "dist/src/cli.js" + "mime": "cli.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=4" } }, - "node_modules/json-schema-to-typescript/node_modules/@types/glob": { - "version": "7.2.0", - "dev": true, + "node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/json-schema-to-typescript/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.6" } }, - "node_modules/json-schema-to-typescript/node_modules/glob-promise": { - "version": "4.2.2", - "dev": true, + "node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", "dependencies": { - "@types/glob": "^7.1.3" + "mime-db": "1.52.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/ahmadnassri" - }, - "peerDependencies": { - "glob": "^7.1.6" + "node": ">= 0.6" } }, - "node_modules/json-schema-to-typescript/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/json-schema-to-typescript/node_modules/prettier": { - "version": "2.8.8", - "dev": true, + "node_modules/mimic-response": { + "version": "1.0.1", "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "license": "ISC" }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "license": "MIT" + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/minimist-options": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 6" } }, - "node_modules/jszip": { - "version": "3.10.1", + "node_modules/minimist-options/node_modules/arrify": { + "version": "1.0.1", "dev": true, - "license": "(MIT OR GPL-3.0-or-later)", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" + "node_modules/minipass": { + "version": "7.0.4", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, + "node_modules/mkdirp": { + "version": "0.5.6", "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/just-clone": { - "version": "6.2.0", - "license": "MIT" - }, - "node_modules/just-extend": { - "version": "4.2.1", + "node_modules/mkdirp-classic": { + "version": "0.5.3", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, - "node_modules/keygrip": { - "version": "1.1.0", + "node_modules/mocha": { + "version": "10.1.0", "dev": true, "license": "MIT", "dependencies": { - "tsscmp": "1.0.6" + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 0.6" + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/keytar": { - "version": "7.9.0", + "node_modules/mocha-junit-reporter": { + "version": "2.2.1", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, "dependencies": { - "node-addon-api": "^4.3.0", - "prebuild-install": "^7.0.1" + "debug": "^4.3.4", + "md5": "^2.3.0", + "mkdirp": "^3.0.0", + "strip-ansi": "^6.0.1", + "xml": "^1.0.1" + }, + "peerDependencies": { + "mocha": ">=2.2.5" } }, - "node_modules/keyv": { - "version": "4.0.3", + "node_modules/mocha-junit-reporter/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/kind-of": { - "version": "6.0.3", + "node_modules/mocha-junit-reporter/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/koa": { - "version": "2.15.3", + "node_modules/mocha-junit-reporter/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "accepts": "^1.3.5", - "cache-content-type": "^1.0.0", - "content-disposition": "~0.5.2", - "content-type": "^1.0.4", - "cookies": "~0.9.0", - "debug": "^4.3.2", - "delegates": "^1.0.0", - "depd": "^2.0.0", - "destroy": "^1.0.4", - "encodeurl": "^1.0.2", - "escape-html": "^1.0.3", - "fresh": "~0.5.2", - "http-assert": "^1.3.0", - "http-errors": "^1.6.3", - "is-generator-function": "^1.0.7", - "koa-compose": "^4.1.0", - "koa-convert": "^2.0.0", - "on-finished": "^2.3.0", - "only": "~0.0.2", - "parseurl": "^1.3.2", - "statuses": "^1.5.0", - "type-is": "^1.6.16", - "vary": "^1.1.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4" + "node": ">=8" } }, - "node_modules/koa-compose": { - "version": "4.1.0", + "node_modules/mocha-multi-reporters": { + "version": "1.5.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "mocha": ">=3.1.2" + } }, - "node_modules/koa-convert": { - "version": "2.0.0", + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "co": "^4.6.0", - "koa-compose": "^4.1.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 10" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/koa-morgan": { - "version": "1.0.1", + "node_modules/mocha/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", "dependencies": { - "morgan": "^1.6.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/koa-mount": { - "version": "4.0.0", + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "debug": "^4.0.1", - "koa-compose": "^4.1.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 7.6.0" + "node": "*" } }, - "node_modules/koa-send": { + "node_modules/mocha/node_modules/minimatch": { "version": "5.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "debug": "^4.1.1", - "http-errors": "^1.7.3", - "resolve-path": "^1.4.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/koa-send/node_modules/http-errors": { - "version": "1.8.1", + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/koa-static": { - "version": "5.0.0", + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "debug": "^3.1.0", - "koa-send": "^5.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 7.6.0" + "node": ">=10" } }, - "node_modules/koa-static/node_modules/debug": { - "version": "3.2.7", + "node_modules/morgan": { + "version": "1.10.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/koa/node_modules/depd": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/koa/node_modules/http-errors": { - "version": "1.8.1", + "node_modules/morgan/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" + "ms": "2.0.0" } }, - "node_modules/koa/node_modules/http-errors/node_modules/depd": { - "version": "1.1.2", + "node_modules/morgan/node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/kuler": { + "node_modules/morgan/node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, - "node_modules/launch-editor": { - "version": "2.6.0", + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "dev": true, - "license": "MIT", + "ee-first": "1.1.1" + }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/mri": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/lie": { - "version": "3.3.0", + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", "dev": true, "license": "MIT", "dependencies": { - "immediate": "~3.0.5" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", + "node_modules/mute-stream": { + "version": "0.0.8", "dev": true, - "license": "MIT" - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } + "license": "ISC" }, - "node_modules/loader-runner": { - "version": "4.2.0", + "node_modules/mvdan-sh": { + "version": "0.10.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } + "license": "BSD-3-Clause" }, - "node_modules/loader-utils": { - "version": "2.0.4", + "node_modules/mz": { + "version": "2.7.0", "dev": true, "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/nanoid": { + "version": "3.3.3", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", + "node_modules/napi-build-utils": { + "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", + "node_modules/natural-compare": { + "version": "1.4.0", "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { - "version": "4.1.0", + "node_modules/neatequal": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/logform": { - "version": "2.4.0", - "license": "MIT", - "dependencies": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" + "varstream": "^0.3.2" } }, - "node_modules/lowercase-keys": { - "version": "2.0.0", + "node_modules/negotiator": { + "version": "0.6.3", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/neo-async": { + "version": "2.6.2", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/lru-queue": { - "version": "0.1.0", + "node_modules/next-tick": { + "version": "1.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "es5-ext": "~0.10.2" - } + "license": "ISC" }, - "node_modules/magic-string": { - "version": "0.30.0", - "license": "MIT", + "node_modules/nise": { + "version": "5.1.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": ">=5", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" } }, - "node_modules/make-dir": { - "version": "4.0.0", + "node_modules/node-abi": { + "version": "3.45.0", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "semver": "^7.5.3" + "semver": "^7.3.5" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-error": { - "version": "1.3.6", - "dev": true, - "license": "ISC" - }, - "node_modules/map-obj": { + "node_modules/node-addon-api": { "version": "4.3.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/map-stream": { - "version": "0.0.7", - "license": "MIT" + "optional": true }, - "node_modules/markdown-it": { - "version": "13.0.2", + "node_modules/node-fetch": { + "version": "2.7.0", "license": "MIT", "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "whatwg-url": "^5.0.0" }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "3.0.1", - "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/marked": { - "version": "13.0.1", - "dev": true, - "license": "MIT", - "bin": { - "marked": "bin/marked.js" + "peerDependencies": { + "encoding": "^0.1.0" }, - "engines": { - "node": ">= 18" + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/md5": { - "version": "2.3.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" }, - "node_modules/md5.js": { - "version": "1.3.5", + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/mdurl": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", + "node_modules/node-forge": { + "version": "1.3.1", "dev": true, - "license": "MIT", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { - "node": ">= 0.6" + "node": ">= 6.13.0" } }, - "node_modules/memfs": { - "version": "3.4.7", + "node_modules/node-releases": { + "version": "2.0.14", "dev": true, - "license": "Unlicense", + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "fs-monkey": "^1.0.3" + "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": ">= 4.0.0" + "node": ">=10" } }, - "node_modules/memoizee": { - "version": "0.4.15", + "node_modules/normalize-path": { + "version": "3.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/meow": { - "version": "9.0.0", - "dev": true, + "node_modules/normalize-url": { + "version": "6.1.0", "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "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" }, @@ -14763,964 +16274,1098 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/decamelize": { - "version": "1.2.0", + "node_modules/npm-run-path": { + "version": "4.0.1", "dev": true, "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", + "node_modules/nth-check": { + "version": "2.1.1", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", + "node_modules/nunjucks": { + "version": "3.2.4", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", + "node_modules/nwsapi": { + "version": "2.2.7", "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/object-assign": { + "version": "4.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/methods": { - "version": "1.1.2", - "dev": true, + "node_modules/object-inspect": { + "version": "1.13.2", "license": "MIT", "engines": { - "node": ">= 0.6" - } - }, - "node_modules/microbuffer": { - "version": "1.0.0", - "dev": true, - "license": "MIT" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/micromatch": { - "version": "4.0.8", + "node_modules/object-is": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", + "node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", "license": "MIT", "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", + "node_modules/obuf": { + "version": "1.1.2", + "dev": true, "license": "MIT" }, - "node_modules/mime": { - "version": "1.6.0", + "node_modules/on-finished": { + "version": "2.4.1", "dev": true, "license": "MIT", - "bin": { - "mime": "cli.js" + "dependencies": { + "ee-first": "1.1.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/mime-db": { - "version": "1.52.0", + "node_modules/on-headers": { + "version": "1.0.2", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" + "fn.name": "1.x.x" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/onetime": { + "version": "5.1.2", "dev": true, "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "1.0.1", + "node_modules/only": { + "version": "0.0.2", + "dev": true + }, + "node_modules/open": { + "version": "8.4.0", + "dev": true, "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/optionator": { + "version": "0.9.3", "dev": true, "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "license": "ISC" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", + "node_modules/os-browserify": { + "version": "0.3.0", "license": "MIT" }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "license": "MIT", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/minimist": { - "version": "1.2.8", + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimist-options": { - "version": "4.1.0", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimist-options/node_modules/arrify": { - "version": "1.0.1", + "node_modules/p-retry": { + "version": "4.6.1", "dev": true, "license": "MIT", + "dependencies": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", + "node_modules/p-try": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } + "node_modules/pako": { + "version": "1.0.11", + "dev": true, + "license": "(MIT AND Zlib)" }, - "node_modules/mkdirp": { - "version": "0.5.6", + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "callsites": "^3.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=6" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "dev": true, - "license": "MIT", - "optional": true + "node_modules/parse-asn1": { + "version": "5.1.6", + "license": "ISC", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } }, - "node_modules/mocha": { - "version": "10.1.0", + "node_modules/parse-json": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">= 0.10" } }, - "node_modules/mocha-junit-reporter": { - "version": "2.2.1", + "node_modules/parse-semver": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.3.4", - "md5": "^2.3.0", - "mkdirp": "^3.0.0", - "strip-ansi": "^6.0.1", - "xml": "^1.0.1" - }, - "peerDependencies": { - "mocha": ">=2.2.5" + "semver": "^5.1.0" } }, - "node_modules/mocha-junit-reporter/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/parse-semver/node_modules/semver": { + "version": "5.7.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/mocha-junit-reporter/node_modules/mkdirp": { - "version": "3.0.1", + "node_modules/parse-srcset": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.1.2", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "entities": "^4.4.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/mocha-junit-reporter/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "domhandler": "^5.0.2", + "parse5": "^7.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/mocha-multi-reporters": { - "version": "1.5.1", + "node_modules/parseurl": { + "version": "1.3.3", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "lodash": "^4.17.15" - }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "mocha": ">=3.1.2" + "node": ">= 0.8" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/path-browserify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=0.3.1" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.1.0", + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "1.9.0", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "isarray": "0.0.1" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "license": [ + "MIT", + "Apache2" + ], "dependencies": { - "brace-expansion": "^1.1.7" + "through": "~2.3" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": "*" + "node": ">=0.12" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", + "node_modules/peek-stream": { + "version": "1.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", + "node_modules/pend": { + "version": "1.2.0", "dev": true, "license": "MIT" }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/picocolors": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", + "node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "find-up": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/morgan": { - "version": "1.10.0", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "basic-auth": "~2.0.1", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-finished": "~2.3.0", - "on-headers": "~1.0.2" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/morgan/node_modules/debug": { - "version": "2.6.9", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/morgan/node_modules/depd": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "p-locate": "^4.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/morgan/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/morgan/node_modules/on-finished": { + "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mri": { - "version": "1.2.0", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", + "node_modules/playwright": { + "version": "1.44.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "playwright-core": "1.44.0" }, "bin": { - "multicast-dns": "cli.js" + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "dev": true, - "license": "ISC" - }, - "node_modules/mvdan-sh": { - "version": "0.10.1", + "node_modules/playwright-core": { + "version": "1.44.0", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } }, - "node_modules/mz": { - "version": "2.7.0", + "node_modules/pluralize": { + "version": "8.0.0", "dev": true, "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/nanoid": { - "version": "3.3.3", - "dev": true, + "node_modules/portfinder": { + "version": "1.0.32", "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.12.0" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "dev": true, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", "license": "MIT", - "optional": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "dependencies": { + "lodash": "^4.17.14" + } }, - "node_modules/neatequal": { - "version": "1.0.0", - "dev": true, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", "license": "MIT", "dependencies": { - "varstream": "^0.3.2" + "ms": "^2.1.1" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "dev": true, + "node_modules/postcss": { + "version": "8.4.33", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/nise": { - "version": "5.1.1", + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": ">=5", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/node-abi": { - "version": "3.45.0", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "semver": "^7.3.5" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/node-addon-api": { - "version": "4.3.0", + "node_modules/postcss-modules-scope": { + "version": "3.1.1", "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "license": "MIT", + "license": "ISC", "dependencies": { - "whatwg-url": "^5.0.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": "4.x || >=6.0.0" + "node": "^10 || ^12 || >= 14" }, "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "postcss": "^8.1.0" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/node-forge": { - "version": "1.3.1", + "node_modules/postcss-selector-parser": { + "version": "6.0.15", "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, "engines": { - "node": ">= 6.13.0" + "node": ">=4" } }, - "node_modules/node-releases": { - "version": "2.0.14", + "node_modules/postcss-value-parser": { + "version": "4.2.0", "dev": true, "license": "MIT" }, - "node_modules/normalize-package-data": { - "version": "3.0.3", + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.1", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": 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" + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" }, "engines": { "node": ">=10" } }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "license": "MIT", + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", + "node_modules/prettier-plugin-sh": { + "version": "0.14.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0" + "mvdan-sh": "^0.10.1", + "sh-syntax": "^0.4.1" + }, + "engines": { + "node": ">=16.0.0" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://opencollective.com/unts" + }, + "peerDependencies": { + "prettier": "^3.0.3" } }, - "node_modules/nunjucks": { - "version": "3.2.4", + "node_modules/pretty-quick": { + "version": "4.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "a-sync-waterfall": "^1.0.0", - "asap": "^2.0.3", - "commander": "^5.1.0" + "execa": "^5.1.1", + "find-up": "^5.0.0", + "ignore": "^5.3.0", + "mri": "^1.2.0", + "picocolors": "^1.0.0", + "picomatch": "^3.0.1", + "tslib": "^2.6.2" }, "bin": { - "nunjucks-precompile": "bin/precompile" + "pretty-quick": "lib/cli.mjs" }, "engines": { - "node": ">= 6.9.0" + "node": ">=14" }, "peerDependencies": { - "chokidar": "^3.3.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } + "prettier": "^3.0.0" } }, - "node_modules/nunjucks/node_modules/commander": { - "version": "5.1.0", + "node_modules/pretty-quick/node_modules/picomatch": { + "version": "3.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/nwsapi": { - "version": "2.2.7", - "dev": true, - "license": "MIT" + "node_modules/prismjs": { + "version": "1.29.0", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/private": { + "version": "0.1.8", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/object-inspect": { - "version": "1.13.2", + "node_modules/process": { + "version": "0.11.10", "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6.0" } }, - "node_modules/object-is": { - "version": "1.1.5", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 0.10" } }, - "node_modules/object.assign": { - "version": "4.1.4", + "node_modules/psl": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/obuf": { - "version": "1.1.2", - "dev": true, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", "license": "MIT" }, - "node_modules/on-finished": { - "version": "2.4.1", - "dev": true, + "node_modules/pump": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/on-headers": { - "version": "1.0.2", + "node_modules/pumpify": { + "version": "1.5.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "wrappy": "1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/one-time": { - "version": "1.0.0", + "node_modules/punycode": { + "version": "2.3.1", "license": "MIT", - "dependencies": { - "fn.name": "1.x.x" + "engines": { + "node": ">=6" } }, - "node_modules/onetime": { - "version": "5.1.2", + "node_modules/qs": { + "version": "6.13.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "mimic-fn": "^2.1.0" + "side-channel": "^1.0.6" }, "engines": { - "node": ">=6" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/only": { - "version": "0.0.2", - "dev": true + "node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" + } }, - "node_modules/open": { - "version": "8.4.0", + "node_modules/querystringify": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", "dev": true, + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.3", - "dev": true, + "node_modules/randombytes": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "license": "MIT" - }, - "node_modules/p-cancelable": { - "version": "2.1.1", + "node_modules/randomfill": { + "version": "1.0.4", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/p-limit": { - "version": "3.1.0", + "node_modules/range-parser": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/p-locate": { - "version": "5.0.0", + "node_modules/raw-body": { + "version": "2.5.2", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/p-retry": { - "version": "4.6.1", + "node_modules/rc": { + "version": "1.2.8", "dev": true, - "license": "MIT", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, "dependencies": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "rc": "cli.js" } }, - "node_modules/p-try": { - "version": "2.2.0", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pako": { - "version": "1.0.11", - "dev": true, - "license": "(MIT AND Zlib)" - }, - "node_modules/parent-module": { - "version": "1.0.1", + "node_modules/read": { + "version": "1.0.7", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "callsites": "^3.0.0" + "mute-stream": "~0.0.4" }, "engines": { - "node": ">=6" + "node": ">=0.8" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "license": "ISC", + "node_modules/read-pkg": { + "version": "5.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "@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/parse-json": { - "version": "5.2.0", + "node_modules/read-pkg-up": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" @@ -15729,991 +17374,971 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse-semver": { - "version": "1.1.1", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "semver": "^5.1.0" - } - }, - "node_modules/parse-semver/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/parse-srcset": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/parse5": { - "version": "7.1.2", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", + "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/path-key": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/path-parse": { - "version": "1.0.7", + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "license": "ISC", + "node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">= 6" } }, - "node_modules/path-to-regexp": { - "version": "1.9.0", + "node_modules/readdirp": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "isarray": "0.0.1" + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/readline-sync": { + "version": "1.4.10", "dev": true, "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/pause-stream": { - "version": "0.0.11", - "license": [ - "MIT", - "Apache2" - ], - "dependencies": { - "through": "~2.3" + "node": ">= 0.8.0" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", + "node_modules/recast": { + "version": "0.11.23", + "dev": true, "license": "MIT", "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" }, "engines": { - "node": ">=0.12" + "node": ">= 0.8" } }, - "node_modules/peek-stream": { - "version": "1.1.3", + "node_modules/recast/node_modules/ast-types": { + "version": "0.9.6", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "duplexify": "^3.5.0", - "through2": "^2.0.3" + "engines": { + "node": ">= 0.8" } }, - "node_modules/pend": { - "version": "1.2.0", + "node_modules/recast/node_modules/esprima": { + "version": "3.1.3", "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.1", - "license": "ISC" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/picomatch": { - "version": "2.3.1", + "node_modules/recast/node_modules/source-map": { + "version": "0.5.7", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/rechoir": { + "version": "0.8.0", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "resolve": "^1.20.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/redent": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/regexp-tree": { + "version": "0.1.27", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "bin": { + "regexp-tree": "bin/regexp-tree" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/regjsparser": { + "version": "0.10.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "p-limit": "^2.2.0" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=8" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/playwright": { - "version": "1.44.0", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.44.0" - }, "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "jsesc": "bin/jsesc" } }, - "node_modules/playwright-core": { - "version": "1.44.0", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=16" + "node": ">= 0.10" } }, - "node_modules/pluralize": { - "version": "8.0.0", - "dev": true, + "node_modules/request-light": { + "version": "0.2.5", "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "vscode-nls": "^4.1.1" } }, - "node_modules/portfinder": { - "version": "1.0.32", + "node_modules/request-light/node_modules/agent-base": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" + "es6-promisify": "^5.0.0" }, "engines": { - "node": ">= 0.12.0" + "node": ">= 4.0.0" } }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", + "node_modules/request-light/node_modules/debug": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "lodash": "^4.17.14" + "ms": "2.0.0" } }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", + "node_modules/request-light/node_modules/http-proxy-agent": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" } }, - "node_modules/postcss": { - "version": "8.4.33", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/request-light/node_modules/https-proxy-agent": { + "version": "2.2.4", "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "agent-base": "^4.3.0", + "debug": "^3.1.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">= 4.5.0" + } + }, + "node_modules/request-light/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/request-light/node_modules/vscode-nls": { + "version": "4.1.2", + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", + "node_modules/require-from-string": { + "version": "2.0.2", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", + "node_modules/requires-port": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.1", "dev": true, "license": "MIT", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "^10 || ^12 || >= 14" + "bin": { + "resolve": "bin/resolve" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-modules-scope": { - "version": "3.1.1", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "resolve-from": "^5.0.0" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", + "node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, "engines": { "node": ">=4" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", + "node_modules/resolve-path": { + "version": "1.4.0", "dev": true, - "license": "MIT" - }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.7", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "http-errors": "~1.6.2", + "path-is-absolute": "1.0.1" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.8" } }, - "node_modules/prebuild-install": { - "version": "7.1.1", + "node_modules/resolve-path/node_modules/http-errors": { + "version": "1.6.3", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/resolve-path/node_modules/inherits": { + "version": "2.0.3", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } + "license": "ISC" }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "node_modules/resolve-path/node_modules/setprototypeof": { + "version": "1.1.0", "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "license": "ISC" + }, + "node_modules/responselike": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", + "node_modules/retry": { + "version": "0.13.1", "dev": true, "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, "engines": { - "node": ">=6.0.0" + "node": ">= 4" } }, - "node_modules/prettier-plugin-sh": { - "version": "0.14.0", + "node_modules/reusify": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "mvdan-sh": "^0.10.1", - "sh-syntax": "^0.4.1" - }, "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - }, - "peerDependencies": { - "prettier": "^3.0.3" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/pretty-quick": { - "version": "4.0.0", + "node_modules/rimraf": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "execa": "^5.1.1", - "find-up": "^5.0.0", - "ignore": "^5.3.0", - "mri": "^1.2.0", - "picocolors": "^1.0.0", - "picomatch": "^3.0.1", - "tslib": "^2.6.2" + "glob": "^7.1.3" }, "bin": { - "pretty-quick": "lib/cli.mjs" - }, - "engines": { - "node": ">=14" + "rimraf": "bin.js" }, - "peerDependencies": { - "prettier": "^3.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pretty-quick/node_modules/picomatch": { - "version": "3.0.1", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/prismjs": { - "version": "1.29.0", + "node_modules/ripemd160": { + "version": "2.0.2", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/private": { - "version": "0.1.8", + "node_modules/rrweb-cssom": { + "version": "0.6.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/process": { - "version": "0.11.10", + "node_modules/run-parallel": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "engines": { - "node": ">= 0.6.0" + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "tslib": "^1.9.0" }, "engines": { - "node": ">= 0.10" + "npm": ">=2.0.0" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } + "license": "0BSD" }, - "node_modules/psl": { - "version": "1.9.0", - "dev": true, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/public-encrypt": { - "version": "4.0.3", + "node_modules/safe-stable-stringify": { + "version": "2.3.1", "license": "MIT", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">=10" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", + "node_modules/safer-buffer": { + "version": "2.1.2", "license": "MIT" }, - "node_modules/pump": { - "version": "3.0.0", + "node_modules/sanitize-html": { + "version": "2.13.0", "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "dev": true, + "node_modules/sanitize-html/node_modules/is-plain-object": { + "version": "5.0.0", "license": "MIT", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", + "node_modules/sass": { + "version": "1.69.5", "dev": true, "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "node_modules/qs": { - "version": "6.13.0", + "node_modules/sass-loader": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", + "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "neo-async": "^2.6.2" }, "engines": { - "node": ">=0.6" + "node": ">= 18.12.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/querystring": { - "version": "0.2.0", + "node_modules/sax": { + "version": "1.2.1", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">=v12.22.7" } }, - "node_modules/querystringify": { - "version": "2.2.0", + "node_modules/schema-utils": { + "version": "3.3.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } }, - "node_modules/queue-microtask": { - "version": "1.2.3", + "node_modules/select-hose": { + "version": "2.0.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, - "node_modules/queue-tick": { - "version": "1.0.1", + "node_modules/selfsigned": { + "version": "2.1.1", "dev": true, - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", "license": "MIT", + "dependencies": { + "node-forge": "^1" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" + "node_modules/semver": { + "version": "7.6.2", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/randomfill": { - "version": "1.0.4", + "node_modules/send": { + "version": "0.19.0", + "dev": true, "license": "MIT", "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/range-parser": { - "version": "1.2.1", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/raw-body": { - "version": "2.5.2", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, "engines": { "node": ">= 0.8" } }, - "node_modules/rc": { - "version": "1.2.8", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", "dev": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } + "license": "MIT" }, - "node_modules/rc/node_modules/strip-json-comments": { + "node_modules/send/node_modules/statuses": { "version": "2.0.1", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/read": { - "version": "1.0.7", + "node_modules/serialize-javascript": { + "version": "6.0.0", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" + "randombytes": "^2.1.0" } }, - "node_modules/read-pkg": { - "version": "5.2.0", + "node_modules/serve-index": { + "version": "1.9.1", "dev": true, "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "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" + "ms": "2.0.0" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-static": { + "version": "1.16.2", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, + "node_modules/set-function-length": { + "version": "1.2.2", "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", + "node_modules/setimmediate": { + "version": "1.0.5", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } + "license": "MIT" }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", + "node_modules/setprototypeof": { + "version": "1.2.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } + "license": "ISC" }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", + "node_modules/sh-syntax": { + "version": "0.4.2", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", + "node_modules/sha.js": { + "version": "2.4.11", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "engines": { - "node": ">= 6" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/shallow-clone": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "kind-of": "^6.0.2" }, "engines": { - "node": ">=8.10.0" + "node": ">=8" } }, - "node_modules/readline-sync": { - "version": "1.4.10", - "dev": true, + "node_modules/shebang-command": { + "version": "2.0.0", "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/recast": { - "version": "0.11.23", - "dev": true, + "node_modules/shebang-regex": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/recast/node_modules/ast-types": { - "version": "0.9.6", + "node_modules/shell-quote": { + "version": "1.8.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/recast/node_modules/esprima": { - "version": "3.1.3", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "shjs": "bin/shjs" }, "engines": { "node": ">=4" } }, - "node_modules/recast/node_modules/source-map": { - "version": "0.5.7", + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rechoir": { - "version": "0.8.0", + "node_modules/shelljs/node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.10" } }, - "node_modules/redent": { - "version": "3.0.0", + "node_modules/shelljs/node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, - "license": "MIT", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">=8" - } - }, - "node_modules/regexp-tree": { - "version": "0.1.27", - "dev": true, - "license": "MIT", - "bin": { - "regexp-tree": "bin/regexp-tree" + "node": ">= 0.10" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", + "node_modules/side-channel": { + "version": "1.0.6", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { "node": ">= 0.4" @@ -16722,3416 +18347,3682 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regjsparser": { - "version": "0.10.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", + "node_modules/signal-exit": { + "version": "3.0.7", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", "license": "ISC" }, - "node_modules/replace-ext": { + "node_modules/simple-concat": { "version": "1.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "engines": { - "node": ">= 0.10" - } + "optional": true }, - "node_modules/request-light": { - "version": "0.2.5", + "node_modules/simple-get": { + "version": "4.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", + "optional": true, "dependencies": { - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "vscode-nls": "^4.1.1" + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/request-light/node_modules/agent-base": { - "version": "4.3.0", + "node_modules/simple-swizzle": { + "version": "0.2.2", "license": "MIT", "dependencies": { - "es6-promisify": "^5.0.0" + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sinon": { + "version": "14.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^6.1.1", + "diff": "^5.0.0", + "nise": "^5.1.1", + "supports-color": "^7.2.0" }, - "engines": { - "node": ">= 4.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/request-light/node_modules/debug": { - "version": "3.1.0", - "license": "MIT", + "node_modules/sinon/node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "ms": "2.0.0" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/request-light/node_modules/http-proxy-agent": { - "version": "2.1.0", + "node_modules/slash": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "4", - "debug": "3.1.0" - }, "engines": { - "node": ">= 4.5.0" + "node": ">=8" } }, - "node_modules/request-light/node_modules/https-proxy-agent": { - "version": "2.2.4", + "node_modules/sockjs": { + "version": "0.3.24", + "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "engines": { - "node": ">= 4.5.0" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "node_modules/request-light/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "node_modules/request-light/node_modules/vscode-nls": { - "version": "4.1.2", + "node_modules/source-list-map": { + "version": "2.0.1", + "dev": true, "license": "MIT" }, - "node_modules/require-directory": { - "version": "2.1.1", - "license": "MIT", + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "node_modules/source-map-js": { + "version": "1.0.2", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.1", + "node_modules/source-map-support": { + "version": "0.5.21", "dev": true, "license": "MIT", "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" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "license": "MIT" + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true }, - "node_modules/resolve-cwd": { - "version": "3.0.0", + "node_modules/spdx-correct": { + "version": "3.1.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/spdx-exceptions": { + "version": "2.3.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "CC-BY-3.0" }, - "node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/resolve-path": { - "version": "1.4.0", + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", "dev": true, "license": "MIT", "dependencies": { - "http-errors": "~1.6.2", - "path-is-absolute": "1.0.1" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=6.0.0" } }, - "node_modules/resolve-path/node_modules/http-errors": { - "version": "1.6.3", + "node_modules/spdy-transport": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" } }, - "node_modules/resolve-path/node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/resolve-path/node_modules/setprototypeof": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/responselike": { - "version": "2.0.0", + "node_modules/split": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "lowercase-keys": "^2.0.0" + "through": "2" + }, + "engines": { + "node": "*" } }, - "node_modules/retry": { - "version": "0.13.1", - "dev": true, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/stack-trace": { + "version": "0.0.10", "license": "MIT", "engines": { - "node": ">= 4" + "node": "*" } }, - "node_modules/reusify": { - "version": "1.0.4", + "node_modules/statuses": { + "version": "1.5.0", "dev": true, "license": "MIT", "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/stream-browserify": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" } }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "node_modules/stream-buffers": { + "version": "3.0.2", + "license": "Unlicense", "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.10.0" } }, - "node_modules/ripemd160": { - "version": "2.0.2", + "node_modules/stream-combiner": { + "version": "0.2.2", "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "duplexer": "~0.1.1", + "through": "~2.3.4" } }, - "node_modules/rrweb-cssom": { - "version": "0.6.0", + "node_modules/stream-shift": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/run-parallel": { - "version": "1.2.0", + "node_modules/streamx": { + "version": "2.16.1", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-stable-stringify": { - "version": "2.3.1", + "node_modules/string_decoder": { + "version": "1.3.0", "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/sanitize-html": { - "version": "2.13.0", + "node_modules/string-width": { + "version": "4.2.3", "license": "MIT", "dependencies": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^8.0.0", - "is-plain-object": "^5.0.0", - "parse-srcset": "^1.0.2", - "postcss": "^8.3.11" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/sanitize-html/node_modules/is-plain-object": { - "version": "5.0.0", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sass": { - "version": "1.69.5", - "dev": true, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/sass-loader": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", - "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", - "dev": true, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "neo-async": "^2.6.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } + "node": ">=8" } }, - "node_modules/sax": { - "version": "1.2.1", - "license": "ISC" + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/saxes": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=v12.22.7" + "node": ">=8" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "dev": true, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "dev": true, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", "license": "MIT", "dependencies": { - "node-forge": "^1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semver": { - "version": "7.6.2", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/strip-ansi": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/send": { - "version": "0.19.0", - "dev": true, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "dev": true, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { + "node_modules/strip-final-newline": { "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", + "node_modules/strip-indent": { + "version": "3.0.0", "dev": true, "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", "license": "MIT" }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", + "node_modules/style-loader": { + "version": "3.3.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", + "node_modules/supports-color": { + "version": "7.2.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/serve-index": { - "version": "1.9.1", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", + "node_modules/svg-pathdata": { + "version": "6.0.3", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=12.0.0" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", + "node_modules/svg2ttf": { + "version": "6.0.3", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "@xmldom/xmldom": "^0.7.2", + "argparse": "^2.0.1", + "cubic2quad": "^1.2.1", + "lodash": "^4.17.10", + "microbuffer": "^1.0.0", + "svgpath": "^2.1.5" }, - "engines": { - "node": ">= 0.6" + "bin": { + "svg2ttf": "svg2ttf.js" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-static": { - "version": "1.16.2", + "node_modules/svgicons2svgfont": { + "version": "10.0.6", "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "commander": "^7.2.0", + "geometry-interfaces": "^1.1.4", + "glob": "^7.1.6", + "neatequal": "^1.0.0", + "readable-stream": "^3.4.0", + "sax": "^1.2.4", + "svg-pathdata": "^6.0.0" + }, + "bin": { + "svgicons2svgfont": "bin/svgicons2svgfont.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12.0.0" } }, - "node_modules/serve-static/node_modules/encodeurl": { - "version": "2.0.0", + "node_modules/svgicons2svgfont/node_modules/commander": { + "version": "7.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 10" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "license": "MIT", + "node_modules/svgicons2svgfont/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/setimmediate": { - "version": "1.0.5", + "node_modules/svgicons2svgfont/node_modules/sax": { + "version": "1.2.4", + "dev": true, + "license": "ISC" + }, + "node_modules/svgpath": { + "version": "2.5.0", "dev": true, "license": "MIT" }, - "node_modules/setprototypeof": { - "version": "1.2.0", + "node_modules/symbol-tree": { + "version": "3.2.4", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/sh-syntax": { - "version": "0.4.2", + "node_modules/synckit": { + "version": "0.8.8", "dev": true, "license": "MIT", "dependencies": { + "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/unts" } }, - "node_modules/sha.js": { - "version": "2.4.11", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", + "node_modules/tapable": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/tar-fs": { + "version": "2.1.1", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/tar-stream": { + "version": "2.2.0", + "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "dev": true, + "node_modules/tcp-port-used": { + "version": "1.0.2", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "debug": "4.3.1", + "is2": "^2.0.6" } }, - "node_modules/side-channel": { - "version": "1.0.6", + "node_modules/tcp-port-used/node_modules/debug": { + "version": "4.3.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "ms": "2.1.2" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/simple-get": { - "version": "4.0.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "peerDependenciesMeta": { + "supports-color": { + "optional": true } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "license": "MIT", + "node_modules/terser": { + "version": "5.31.6", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "is-arrayish": "^0.3.1" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "node_modules/sinon": { - "version": "14.0.0", + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^6.1.1", - "diff": "^5.0.0", - "nise": "^5.1.1", - "supports-color": "^7.2.0" + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/sinon" + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/sinon/node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.2", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "randombytes": "^2.1.0" } }, - "node_modules/slash": { - "version": "3.0.0", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, "engines": { "node": ">=8" } }, - "node_modules/sockjs": { - "version": "0.3.24", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } + "node_modules/text-hex": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/source-list-map": { - "version": "2.0.1", + "node_modules/text-table": { + "version": "0.2.0", "dev": true, "license": "MIT" }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/thenify": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" } }, - "node_modules/source-map-js": { - "version": "1.0.2", - "license": "BSD-3-Clause", + "node_modules/thenify-all": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/source-map-support": { - "version": "0.5.21", + "node_modules/through": { + "version": "2.3.8", + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "CC-BY-3.0" + "license": "MIT" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", + "node_modules/thunky": { + "version": "1.1.0", "dev": true, - "license": "CC0-1.0" + "license": "MIT" }, - "node_modules/spdy": { - "version": "4.0.2", - "dev": true, + "node_modules/time-stamp": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", + "node_modules/timers-ext": { + "version": "0.1.7", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "es5-ext": "~0.10.46", + "next-tick": "1" } }, - "node_modules/split": { - "version": "1.0.1", + "node_modules/tmp": { + "version": "0.2.1", + "dev": true, "license": "MIT", "dependencies": { - "through": "2" + "rimraf": "^3.0.0" }, "engines": { - "node": "*" + "node": ">=8.17.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" - }, - "node_modules/stack-trace": { - "version": "0.0.10", + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": "*" + "node": ">=8.0" } }, - "node_modules/statuses": { - "version": "1.5.0", + "node_modules/toidentifier": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=0.6" } }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "license": "MIT", + "node_modules/tough-cookie": { + "version": "4.1.3", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - } - }, - "node_modules/stream-buffers": { - "version": "3.0.2", - "license": "Unlicense", + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, "engines": { - "node": ">= 0.10.0" + "node": ">=6" } }, - "node_modules/stream-combiner": { - "version": "0.2.2", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "dev": true, "license": "MIT", - "dependencies": { - "duplexer": "~0.1.1", - "through": "~2.3.4" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/streamx": { - "version": "2.16.1", - "dev": true, + "node_modules/tr46": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" + "punycode": "^2.3.1" }, - "optionalDependencies": { - "bare-events": "^2.2.0" + "engines": { + "node": ">=18" } }, - "node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/string-width": { - "version": "4.2.3", + "node_modules/trim-newlines": { + "version": "3.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/triple-beam": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/ts-morph": { + "version": "23.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@ts-morph/common": "~0.24.0", + "code-block-writer": "^13.0.1" } }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "@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" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">=0.3.1" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/tsscmp": { + "version": "1.0.6", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.6.x" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", + "node_modules/ttf2eot": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "argparse": "^1.0.6", + "microbuffer": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "ttf2eot": "ttf2eot.js" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", + "node_modules/ttf2eot/node_modules/argparse": { + "version": "1.0.10", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "sprintf-js": "~1.0.2" } }, - "node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/ttf2woff": { + "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "argparse": "^1.0.6", + "microbuffer": "^1.0.0", + "pako": "^1.0.0" }, - "engines": { - "node": ">=6" + "bin": { + "ttf2woff": "ttf2woff.js" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/ttf2woff/node_modules/argparse": { + "version": "1.0.10", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "sprintf-js": "~1.0.2" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/tunnel": { + "version": "0.0.6", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/tunnel-agent": { + "version": "0.6.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/strip-indent": { - "version": "3.0.0", + "node_modules/type": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", "dev": true, "license": "MIT", "dependencies": { - "min-indent": "^1.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/type-detect": { + "version": "4.0.8", "dev": true, "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/style-loader": { - "version": "3.3.3", + "node_modules/type-fest": { + "version": "0.8.1", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node": ">=8" } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/type-is": { + "version": "1.6.18", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/typed-rest-client": { + "version": "1.8.11", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" } }, - "node_modules/svg-pathdata": { - "version": "6.0.3", + "node_modules/typescript": { + "version": "5.0.4", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=12.0.0" + "node": ">=12.20" } }, - "node_modules/svg2ttf": { - "version": "6.0.3", + "node_modules/uc.micro": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/umd-compat-loader": { + "version": "2.1.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@xmldom/xmldom": "^0.7.2", - "argparse": "^2.0.1", - "cubic2quad": "^1.2.1", - "lodash": "^4.17.10", - "microbuffer": "^1.0.0", - "svgpath": "^2.1.5" - }, - "bin": { - "svg2ttf": "svg2ttf.js" + "ast-types": "^0.9.2", + "loader-utils": "^1.0.3", + "recast": "^0.11.17" } }, - "node_modules/svgicons2svgfont": { - "version": "10.0.6", + "node_modules/umd-compat-loader/node_modules/json5": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "commander": "^7.2.0", - "geometry-interfaces": "^1.1.4", - "glob": "^7.1.6", - "neatequal": "^1.0.0", - "readable-stream": "^3.4.0", - "sax": "^1.2.4", - "svg-pathdata": "^6.0.0" + "minimist": "^1.2.0" }, "bin": { - "svgicons2svgfont": "bin/svgicons2svgfont.js" - }, - "engines": { - "node": ">=12.0.0" + "json5": "lib/cli.js" } }, - "node_modules/svgicons2svgfont/node_modules/commander": { - "version": "7.2.0", + "node_modules/umd-compat-loader/node_modules/loader-utils": { + "version": "1.4.2", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/svgicons2svgfont/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4.0.0" } }, - "node_modules/svgicons2svgfont/node_modules/sax": { - "version": "1.2.4", - "dev": true, - "license": "ISC" + "node_modules/unbox-primitive": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/svgpath": { - "version": "2.5.0", + "node_modules/underscore": { + "version": "1.13.6", "dev": true, "license": "MIT" }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "dev": true, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "node_modules/unescape-html": { + "version": "1.1.0", "license": "MIT" }, - "node_modules/synckit": { - "version": "0.8.8", + "node_modules/universalify": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">= 10.0.0" } }, - "node_modules/tapable": { - "version": "2.2.1", + "node_modules/unpipe": { + "version": "1.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/tar-fs": { - "version": "2.1.1", + "node_modules/update-browserslist-db": { + "version": "1.0.16", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", - "optional": true, "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/tar-stream": { - "version": "2.2.0", + "node_modules/uri-js": { + "version": "4.4.1", "dev": true, - "license": "MIT", - "optional": true, + "license": "BSD-2-Clause", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "punycode": "^2.1.0" } }, - "node_modules/tcp-port-used": { - "version": "1.0.2", + "node_modules/url": { + "version": "0.10.3", "license": "MIT", "dependencies": { - "debug": "4.3.1", - "is2": "^2.0.6" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/tcp-port-used/node_modules/debug": { - "version": "4.3.1", + "node_modules/url-join": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/url-parse": { + "version": "1.5.10", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/terser": { - "version": "5.31.6", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/util": { + "version": "0.12.5", + "license": "MIT", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node": ">= 0.4.0" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", "dev": true, "license": "MIT" }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/v8-to-istanbul": { + "version": "9.2.0", "dev": true, "license": "ISC", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.12.0" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/varstream": { + "version": "0.3.2", + "dev": true, + "dependencies": { + "readable-stream": "^1.0.33" }, - "engines": { - "node": "*" + "bin": { + "json2varstream": "cli/json2varstream.js", + "varstream2json": "cli/varstream2json.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.*" } }, - "node_modules/text-hex": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", + "node_modules/varstream/node_modules/isarray": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/thenify": { - "version": "3.3.1", + "node_modules/varstream/node_modules/readable-stream": { + "version": "1.1.14", "dev": true, "license": "MIT", "dependencies": { - "any-promise": "^1.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/thenify-all": { - "version": "1.6.0", + "node_modules/varstream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, "engines": { - "node": ">=0.8" + "node": ">= 0.8" } }, - "node_modules/through": { - "version": "2.3.8", - "license": "MIT" - }, - "node_modules/through2": { - "version": "2.0.5", - "dev": true, + "node_modules/vinyl": { + "version": "2.2.1", "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, + "node_modules/vscode-json-languageservice": { + "version": "5.3.5", "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@vscode/l10n": "^0.0.13", + "jsonc-parser": "^3.2.0", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3", + "vscode-uri": "^3.0.7" } }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, + "node_modules/vscode-json-languageservice/node_modules/vscode-uri": { + "version": "3.0.7", "license": "MIT" }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, + "node_modules/vscode-jsonrpc": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=8.0.0 || >=10.0.0" } }, - "node_modules/thunky": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/time-stamp": { - "version": "1.1.0", + "node_modules/vscode-languageclient": { + "version": "6.1.4", "license": "MIT", + "dependencies": { + "semver": "^6.3.0", + "vscode-languageserver-protocol": "3.15.3" + }, "engines": { - "node": ">=0.10.0" + "vscode": "^1.41.0" } }, - "node_modules/timers-ext": { - "version": "0.1.7", - "dev": true, + "node_modules/vscode-languageclient/node_modules/semver": { + "version": "6.3.1", "license": "ISC", - "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/tmp": { - "version": "0.2.1", - "dev": true, + "node_modules/vscode-languageserver": { + "version": "6.1.1", "license": "MIT", "dependencies": { - "rimraf": "^3.0.0" + "vscode-languageserver-protocol": "^3.15.3" }, - "engines": { - "node": ">=8.17.0" + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, + "node_modules/vscode-languageserver-protocol": { + "version": "3.15.3", "license": "MIT", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "vscode-jsonrpc": "^5.0.1", + "vscode-languageserver-types": "3.15.1" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "dev": true, + "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.15.1", + "license": "MIT" + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "license": "MIT" + }, + "node_modules/vscode-nls-dev": { + "version": "4.0.4", "license": "MIT", - "engines": { - "node": ">=0.6" + "dependencies": { + "ansi-colors": "^4.1.1", + "clone": "^2.1.2", + "event-stream": "^3.3.4", + "fancy-log": "^1.3.3", + "glob": "^7.2.0", + "iconv-lite": "^0.6.3", + "is": "^3.3.0", + "source-map": "^0.6.1", + "typescript": "^4.5.4", + "vinyl": "^2.2.1", + "xml2js": "^0.5.0", + "yargs": "^17.3.0" + }, + "bin": { + "vscl": "lib/vscl.js" } }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/vscode-nls-dev/node_modules/glob": { + "version": "7.2.3", + "license": "ISC", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=6" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "dev": true, + "node_modules/vscode-nls-dev/node_modules/iconv-lite": { + "version": "0.6.3", "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/tr46": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" + "node_modules/vscode-nls-dev/node_modules/typescript": { + "version": "4.9.5", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=18" + "node": ">=4.2.0" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "dev": true, + "node_modules/vscode-nls-dev/node_modules/xml2js": { + "version": "0.5.0", "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/triple-beam": { - "version": "1.3.0", + "node_modules/vscode-uri": { + "version": "2.1.2", "license": "MIT" }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-morph": { - "version": "23.0.0", - "dev": true, + "node_modules/vue": { + "version": "3.3.4", "license": "MIT", "dependencies": { - "@ts-morph/common": "~0.24.0", - "code-block-writer": "^13.0.1" + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "node_modules/vue-loader": { + "version": "17.2.2", "dev": true, + "license": "MIT", "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" + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "webpack": "^4.1.0 || ^5.0.0-0" }, "peerDependenciesMeta": { - "@swc/core": { + "@vue/compiler-sfc": { "optional": true }, - "@swc/wasm": { + "vue": { "optional": true } } }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", + "node_modules/vue-style-loader": { + "version": "4.1.3", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "license": "MIT", + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" } }, - "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/tsscmp": { - "version": "1.0.6", + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.x" - } + "license": "MIT" }, - "node_modules/ttf2eot": { - "version": "2.0.0", + "node_modules/vue-style-loader/node_modules/json5": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.6", - "microbuffer": "^1.0.0" + "minimist": "^1.2.0" }, "bin": { - "ttf2eot": "ttf2eot.js" + "json5": "lib/cli.js" } }, - "node_modules/ttf2eot/node_modules/argparse": { - "version": "1.0.10", + "node_modules/vue-style-loader/node_modules/loader-utils": { + "version": "1.4.2", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/ttf2woff": { - "version": "2.0.2", + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.6", - "microbuffer": "^1.0.0", - "pako": "^1.0.0" + "xml-name-validator": "^5.0.0" }, - "bin": { - "ttf2woff": "ttf2woff.js" + "engines": { + "node": ">=18" } }, - "node_modules/ttf2woff/node_modules/argparse": { - "version": "1.0.10", + "node_modules/watchpack": { + "version": "2.4.2", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/tunnel": { - "version": "0.0.6", + "node_modules/wawoff2": { + "version": "2.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "woff2_compress.js": "bin/woff2_compress.js", + "woff2_decompress.js": "bin/woff2_decompress.js" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", + "node_modules/wbuf": { + "version": "1.7.3", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" + "minimalistic-assert": "^1.0.0" } }, - "node_modules/type": { - "version": "1.2.0", - "dev": true, - "license": "ISC" + "node_modules/web-toolkit": { + "resolved": "packages/core/src/web", + "link": true }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/web-tree-sitter": { + "version": "0.20.8", + "license": "MIT" + }, + "node_modules/webfont": { + "version": "11.2.26", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "cosmiconfig": "^5.2.0", + "deepmerge": "^4.2.2", + "globby": "^11.0.0", + "meow": "^9.0.0", + "nunjucks": "^3.2.3", + "p-limit": "^3.1.0", + "parse-json": "^5.2.0", + "resolve-from": "^5.0.0", + "svg2ttf": "^6.0.2", + "svgicons2svgfont": "^10.0.3", + "ttf2eot": "^2.0.0", + "ttf2woff": "^2.0.2", + "wawoff2": "^2.0.0", + "xml2js": "^0.4.23" + }, + "bin": { + "webfont": "dist/cli.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 12.0.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/webfont/node_modules/resolve-from": { + "version": "5.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/type-is": { - "version": "1.6.18", + "node_modules/webfont/node_modules/xml2js": { + "version": "0.5.0", "dev": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=4.0.0" } }, - "node_modules/typed-rest-client": { - "version": "1.8.11", - "dev": true, - "license": "MIT", - "dependencies": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" + "node_modules/webidl-conversions": { + "version": "7.0.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" } }, - "node_modules/typescript": { - "version": "5.0.4", + "node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, - "license": "Apache-2.0", + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=12.20" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/umd-compat-loader": { - "version": "2.1.2", + "node_modules/webpack-cli": { + "version": "5.1.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "ast-types": "^0.9.2", - "loader-utils": "^1.0.3", - "recast": "^0.11.17" + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/umd-compat-loader/node_modules/json5": { - "version": "1.0.2", + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", "dev": true, "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=14" } }, - "node_modules/umd-compat-loader/node_modules/loader-utils": { - "version": "1.4.2", + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", "dev": true, "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/underscore": { - "version": "1.13.6", - "dev": true, - "license": "MIT" - }, - "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==", - "license": "MIT" - }, - "node_modules/unescape-html": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/universalify": { - "version": "2.0.0", + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/unpipe": { + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { "version": "1.0.0", "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "dev": true, "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.16", + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" }, "bin": { - "update-browserslist-db": "cli.js" + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "browserslist": ">= 4.21.0" + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } } }, - "node_modules/uri-js": { - "version": "4.4.1", + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.8.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/url": { - "version": "0.10.3", + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "dev": true, "license": "MIT", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/url-join": { - "version": "4.0.1", + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/url-parse": { - "version": "1.5.10", + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "license": "MIT" - }, - "node_modules/util": { - "version": "0.12.5", + "node_modules/webpack-merge": { + "version": "5.10.0", + "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", + "node_modules/webpack-sources": { + "version": "2.3.1", "dev": true, "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/events": { + "version": "3.3.0", + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", + "node_modules/websocket-driver": { + "version": "0.7.4", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" }, "engines": { - "node": ">=10.12.0" + "node": ">=0.8.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", + "node_modules/websocket-extensions": { + "version": "0.1.4", "dev": true, "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/varstream": { - "version": "0.3.2", + "node_modules/whatwg-encoding": { + "version": "3.1.1", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "^1.0.33" - }, - "bin": { - "json2varstream": "cli/json2varstream.js", - "varstream2json": "cli/varstream2json.js" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">=0.10.*" + "node": ">=18" } }, - "node_modules/varstream/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/varstream/node_modules/readable-stream": { - "version": "1.1.14", + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/varstream/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", + "node_modules/whatwg-mimetype": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=18" } }, - "node_modules/vinyl": { - "version": "2.2.1", + "node_modules/whatwg-url": { + "version": "14.0.0", "license": "MIT", "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=18" } }, - "node_modules/vscode-json-languageservice": { - "version": "5.3.5", - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", "dependencies": { - "@vscode/l10n": "^0.0.13", - "jsonc-parser": "^3.2.0", - "vscode-languageserver-textdocument": "^1.0.8", - "vscode-languageserver-types": "^3.17.3", - "vscode-uri": "^3.0.7" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/vscode-json-languageservice/node_modules/vscode-uri": { - "version": "3.0.7", - "license": "MIT" - }, - "node_modules/vscode-jsonrpc": { - "version": "5.0.1", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">=8.0.0 || >=10.0.0" + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vscode-languageclient": { - "version": "6.1.4", + "node_modules/which-typed-array": { + "version": "1.1.8", "license": "MIT", "dependencies": { - "semver": "^6.3.0", - "vscode-languageserver-protocol": "3.15.3" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" }, "engines": { - "vscode": "^1.41.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vscode-languageclient/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/wildcard": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/vscode-languageserver": { - "version": "6.1.1", + "node_modules/winston": { + "version": "3.11.0", "license": "MIT", "dependencies": { - "vscode-languageserver-protocol": "^3.15.3" + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.15.3", + "node_modules/winston-transport": { + "version": "4.6.0", "license": "MIT", "dependencies": { - "vscode-jsonrpc": "^5.0.1", - "vscode-languageserver-types": "3.15.1" + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { - "version": "3.15.1", - "license": "MIT" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "license": "MIT" - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.3", - "license": "MIT" + "node_modules/winston/node_modules/@colors/colors": { + "version": "1.6.0", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } }, - "node_modules/vscode-nls": { - "version": "5.2.0", - "license": "MIT" + "node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" }, - "node_modules/vscode-nls-dev": { - "version": "4.0.4", + "node_modules/wrap-ansi": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1", - "clone": "^2.1.2", - "event-stream": "^3.3.4", - "fancy-log": "^1.3.3", - "glob": "^7.2.0", - "iconv-lite": "^0.6.3", - "is": "^3.3.0", - "source-map": "^0.6.1", - "typescript": "^4.5.4", - "vinyl": "^2.2.1", - "xml2js": "^0.5.0", - "yargs": "^17.3.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "bin": { - "vscl": "lib/vscl.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/vscode-nls-dev/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/vscode-nls-dev/node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/vscode-nls-dev/node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4.2.0" + "node": ">=8" } }, - "node_modules/vscode-nls-dev/node_modules/xml2js": { - "version": "0.5.0", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/vscode-uri": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/vue": { - "version": "3.3.4", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/vue-loader": { - "version": "17.2.2", + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "watchpack": "^2.4.0" + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { - "webpack": "^4.1.0 || ^5.0.0-0" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { - "@vue/compiler-sfc": { + "bufferutil": { "optional": true }, - "vue": { + "utf-8-validate": { "optional": true } } }, - "node_modules/vue-style-loader": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "node_modules/vue-style-loader/node_modules/hash-sum": { - "version": "1.0.2", + "node_modules/xml": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/vue-style-loader/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/vue-style-loader/node_modules/loader-utils": { - "version": "1.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/w3c-xmlserializer": { + "node_modules/xml-name-validator": { "version": "5.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, + "license": "Apache-2.0", "engines": { "node": ">=18" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "dev": true, + "node_modules/xml2js": { + "version": "0.6.1", "license": "MIT", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=4.0.0" } }, - "node_modules/wawoff2": { - "version": "2.0.1", - "dev": true, + "node_modules/xmlbuilder": { + "version": "11.0.1", "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "woff2_compress.js": "bin/woff2_compress.js", - "woff2_decompress.js": "bin/woff2_decompress.js" + "engines": { + "node": ">=4.0" } }, - "node_modules/wbuf": { - "version": "1.7.3", + "node_modules/xmlchars": { + "version": "2.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-toolkit": { - "resolved": "packages/core/src/web", - "link": true - }, - "node_modules/web-tree-sitter": { - "version": "0.20.8", "license": "MIT" }, - "node_modules/webfont": { - "version": "11.2.26", + "node_modules/xtend": { + "version": "4.0.2", "dev": true, "license": "MIT", - "dependencies": { - "cosmiconfig": "^5.2.0", - "deepmerge": "^4.2.2", - "globby": "^11.0.0", - "meow": "^9.0.0", - "nunjucks": "^3.2.3", - "p-limit": "^3.1.0", - "parse-json": "^5.2.0", - "resolve-from": "^5.0.0", - "svg2ttf": "^6.0.2", - "svgicons2svgfont": "^10.0.3", - "ttf2eot": "^2.0.0", - "ttf2woff": "^2.0.2", - "wawoff2": "^2.0.0", - "xml2js": "^0.4.23" - }, - "bin": { - "webfont": "dist/cli.js" - }, "engines": { - "node": ">= 12.0.0" + "node": ">=0.4" } }, - "node_modules/webfont/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/webfont/node_modules/xml2js": { - "version": "0.5.0", + "node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } + "license": "ISC" }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "license": "BSD-2-Clause", + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", "engines": { - "node": ">=12" + "node": ">= 6" } }, - "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node_modules/yaml-ast-parser-custom-tags": { + "version": "0.0.43", + "license": "Apache-2.0" + }, + "node_modules/yaml-cfn": { + "version": "0.3.2", + "license": "Apache-2.0", + "dependencies": { + "js-yaml": "^4.0.0" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "bin": { + "yaml-cfn": "cli.js" } }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "dev": true, + "node_modules/yaml-language-server": { + "version": "0.15.0", "license": "MIT", "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" + "js-yaml": "^3.13.1", + "jsonc-parser": "^2.2.1", + "request-light": "^0.2.4", + "vscode-json-languageservice": "^3.10.0", + "vscode-languageserver": "^5.2.1", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^4.1.2", + "vscode-uri": "^2.1.1", + "yaml-language-server-parser": "0.1.2" }, "bin": { - "webpack-cli": "bin/cli.js" + "yaml-language-server": "bin/yaml-language-server" }, "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" + "node": "*" }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "optionalDependencies": { + "prettier": "2.0.5" } }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "dev": true, + "node_modules/yaml-language-server-parser": { + "version": "0.1.2", + "license": "Apache-2.0" + }, + "node_modules/yaml-language-server/node_modules/argparse": { + "version": "1.0.10", "license": "MIT", - "engines": { - "node": ">=14" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "dev": true, + "node_modules/yaml-language-server/node_modules/js-yaml": { + "version": "3.14.1", "license": "MIT", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.11.0", - "dev": true, + "node_modules/yaml-language-server/node_modules/jsonc-parser": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/prettier": { + "version": "2.0.5", "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "optional": true, + "bin": { + "prettier": "bin-prettier.js" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "dev": true, + "node_modules/yaml-language-server/node_modules/vscode-json-languageservice": { + "version": "3.11.0", "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "3.16.0-next.2", + "vscode-nls": "^5.0.0", + "vscode-uri": "^2.1.2" } }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, + "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.2.0", "license": "MIT" }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.16.0-next.2", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/vscode-nls": { + "version": "5.2.0", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-jsonrpc": { "version": "4.0.0", - "dev": true, "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=8.0.0 || >=10.0.0" } }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "dev": true, + "node_modules/yaml-language-server/node_modules/vscode-languageserver": { + "version": "5.2.1", "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" + "vscode-languageserver-protocol": "3.14.1", + "vscode-uri": "^1.0.6" }, "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol": { + "version": "3.14.1", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "^4.0.0", + "vscode-languageserver-types": "3.14.0" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.14.0", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver/node_modules/vscode-uri": { + "version": "1.0.8", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-nls": { + "version": "4.1.2", + "license": "MIT" + }, + "node_modules/yargs": { + "version": "17.7.2", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.8.2", + "node_modules/yargs-unparser": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=10" } }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "dev": true, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "license": "ISC", "dependencies": { - "fast-deep-equal": "^3.1.3" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=12" } }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "dev": true, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=8" } }, - "node_modules/webpack-merge": { - "version": "5.10.0", + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", "dev": true, "license": "MIT", "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/webpack-sources": { - "version": "2.3.1", + "node_modules/yazl": { + "version": "2.5.1", "dev": true, "license": "MIT", "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" + "buffer-crc32": "~0.2.3" } }, - "node_modules/webpack/node_modules/events": { - "version": "3.3.0", + "node_modules/ylru": { + "version": "1.4.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.x" + "node": ">= 4.0.0" } }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", + "node_modules/yn": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=6" } }, - "node_modules/websocket-driver": { - "version": "0.7.4", + "node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "dev": true, + "packages/amazonq": { + "name": "amazon-q-vscode", + "version": "1.34.0-SNAPSHOT", "license": "Apache-2.0", + "dependencies": { + "aws-core-vscode": "file:../core/" + }, "engines": { - "node": ">=0.8.0" + "npm": "^10.1.0", + "vscode": "^1.83.0" } }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "dev": true, - "license": "MIT", + "packages/core": { + "name": "aws-core-vscode", + "version": "1.0.0", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "iconv-lite": "0.6.3" + "@amzn/amazon-q-developer-streaming-client": "file:../../src.gen/@amzn/amazon-q-developer-streaming-client", + "@amzn/codewhisperer-streaming": "file:../../src.gen/@amzn/codewhisperer-streaming", + "@aws-sdk/client-cloudformation": "^3.667.0", + "@aws-sdk/client-cloudwatch-logs": "^3.666.0", + "@aws-sdk/client-cognito-identity": "^3.637.0", + "@aws-sdk/client-lambda": "^3.637.0", + "@aws-sdk/client-sso": "^3.342.0", + "@aws-sdk/client-sso-oidc": "^3.574.0", + "@aws-sdk/credential-provider-ini": "3.46.0", + "@aws-sdk/credential-provider-process": "3.37.0", + "@aws-sdk/credential-provider-sso": "^3.345.0", + "@aws-sdk/property-provider": "3.46.0", + "@aws-sdk/smithy-client": "^3.46.0", + "@aws-sdk/util-arn-parser": "^3.46.0", + "@aws/mynah-ui": "^4.15.11", + "@gerhobbelt/gitignore-parser": "^0.2.0-9", + "@iarna/toml": "^2.2.5", + "@smithy/middleware-retry": "^2.3.1", + "@smithy/protocol-http": "^3.3.0", + "@smithy/service-error-classification": "^2.1.5", + "@smithy/shared-ini-file-loader": "^2.2.8", + "@smithy/util-retry": "^2.2.0", + "@vscode/debugprotocol": "^1.57.0", + "@zip.js/zip.js": "^2.7.41", + "adm-zip": "^0.5.10", + "amazon-states-language-service": "^1.11.0", + "async-lock": "^1.4.0", + "aws-sdk": "^2.1384.0", + "aws-ssm-document-language-service": "^1.0.0", + "bytes": "^3.1.2", + "cross-fetch": "^4.0.0", + "cross-spawn": "^7.0.3", + "fast-json-patch": "^3.1.1", + "glob": "^10.3.10", + "got": "^11.8.5", + "highlight.js": "^11.9.0", + "i18n-ts": "^1.0.5", + "immutable": "^4.3.0", + "jose": "5.4.1", + "js-yaml": "^4.1.0", + "jsonc-parser": "^3.2.0", + "lodash": "^4.17.21", + "markdown-it": "^13.0.2", + "mime-types": "^2.1.32", + "node-fetch": "^2.7.0", + "portfinder": "^1.0.32", + "semver": "^7.5.4", + "stream-buffers": "^3.0.2", + "strip-ansi": "^5.2.0", + "tcp-port-used": "^1.0.1", + "vscode-languageclient": "^6.1.4", + "vscode-languageserver": "^6.1.1", + "vscode-languageserver-protocol": "^3.15.3", + "vscode-languageserver-textdocument": "^1.0.8", + "vue": "^3.3.4", + "web-tree-sitter": "^0.20.8", + "whatwg-url": "^14.0.0", + "winston": "^3.11.0", + "winston-transport": "^4.6.0", + "xml2js": "^0.6.1", + "yaml-cfn": "^0.3.2" + }, + "devDependencies": { + "@aws-sdk/types": "^3.13.1", + "@aws/fully-qualified-names": "^2.1.4", + "@cspotcode/source-map-support": "^0.8.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/adm-zip": "^0.4.34", + "@types/async-lock": "^1.4.0", + "@types/bytes": "^3.1.0", + "@types/circular-dependency-plugin": "^5.0.8", + "@types/cross-spawn": "^6.0.6", + "@types/diff": "^5.0.7", + "@types/glob": "^8.1.0", + "@types/js-yaml": "^4.0.5", + "@types/jsdom": "^21.1.6", + "@types/lodash": "^4.14.180", + "@types/markdown-it": "^13.0.2", + "@types/mime-types": "^2.1.4", + "@types/mocha": "^10.0.6", + "@types/node": "^16.18.95", + "@types/node-fetch": "^2.6.8", + "@types/prismjs": "^1.26.0", + "@types/proper-lockfile": "^4.1.4", + "@types/readline-sync": "^1.4.8", + "@types/semver": "^7.5.0", + "@types/sinon": "^10.0.5", + "@types/sinonjs__fake-timers": "^8.1.2", + "@types/stream-buffers": "^3.0.7", + "@types/tcp-port-used": "^1.0.1", + "@types/uuid": "^9.0.1", + "@types/whatwg-url": "^11.0.4", + "@types/xml2js": "^0.4.11", + "@vue/compiler-sfc": "^3.3.2", + "c8": "^9.0.0", + "circular-dependency-plugin": "^5.2.2", + "css-loader": "^6.10.0", + "diff": "^5.1.0", + "esbuild-loader": "2.20.0", + "file-loader": "^6.2.0", + "jsdom": "^23.0.1", + "json-schema-to-typescript": "^13.1.1", + "marked": "^13.0.1", + "mocha": "^10.1.0", + "mocha-junit-reporter": "^2.2.1", + "mocha-multi-reporters": "^1.5.1", + "readline-sync": "^1.4.9", + "sass": "^1.49.8", + "sass-loader": "^16.0.2", + "sinon": "^14.0.0", + "style-loader": "^3.3.1", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "umd-compat-loader": "^2.1.2", + "vue-loader": "^17.2.2", + "vue-style-loader": "^4.1.3", + "webfont": "^11.2.26" }, "engines": { - "node": ">=18" + "npm": "^10.1.0", + "vscode": "^1.83.0" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", + "packages/core/node_modules/@types/node": { + "version": "16.18.95", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "packages/core/src/web": { + "name": "web-toolkit", + "license": "Apache-2.0", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "crypto-browserify": "^3.12.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stream-browserify": "^3.0.0" }, - "engines": { - "node": ">=0.10.0" + "devDependencies": { + "assert": "^2.1.0" } }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "packages/toolkit": { + "name": "aws-toolkit-vscode", + "version": "3.32.0-SNAPSHOT", + "license": "Apache-2.0", + "dependencies": { + "aws-core-vscode": "file:../core/" + }, + "devDependencies": {}, "engines": { - "node": ">=18" + "npm": "^10.1.0", + "vscode": "^1.83.0" } }, - "node_modules/whatwg-url": { - "version": "14.0.0", - "license": "MIT", - "dependencies": { - "tr46": "^5.0.0", - "webidl-conversions": "^7.0.0" + "plugins/eslint-plugin-aws-toolkits": { + "version": "1.0.0", + "license": "Apache-2.0", + "devDependencies": { + "mocha": "^10.1.0" }, "engines": { - "node": ">=18" + "npm": "^10.1.0" } }, - "node_modules/which": { - "version": "2.0.2", - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client": { + "version": "1.0.0", + "hasInstallScript": true, "dependencies": { - "isexe": "^2.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.658.1", + "@aws-sdk/client-sts": "3.658.1", + "@aws-sdk/core": "3.658.1", + "@aws-sdk/credential-provider-node": "3.658.1", + "@aws-sdk/middleware-host-header": "3.654.0", + "@aws-sdk/middleware-logger": "3.654.0", + "@aws-sdk/middleware-recursion-detection": "3.654.0", + "@aws-sdk/middleware-user-agent": "3.654.0", + "@aws-sdk/region-config-resolver": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@aws-sdk/util-user-agent-browser": "3.654.0", + "@aws-sdk/util-user-agent-node": "3.654.0", + "@smithy/config-resolver": "^3.0.8", + "@smithy/core": "^2.4.6", + "@smithy/eventstream-serde-browser": "^3.0.9", + "@smithy/eventstream-serde-config-resolver": "^3.0.6", + "@smithy/eventstream-serde-node": "^3.0.8", + "@smithy/fetch-http-handler": "^3.2.8", + "@smithy/hash-node": "^3.0.6", + "@smithy/invalid-dependency": "^3.0.6", + "@smithy/middleware-content-length": "^3.0.8", + "@smithy/middleware-retry": "^3.0.21", + "@smithy/middleware-serde": "^3.0.6", + "@smithy/middleware-stack": "^3.0.6", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/node-http-handler": "^3.2.3", + "@smithy/protocol-http": "^4.1.3", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/url-parser": "^3.0.6", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.21", + "@smithy/util-defaults-mode-node": "^3.0.21", + "@smithy/util-middleware": "^3.0.6", + "@smithy/util-retry": "^3.0.6", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, - "bin": { - "node-which": "bin/node-which" + "devDependencies": { + "@tsconfig/node16": "16.1.3", + "@types/node": "^16.18.96", + "@types/uuid": "^9.0.4", + "concurrently": "7.0.0", + "downlevel-dts": "0.10.1", + "rimraf": "^3.0.0", + "typescript": "~4.9.5" }, "engines": { - "node": ">= 8" + "node": ">=16.0.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/client-sso": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.658.1.tgz", + "integrity": "sha512-lOuaBtqPTYGn6xpXlQF4LsNDsQ8Ij2kOdnk+i69Kp6yS76TYvtUuukyLL5kx8zE1c8WbYtxj9y8VNw9/6uKl7Q==", + "license": "Apache-2.0", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.658.1", + "@aws-sdk/middleware-host-header": "3.654.0", + "@aws-sdk/middleware-logger": "3.654.0", + "@aws-sdk/middleware-recursion-detection": "3.654.0", + "@aws-sdk/middleware-user-agent": "3.654.0", + "@aws-sdk/region-config-resolver": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@aws-sdk/util-endpoints": "3.654.0", + "@aws-sdk/util-user-agent-browser": "3.654.0", + "@aws-sdk/util-user-agent-node": "3.654.0", + "@smithy/config-resolver": "^3.0.8", + "@smithy/core": "^2.4.6", + "@smithy/fetch-http-handler": "^3.2.8", + "@smithy/hash-node": "^3.0.6", + "@smithy/invalid-dependency": "^3.0.6", + "@smithy/middleware-content-length": "^3.0.8", + "@smithy/middleware-endpoint": "^3.1.3", + "@smithy/middleware-retry": "^3.0.21", + "@smithy/middleware-serde": "^3.0.6", + "@smithy/middleware-stack": "^3.0.6", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/node-http-handler": "^3.2.3", + "@smithy/protocol-http": "^4.1.3", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/url-parser": "^3.0.6", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.21", + "@smithy/util-defaults-mode-node": "^3.0.21", + "@smithy/util-endpoints": "^2.1.2", + "@smithy/util-middleware": "^3.0.6", + "@smithy/util-retry": "^3.0.6", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.8", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.658.1.tgz", + "integrity": "sha512-RGcZAI3qEA05JszPKwa0cAyp8rnS1nUvs0Sqw4hqLNQ1kD7b7V6CPjRXe7EFQqCOMvM4kGqx0+cEEVTOmBsFLw==", + "license": "Apache-2.0", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.658.1", + "@aws-sdk/credential-provider-node": "3.658.1", + "@aws-sdk/middleware-host-header": "3.654.0", + "@aws-sdk/middleware-logger": "3.654.0", + "@aws-sdk/middleware-recursion-detection": "3.654.0", + "@aws-sdk/middleware-user-agent": "3.654.0", + "@aws-sdk/region-config-resolver": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@aws-sdk/util-endpoints": "3.654.0", + "@aws-sdk/util-user-agent-browser": "3.654.0", + "@aws-sdk/util-user-agent-node": "3.654.0", + "@smithy/config-resolver": "^3.0.8", + "@smithy/core": "^2.4.6", + "@smithy/fetch-http-handler": "^3.2.8", + "@smithy/hash-node": "^3.0.6", + "@smithy/invalid-dependency": "^3.0.6", + "@smithy/middleware-content-length": "^3.0.8", + "@smithy/middleware-endpoint": "^3.1.3", + "@smithy/middleware-retry": "^3.0.21", + "@smithy/middleware-serde": "^3.0.6", + "@smithy/middleware-stack": "^3.0.6", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/node-http-handler": "^3.2.3", + "@smithy/protocol-http": "^4.1.3", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/url-parser": "^3.0.6", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.21", + "@smithy/util-defaults-mode-node": "^3.0.21", + "@smithy/util-endpoints": "^2.1.2", + "@smithy/util-middleware": "^3.0.6", + "@smithy/util-retry": "^3.0.6", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@aws-sdk/client-sts": "^3.658.1" } }, - "node_modules/wildcard": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/winston": { - "version": "3.11.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/client-sts": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.658.1.tgz", + "integrity": "sha512-yw9hc5blTnbT1V6mR7Cx9HGc9KQpcLQ1QXj8rntiJi6tIYu3aFNVEyy81JHL7NsuBSeQulJTvHO3y6r3O0sfRg==", + "license": "Apache-2.0", "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.658.1", + "@aws-sdk/core": "3.658.1", + "@aws-sdk/credential-provider-node": "3.658.1", + "@aws-sdk/middleware-host-header": "3.654.0", + "@aws-sdk/middleware-logger": "3.654.0", + "@aws-sdk/middleware-recursion-detection": "3.654.0", + "@aws-sdk/middleware-user-agent": "3.654.0", + "@aws-sdk/region-config-resolver": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@aws-sdk/util-endpoints": "3.654.0", + "@aws-sdk/util-user-agent-browser": "3.654.0", + "@aws-sdk/util-user-agent-node": "3.654.0", + "@smithy/config-resolver": "^3.0.8", + "@smithy/core": "^2.4.6", + "@smithy/fetch-http-handler": "^3.2.8", + "@smithy/hash-node": "^3.0.6", + "@smithy/invalid-dependency": "^3.0.6", + "@smithy/middleware-content-length": "^3.0.8", + "@smithy/middleware-endpoint": "^3.1.3", + "@smithy/middleware-retry": "^3.0.21", + "@smithy/middleware-serde": "^3.0.6", + "@smithy/middleware-stack": "^3.0.6", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/node-http-handler": "^3.2.3", + "@smithy/protocol-http": "^4.1.3", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/url-parser": "^3.0.6", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.21", + "@smithy/util-defaults-mode-node": "^3.0.21", + "@smithy/util-endpoints": "^2.1.2", + "@smithy/util-middleware": "^3.0.6", + "@smithy/util-retry": "^3.0.6", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/winston-transport": { - "version": "4.6.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/core": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.658.1.tgz", + "integrity": "sha512-vJVMoMcSKXK2gBRSu9Ywwv6wQ7tXH8VL1fqB1uVxgCqBZ3IHfqNn4zvpMPWrwgO2/3wv7XFyikGQ5ypPTCw4jA==", + "license": "Apache-2.0", "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" + "@smithy/core": "^2.4.6", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/property-provider": "^3.1.6", + "@smithy/protocol-http": "^4.1.3", + "@smithy/signature-v4": "^4.1.4", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/util-middleware": "^3.0.6", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/winston/node_modules/@colors/colors": { - "version": "1.6.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.654.0.tgz", + "integrity": "sha512-kogsx3Ql81JouHS7DkheCDU9MYAvK0AokxjcshDveGmf7BbgbWCA8Fnb9wjQyNDaOXNvkZu8Z8rgkX91z324/w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/property-provider": "^3.1.6", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.1.90" + "node": ">=16.0.0" } }, - "node_modules/workerpool": { - "version": "6.2.1", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.658.1.tgz", + "integrity": "sha512-4ubkJjEVCZflxkZnV1JDQv8P2pburxk1LrEp55telfJRzXrnowzBKwuV2ED0QMNC448g2B3VCaffS+Ct7c4IWQ==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@aws-sdk/types": "3.654.0", + "@smithy/fetch-http-handler": "^3.2.8", + "@smithy/node-http-handler": "^3.2.3", + "@smithy/property-provider": "^3.1.6", + "@smithy/protocol-http": "^4.1.3", + "@smithy/smithy-client": "^3.3.5", + "@smithy/types": "^3.4.2", + "@smithy/util-stream": "^3.1.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=16.0.0" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.658.1.tgz", + "integrity": "sha512-2uwOamQg5ppwfegwen1ddPu5HM3/IBSnaGlaKLFhltkdtZ0jiqTZWUtX2V+4Q+buLnT0hQvLS/frQ+7QUam+0Q==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@aws-sdk/credential-provider-env": "3.654.0", + "@aws-sdk/credential-provider-http": "3.658.1", + "@aws-sdk/credential-provider-process": "3.654.0", + "@aws-sdk/credential-provider-sso": "3.658.1", + "@aws-sdk/credential-provider-web-identity": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@smithy/credential-provider-imds": "^3.2.3", + "@smithy/property-provider": "^3.1.6", + "@smithy/shared-ini-file-loader": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "peerDependencies": { + "@aws-sdk/client-sts": "^3.658.1" } }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.658.1.tgz", + "integrity": "sha512-XwxW6N+uPXPYAuyq+GfOEdfL/MZGAlCSfB5gEWtLBFmFbikhmEuqfWtI6CD60OwudCUOh6argd21BsJf8o1SJA==", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "@aws-sdk/credential-provider-env": "3.654.0", + "@aws-sdk/credential-provider-http": "3.658.1", + "@aws-sdk/credential-provider-ini": "3.658.1", + "@aws-sdk/credential-provider-process": "3.654.0", + "@aws-sdk/credential-provider-sso": "3.658.1", + "@aws-sdk/credential-provider-web-identity": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@smithy/credential-provider-imds": "^3.2.3", + "@smithy/property-provider": "^3.1.6", + "@smithy/shared-ini-file-loader": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.654.0.tgz", + "integrity": "sha512-PmQoo8sZ9Q2Ow8OMzK++Z9lI7MsRUG7sNq3E72DVA215dhtTICTDQwGlXH2AAmIp7n+G9LLRds+4wo2ehG4mkg==", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "@aws-sdk/types": "3.654.0", + "@smithy/property-provider": "^3.1.6", + "@smithy/shared-ini-file-loader": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.17.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=16.0.0" } - }, - "node_modules/xml": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "dev": true, + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.658.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.658.1.tgz", + "integrity": "sha512-YOagVEsZEk9DmgJEBg+4MBXrPcw/tYas0VQ5OVBqC5XHNbi2OBGJqgmjVPesuu393E7W0VQxtJFDS00O1ewQgA==", "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.658.1", + "@aws-sdk/token-providers": "3.654.0", + "@aws-sdk/types": "3.654.0", + "@smithy/property-provider": "^3.1.6", + "@smithy/shared-ini-file-loader": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=18" + "node": ">=16.0.0" } }, - "node_modules/xml2js": { - "version": "0.6.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.654.0.tgz", + "integrity": "sha512-6a2g9gMtZToqSu+CusjNK5zvbLJahQ9di7buO3iXgbizXpLXU1rnawCpWxwslMpT5fLgMSKDnKDrr6wdEk7jSw==", + "license": "Apache-2.0", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "@aws-sdk/types": "3.654.0", + "@smithy/property-provider": "^3.1.6", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.654.0" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.654.0.tgz", + "integrity": "sha512-rxGgVHWKp8U2ubMv+t+vlIk7QYUaRCHaVpmUlJv0Wv6Q0KeO9a42T9FxHphjOTlCGQOLcjCreL9CF8Qhtb4mdQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/protocol-http": "^4.1.3", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4.0" + "node": ">=16.0.0" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/middleware-logger": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.654.0.tgz", + "integrity": "sha512-OQYb+nWlmASyXfRb989pwkJ9EVUMP1CrKn2eyTk3usl20JZmKo2Vjis6I0tLUkMSxMhnBJJlQKyWkRpD/u1FVg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.4" + "node": ">=16.0.0" } }, - "node_modules/y18n": { - "version": "5.0.8", - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.654.0.tgz", + "integrity": "sha512-gKSomgltKVmsT8sC6W7CrADZ4GHwX9epk3GcH6QhebVO3LA9LRbkL3TwOPUXakxxOLLUTYdOZLIOtFf7iH00lg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/protocol-http": "^4.1.3", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.654.0.tgz", + "integrity": "sha512-liCcqPAyRsr53cy2tYu4qeH4MMN0eh9g6k56XzI5xd4SghXH5YWh4qOYAlQ8T66ZV4nPMtD8GLtLXGzsH8moFg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@aws-sdk/util-endpoints": "3.654.0", + "@smithy/protocol-http": "^4.1.3", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 6" + "node": ">=16.0.0" } }, - "node_modules/yaml-ast-parser-custom-tags": { - "version": "0.0.43", - "license": "Apache-2.0" - }, - "node_modules/yaml-cfn": { - "version": "0.3.2", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.654.0.tgz", + "integrity": "sha512-ydGOrXJxj3x0sJhsXyTmvJVLAE0xxuTWFJihTl67RtaO7VRNtd82I3P3bwoMMaDn5WpmV5mPo8fEUDRlBm3fPg==", "license": "Apache-2.0", "dependencies": { - "js-yaml": "^4.0.0" + "@aws-sdk/types": "3.654.0", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/types": "^3.4.2", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.6", + "tslib": "^2.6.2" }, - "bin": { - "yaml-cfn": "cli.js" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server": { - "version": "0.15.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/token-providers": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.654.0.tgz", + "integrity": "sha512-D8GeJYmvbfWkQDtTB4owmIobSMexZel0fOoetwvgCQ/7L8VPph3Q2bn1TRRIXvH7wdt6DcDxA3tKMHPBkT3GlA==", + "license": "Apache-2.0", "dependencies": { - "js-yaml": "^3.13.1", - "jsonc-parser": "^2.2.1", - "request-light": "^0.2.4", - "vscode-json-languageservice": "^3.10.0", - "vscode-languageserver": "^5.2.1", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.15.1", - "vscode-nls": "^4.1.2", - "vscode-uri": "^2.1.1", - "yaml-language-server-parser": "0.1.2" - }, - "bin": { - "yaml-language-server": "bin/yaml-language-server" + "@aws-sdk/types": "3.654.0", + "@smithy/property-provider": "^3.1.6", + "@smithy/shared-ini-file-loader": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": "*" + "node": ">=16.0.0" }, - "optionalDependencies": { - "prettier": "2.0.5" + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.654.0" } }, - "node_modules/yaml-language-server-parser": { - "version": "0.1.2", - "license": "Apache-2.0" - }, - "node_modules/yaml-language-server/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/types": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.654.0.tgz", + "integrity": "sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A==", + "license": "Apache-2.0", "dependencies": { - "sprintf-js": "~1.0.2" + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/js-yaml": { - "version": "3.14.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/util-endpoints": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.654.0.tgz", + "integrity": "sha512-i902fcBknHs0Irgdpi62+QMvzxE+bczvILXigYrlHL4+PiEnlMVpni5L5W1qCkNZXf8AaMrSBuR1NZAGp6UOUw==", + "license": "Apache-2.0", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@aws-sdk/types": "3.654.0", + "@smithy/types": "^3.4.2", + "@smithy/util-endpoints": "^2.1.2", + "tslib": "^2.6.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/jsonc-parser": { - "version": "2.3.1", - "license": "MIT" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.654.0.tgz", + "integrity": "sha512-ykYAJqvnxLt7wfrqya28wuH3/7NdrwzfiFd7NqEVQf7dXVxL5RPEpD7DxjcyQo3DsHvvdUvGZVaQhozycn1pzA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/types": "^3.4.2", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } }, - "node_modules/yaml-language-server/node_modules/prettier": { - "version": "2.0.5", - "license": "MIT", - "optional": true, - "bin": { - "prettier": "bin-prettier.js" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.654.0.tgz", + "integrity": "sha512-a0ojjdBN6pqv6gB4H/QPPSfhs7mFtlVwnmKCM/QrTaFzN0U810PJ1BST3lBx5sa23I5jWHGaoFY+5q65C3clLQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.654.0", + "@smithy/node-config-provider": "^3.1.7", + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/yaml-language-server/node_modules/vscode-json-languageservice": { - "version": "3.11.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/abort-controller": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.6.tgz", + "integrity": "sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==", + "license": "Apache-2.0", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "3.16.0-next.2", - "vscode-nls": "^5.0.0", - "vscode-uri": "^2.1.2" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { - "version": "3.2.0", - "license": "MIT" - }, - "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/vscode-languageserver-types": { - "version": "3.16.0-next.2", - "license": "MIT" - }, - "node_modules/yaml-language-server/node_modules/vscode-json-languageservice/node_modules/vscode-nls": { - "version": "5.2.0", - "license": "MIT" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/fetch-http-handler": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", + "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.4", + "@smithy/querystring-builder": "^3.0.7", + "@smithy/types": "^3.5.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } }, - "node_modules/yaml-language-server/node_modules/vscode-jsonrpc": { - "version": "4.0.0", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.0.0 || >=10.0.0" + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/vscode-languageserver": { - "version": "5.2.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/middleware-endpoint": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz", + "integrity": "sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==", + "license": "Apache-2.0", "dependencies": { - "vscode-languageserver-protocol": "3.14.1", - "vscode-uri": "^1.0.6" + "@smithy/core": "^2.5.1", + "@smithy/middleware-serde": "^3.0.8", + "@smithy/node-config-provider": "^3.1.9", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "@smithy/url-parser": "^3.0.8", + "@smithy/util-middleware": "^3.0.8", + "tslib": "^2.6.2" }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol": { - "version": "3.14.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/middleware-retry": { + "version": "3.0.25", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz", + "integrity": "sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==", + "license": "Apache-2.0", "dependencies": { - "vscode-jsonrpc": "^4.0.0", - "vscode-languageserver-types": "3.14.0" + "@smithy/node-config-provider": "^3.1.9", + "@smithy/protocol-http": "^4.1.5", + "@smithy/service-error-classification": "^3.0.8", + "@smithy/smithy-client": "^3.4.2", + "@smithy/types": "^3.6.0", + "@smithy/util-middleware": "^3.0.8", + "@smithy/util-retry": "^3.0.8", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { - "version": "3.14.0", - "license": "MIT" - }, - "node_modules/yaml-language-server/node_modules/vscode-languageserver/node_modules/vscode-uri": { - "version": "1.0.8", - "license": "MIT" - }, - "node_modules/yaml-language-server/node_modules/vscode-nls": { - "version": "4.1.2", - "license": "MIT" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/middleware-serde": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz", + "integrity": "sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "node_modules/yargs": { - "version": "17.7.2", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/middleware-stack": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz", + "integrity": "sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==", + "license": "Apache-2.0", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=16.0.0" } }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "dev": true, - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/node-config-provider": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz", + "integrity": "sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.8", + "@smithy/shared-ini-file-loader": "^3.1.9", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/node-http-handler": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz", + "integrity": "sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==", + "license": "Apache-2.0", "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "@smithy/abort-controller": "^3.1.6", + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/property-provider": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.8.tgz", + "integrity": "sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/yargs/node_modules/cliui": { - "version": "8.0.1", - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/protocol-http": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.5.tgz", + "integrity": "sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==", + "license": "Apache-2.0", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=16.0.0" } }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/querystring-builder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz", + "integrity": "sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "@smithy/types": "^3.6.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "license": "ISC", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/querystring-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz", + "integrity": "sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=12" + "node": ">=16.0.0" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/service-error-classification": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.8.tgz", + "integrity": "sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==", + "license": "Apache-2.0", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "@smithy/types": "^3.6.0" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/yazl": { - "version": "2.5.1", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz", + "integrity": "sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==", + "license": "Apache-2.0", "dependencies": { - "buffer-crc32": "~0.2.3" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/ylru": { - "version": "1.4.0", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/smithy-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.2.tgz", + "integrity": "sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.1", + "@smithy/middleware-endpoint": "^3.2.1", + "@smithy/middleware-stack": "^3.0.8", + "@smithy/protocol-http": "^4.1.5", + "@smithy/types": "^3.6.0", + "@smithy/util-stream": "^3.2.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=16.0.0" } }, - "node_modules/yn": { - "version": "3.1.1", - "dev": true, - "license": "MIT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.6.0.tgz", + "integrity": "sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/url-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.8.tgz", + "integrity": "sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" } }, - "packages/amazonq": { - "name": "amazon-q-vscode", - "version": "1.32.0-SNAPSHOT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "license": "Apache-2.0", "dependencies": { - "aws-core-vscode": "file:../core/" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "npm": "^10.1.0", - "vscode": "^1.83.0" + "node": ">=16.0.0" } }, - "packages/core": { - "name": "aws-core-vscode", - "version": "1.0.0", - "hasInstallScript": true, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "license": "Apache-2.0", "dependencies": { - "@amzn/codewhisperer-streaming": "file:../../src.gen/@amzn/codewhisperer-streaming", - "@aws-sdk/client-cloudwatch-logs": "^3.666.0", - "@aws-sdk/client-cognito-identity": "^3.637.0", - "@aws-sdk/client-lambda": "^3.637.0", - "@aws-sdk/client-sso": "^3.342.0", - "@aws-sdk/client-sso-oidc": "^3.574.0", - "@aws-sdk/credential-provider-ini": "3.46.0", - "@aws-sdk/credential-provider-process": "3.37.0", - "@aws-sdk/credential-provider-sso": "^3.345.0", - "@aws-sdk/property-provider": "3.46.0", - "@aws-sdk/smithy-client": "^3.46.0", - "@aws-sdk/util-arn-parser": "^3.46.0", - "@aws/mynah-ui": "^4.15.11", - "@gerhobbelt/gitignore-parser": "^0.2.0-9", - "@iarna/toml": "^2.2.5", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/protocol-http": "^3.3.0", - "@smithy/service-error-classification": "^2.1.5", - "@smithy/shared-ini-file-loader": "^2.2.8", - "@smithy/util-retry": "^2.2.0", - "@vscode/debugprotocol": "^1.57.0", - "@zip.js/zip.js": "^2.7.41", - "adm-zip": "^0.5.10", - "amazon-states-language-service": "^1.11.0", - "async-lock": "^1.4.0", - "aws-sdk": "^2.1384.0", - "aws-ssm-document-language-service": "^1.0.0", - "bytes": "^3.1.2", - "cross-fetch": "^4.0.0", - "cross-spawn": "^7.0.3", - "fast-json-patch": "^3.1.1", - "glob": "^10.3.10", - "got": "^11.8.5", - "highlight.js": "^11.9.0", - "i18n-ts": "^1.0.5", - "immutable": "^4.3.0", - "jose": "5.4.1", - "js-yaml": "^4.1.0", - "jsonc-parser": "^3.2.0", - "lodash": "^4.17.21", - "markdown-it": "^13.0.2", - "mime-types": "^2.1.32", - "node-fetch": "^2.7.0", - "portfinder": "^1.0.32", - "semver": "^7.5.4", - "stream-buffers": "^3.0.2", - "strip-ansi": "^5.2.0", - "tcp-port-used": "^1.0.1", - "vscode-languageclient": "^6.1.4", - "vscode-languageserver": "^6.1.1", - "vscode-languageserver-protocol": "^3.15.3", - "vscode-languageserver-textdocument": "^1.0.8", - "vue": "^3.3.4", - "web-tree-sitter": "^0.20.8", - "whatwg-url": "^14.0.0", - "winston": "^3.11.0", - "winston-transport": "^4.6.0", - "xml2js": "^0.6.1", - "yaml-cfn": "^0.3.2" - }, - "devDependencies": { - "@aws-sdk/types": "^3.13.1", - "@aws/fully-qualified-names": "^2.1.4", - "@cspotcode/source-map-support": "^0.8.1", - "@sinonjs/fake-timers": "^10.0.2", - "@types/adm-zip": "^0.4.34", - "@types/async-lock": "^1.4.0", - "@types/bytes": "^3.1.0", - "@types/circular-dependency-plugin": "^5.0.8", - "@types/cross-spawn": "^6.0.6", - "@types/diff": "^5.0.7", - "@types/glob": "^8.1.0", - "@types/js-yaml": "^4.0.5", - "@types/jsdom": "^21.1.6", - "@types/lodash": "^4.14.180", - "@types/markdown-it": "^13.0.2", - "@types/mime-types": "^2.1.4", - "@types/mocha": "^10.0.6", - "@types/node": "^16.18.95", - "@types/node-fetch": "^2.6.8", - "@types/prismjs": "^1.26.0", - "@types/proper-lockfile": "^4.1.4", - "@types/readline-sync": "^1.4.8", - "@types/semver": "^7.5.0", - "@types/sinon": "^10.0.5", - "@types/sinonjs__fake-timers": "^8.1.2", - "@types/stream-buffers": "^3.0.7", - "@types/tcp-port-used": "^1.0.1", - "@types/uuid": "^9.0.1", - "@types/whatwg-url": "^11.0.4", - "@types/xml2js": "^0.4.11", - "@vue/compiler-sfc": "^3.3.2", - "c8": "^9.0.0", - "circular-dependency-plugin": "^5.2.2", - "css-loader": "^6.10.0", - "diff": "^5.1.0", - "esbuild-loader": "2.20.0", - "file-loader": "^6.2.0", - "jsdom": "^23.0.1", - "json-schema-to-typescript": "^13.1.1", - "marked": "^13.0.1", - "mocha": "^10.1.0", - "mocha-junit-reporter": "^2.2.1", - "mocha-multi-reporters": "^1.5.1", - "readline-sync": "^1.4.9", - "sass": "^1.49.8", - "sass-loader": "^16.0.2", - "sinon": "^14.0.0", - "style-loader": "^3.3.1", - "ts-node": "^10.9.1", - "typescript": "^5.0.4", - "umd-compat-loader": "^2.1.2", - "vue-loader": "^17.2.2", - "vue-style-loader": "^4.1.3", - "webfont": "^11.2.26" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "npm": "^10.1.0", - "vscode": "^1.83.0" + "node": ">=16.0.0" } }, - "packages/core/node_modules/@types/node": { - "version": "16.18.95", - "dev": true, - "license": "MIT" + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "packages/core/src/web": { - "name": "web-toolkit", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-middleware": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.8.tgz", + "integrity": "sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==", "license": "Apache-2.0", "dependencies": { - "crypto-browserify": "^3.12.0", - "os-browserify": "^0.3.0", - "path-browserify": "^1.0.1", - "process": "^0.11.10", - "stream-browserify": "^3.0.0" + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, - "devDependencies": { - "assert": "^2.1.0" + "engines": { + "node": ">=16.0.0" } }, - "packages/toolkit": { - "name": "aws-toolkit-vscode", - "version": "3.31.0-SNAPSHOT", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-retry": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.8.tgz", + "integrity": "sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==", "license": "Apache-2.0", "dependencies": { - "aws-core-vscode": "file:../core/" + "@smithy/service-error-classification": "^3.0.8", + "@smithy/types": "^3.6.0", + "tslib": "^2.6.2" }, - "devDependencies": {}, "engines": { - "npm": "^10.1.0", - "vscode": "^1.83.0" + "node": ">=16.0.0" } }, - "plugins/eslint-plugin-aws-toolkits": { - "version": "1.0.0", + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-stream": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.2.1.tgz", + "integrity": "sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==", "license": "Apache-2.0", - "devDependencies": { - "mocha": "^10.1.0" + "dependencies": { + "@smithy/fetch-http-handler": "^4.0.0", + "@smithy/node-http-handler": "^3.2.5", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "npm": "^10.1.0" + "node": ">=16.0.0" + } + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz", + "integrity": "sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.5", + "@smithy/querystring-builder": "^3.0.8", + "@smithy/types": "^3.6.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@tsconfig/node16": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-16.1.3.tgz", + "integrity": "sha512-9nTOUBn+EMKO6rtSZJk+DcqsfgtlERGT9XPJ5PRj/HNENPCBY1yu/JEj5wT6GLtbCLBO2k46SeXDaY0pjMqypw==", + "dev": true, + "license": "MIT" + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/@types/node": { + "version": "16.18.115", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.115.tgz", + "integrity": "sha512-NF5ajYn+dq0tRfswdyp8Df75h7D9z+L8TCIwrXoh46ZLK6KZVXkRhf/luXaZytvm/keUo9vU4m1Bg39St91a5w==", + "dev": true, + "license": "MIT" + }, + "src.gen/@amzn/amazon-q-developer-streaming-client/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" } }, "src.gen/@amzn/codewhisperer-streaming": { @@ -20466,17 +22357,6 @@ "tslib": "^2.3.1" } }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/@babel/runtime": { - "version": "7.25.6", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/@smithy/abort-controller": { "version": "2.2.0", "license": "Apache-2.0", @@ -20991,201 +22871,37 @@ "license": "MIT" }, "src.gen/@amzn/codewhisperer-streaming/node_modules/@types/uuid": { - "version": "8.3.4", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/bowser": { - "version": "2.11.0", - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/concurrently": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "date-fns": "^2.16.1", - "lodash": "^4.17.21", - "rxjs": "^6.6.3", - "spawn-command": "^0.0.2-1", - "supports-color": "^8.1.0", - "tree-kill": "^1.2.2", - "yargs": "^16.2.0" - }, - "bin": { - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.0 || >=16.0.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/date-fns": { - "version": "2.30.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/downlevel-dts": { - "version": "0.10.1", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.2", - "shelljs": "^0.8.3", - "typescript": "next" - }, - "bin": { - "downlevel-dts": "index.js" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/downlevel-dts/node_modules/typescript": { - "version": "5.7.0-dev.20240926", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } + "version": "8.3.4", + "dev": true, + "license": "MIT" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/emoji-regex": { - "version": "8.0.0", + "src.gen/@amzn/codewhisperer-streaming/node_modules/balanced-match": { + "version": "1.0.2", "dev": true, "license": "MIT" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/escalade": { - "version": "3.2.0", + "src.gen/@amzn/codewhisperer-streaming/node_modules/bowser": { + "version": "2.11.0", + "license": "MIT" + }, + "src.gen/@amzn/codewhisperer-streaming/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "balanced-match": "^1.0.0" } }, + "src.gen/@amzn/codewhisperer-streaming/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, "src.gen/@amzn/codewhisperer-streaming/node_modules/fs.realpath": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/glob": { "version": "7.2.3", "dev": true, @@ -21225,25 +22941,6 @@ "node": "*" } }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/hasown": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -21258,46 +22955,11 @@ "dev": true, "license": "ISC" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/interpret": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/is-core-module": { - "version": "2.15.1", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/jsonc-parser": { "version": "3.3.1", "dev": true, "license": "MIT" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/lunr": { "version": "2.3.9", "dev": true, @@ -21341,50 +23003,6 @@ "node": ">=0.10.0" } }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/rechoir": { - "version": "0.6.2", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/regenerator-runtime": { - "version": "0.14.1", - "dev": true, - "license": "MIT" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/resolve": { - "version": "1.22.8", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -21399,49 +23017,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/rxjs": { - "version": "6.6.7", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/semver": { - "version": "7.6.3", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/shelljs": { - "version": "0.8.5", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/shiki": { "version": "0.11.1", "dev": true, @@ -21452,67 +23027,6 @@ "vscode-textmate": "^6.0.0" } }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/spawn-command": { - "version": "0.0.2", - "dev": true - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/tree-kill": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/tslib": { "version": "2.7.0", "license": "0BSD" @@ -21566,59 +23080,10 @@ "dev": true, "license": "MIT" }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "src.gen/@amzn/codewhisperer-streaming/node_modules/wrappy": { "version": "1.0.2", "dev": true, "license": "ISC" - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "src.gen/@amzn/codewhisperer-streaming/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } } } } diff --git a/package.json b/package.json index 335751d3ddc..dae76a7a8c2 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "scripts": { "prepare": "ts-node ./scripts/prepare.ts", - "preinstall": "cd src.gen/@amzn/codewhisperer-streaming && npm i", + "preinstall": "cd src.gen/@amzn/codewhisperer-streaming && npm i && cd ../amazon-q-developer-streaming-client && npm i", "postinstall": "npm run buildCustomLintPlugin && npm run postinstall -ws --if-present", "buildCustomLintPlugin": "npm run build -w plugins/eslint-plugin-aws-toolkits", "compile": "npm run compile -w packages/", @@ -39,7 +39,7 @@ "generateNonCodeFiles": "npm run generateNonCodeFiles -w packages/ --if-present" }, "devDependencies": { - "@aws-toolkits/telemetry": "^1.0.272", + "@aws-toolkits/telemetry": "^1.0.274", "@playwright/browser-chromium": "^1.43.1", "@types/he": "^1.2.3", "@types/vscode": "^1.68.0", @@ -66,11 +66,12 @@ "typescript": "^5.0.4", "webpack": "^5.95.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.1", + "webpack-dev-server": "^4.15.2", "webpack-merge": "^5.10.0" }, "dependencies": { - "@types/node": "^18.19.55", + "@types/node": "^22.7.5", + "@aws-toolkits/telemetry": "^1.0.242", "vscode-nls": "^5.2.0", "vscode-nls-dev": "^4.0.4" } diff --git a/packages/amazonq/.changes/1.32.0.json b/packages/amazonq/.changes/1.32.0.json new file mode 100644 index 00000000000..5d5a61c848a --- /dev/null +++ b/packages/amazonq/.changes/1.32.0.json @@ -0,0 +1,26 @@ +{ + "date": "2024-10-29", + "version": "1.32.0", + "entries": [ + { + "type": "Bug Fix", + "description": "Remove warning when no input is provided to inline chat input box" + }, + { + "type": "Bug Fix", + "description": "Use Sagemaker environment IAM Credentials for Code Completion when they're available" + }, + { + "type": "Bug Fix", + "description": "Inline: Code completion not working for Sagemaker Pro Tier users." + }, + { + "type": "Bug Fix", + "description": "Disable /transform and /dev commands for sagemaker users as they're not supported" + }, + { + "type": "Feature", + "description": "Enable Free Tier Chat for IAM users" + } + ] +} \ No newline at end of file diff --git a/packages/amazonq/.changes/1.33.0.json b/packages/amazonq/.changes/1.33.0.json new file mode 100644 index 00000000000..ac740352518 --- /dev/null +++ b/packages/amazonq/.changes/1.33.0.json @@ -0,0 +1,10 @@ +{ + "date": "2024-10-30", + "version": "1.33.0", + "entries": [ + { + "type": "Bug Fix", + "description": "Amazon Q /dev: fix for stop button showing for Code Transformation" + } + ] +} \ No newline at end of file diff --git a/packages/amazonq/.changes/next-release/Bug Fix-63cca37f-cf3c-42ff-bc9d-b3f71c0e3202.json b/packages/amazonq/.changes/next-release/Bug Fix-63cca37f-cf3c-42ff-bc9d-b3f71c0e3202.json new file mode 100644 index 00000000000..a7a14bc22e1 --- /dev/null +++ b/packages/amazonq/.changes/next-release/Bug Fix-63cca37f-cf3c-42ff-bc9d-b3f71c0e3202.json @@ -0,0 +1,4 @@ +{ + "type": "Bug Fix", + "description": "Align example help text with prompt message in chat" +} diff --git a/packages/amazonq/.changes/next-release/Bug Fix-8459b9ba-8260-411b-ad00-0ed1394263d0.json b/packages/amazonq/.changes/next-release/Bug Fix-8459b9ba-8260-411b-ad00-0ed1394263d0.json new file mode 100644 index 00000000000..1b36d42e2bc --- /dev/null +++ b/packages/amazonq/.changes/next-release/Bug Fix-8459b9ba-8260-411b-ad00-0ed1394263d0.json @@ -0,0 +1,4 @@ +{ + "type": "Bug Fix", + "description": "Improve `@workspace` index auto pause start strategy. " +} diff --git a/packages/amazonq/.changes/next-release/Feature-4eed9d3c-8ada-44de-9621-fb34fbbc9e15.json b/packages/amazonq/.changes/next-release/Feature-4eed9d3c-8ada-44de-9621-fb34fbbc9e15.json new file mode 100644 index 00000000000..9ba30d72858 --- /dev/null +++ b/packages/amazonq/.changes/next-release/Feature-4eed9d3c-8ada-44de-9621-fb34fbbc9e15.json @@ -0,0 +1,4 @@ +{ + "type": "Feature", + "description": "Allow users to View and Apply diff when they explictily send code to Amazon Q using - Fix, Refactor, Optimize and Send To Prompt." +} diff --git a/packages/amazonq/.changes/next-release/Feature-79cd3c68-8432-44b5-a004-dd98b8e858d8.json b/packages/amazonq/.changes/next-release/Feature-79cd3c68-8432-44b5-a004-dd98b8e858d8.json new file mode 100644 index 00000000000..9bbef151fd7 --- /dev/null +++ b/packages/amazonq/.changes/next-release/Feature-79cd3c68-8432-44b5-a004-dd98b8e858d8.json @@ -0,0 +1,4 @@ +{ + "type": "Feature", + "description": "Security Scan: Auto-scan now supports JSX, TSX, Kotlin, Scala, and Shell files." +} diff --git a/packages/amazonq/CHANGELOG.md b/packages/amazonq/CHANGELOG.md index e166ac338be..7ecc7cd43bb 100644 --- a/packages/amazonq/CHANGELOG.md +++ b/packages/amazonq/CHANGELOG.md @@ -1,3 +1,15 @@ +## 1.33.0 2024-10-30 + +- **Bug Fix** Amazon Q /dev: fix for stop button showing for Code Transformation + +## 1.32.0 2024-10-29 + +- **Bug Fix** Remove warning when no input is provided to inline chat input box +- **Bug Fix** Use Sagemaker environment IAM Credentials for Code Completion when they're available +- **Bug Fix** Inline: Code completion not working for Sagemaker Pro Tier users. +- **Bug Fix** Disable /transform and /dev commands for sagemaker users as they're not supported +- **Feature** Enable Free Tier Chat for IAM users + ## 1.31.0 2024-10-29 - **Breaking Change** Change keybind for focusing chat to ctrl+win+i on Windows, ctrl+cmd+i on macOS and ctrl+meta+i on Linux diff --git a/packages/amazonq/package.json b/packages/amazonq/package.json index cdcb96300bf..3f82d6c06af 100644 --- a/packages/amazonq/package.json +++ b/packages/amazonq/package.json @@ -2,7 +2,7 @@ "name": "amazon-q-vscode", "displayName": "Amazon Q", "description": "Amazon Q is your generative AI-powered assistant across the software development lifecycle.", - "version": "1.32.0-SNAPSHOT", + "version": "1.34.0-SNAPSHOT", "extensionKind": [ "workspace" ], @@ -196,13 +196,13 @@ "type": "webview", "id": "aws.amazonq.AmazonCommonAuth", "name": "%AWS.amazonq.login%", - "when": "!aws.isSageMaker && !aws.isWebExtHost && aws.amazonq.showLoginView" + "when": "!aws.isWebExtHost && aws.amazonq.showLoginView" }, { "type": "webview", "id": "aws.AmazonQChatView", "name": "%AWS.amazonq.chat%", - "when": "!aws.isSageMaker && !aws.isWebExtHost && !aws.amazonq.showLoginView" + "when": "!aws.isWebExtHost && !aws.amazonq.showLoginView" }, { "id": "aws.AmazonQNeverShowBadge", diff --git a/packages/amazonq/src/api.ts b/packages/amazonq/src/api.ts index 51b5225079b..03b2a32ea55 100644 --- a/packages/amazonq/src/api.ts +++ b/packages/amazonq/src/api.ts @@ -3,6 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { SendMessageCommandOutput, SendMessageRequest } from '@amzn/amazon-q-developer-streaming-client' import { GenerateAssistantResponseCommandOutput, GenerateAssistantResponseRequest } from '@amzn/codewhisperer-streaming' import { AuthUtil } from 'aws-core-vscode/codewhisperer' import { ChatSession } from 'aws-core-vscode/codewhispererChat' @@ -12,7 +13,11 @@ export default { chatApi: { async chat(request: GenerateAssistantResponseRequest): Promise { const chatSession = new ChatSession() - return chatSession.chat(request) + return chatSession.chatSso(request) + }, + async chatIam(request: SendMessageRequest): Promise { + const chatSession = new ChatSession() + return chatSession.chatIam(request) }, }, authApi: { diff --git a/packages/amazonq/src/extension.ts b/packages/amazonq/src/extension.ts index d7c7f3c1448..add823b5a9e 100644 --- a/packages/amazonq/src/extension.ts +++ b/packages/amazonq/src/extension.ts @@ -3,20 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { - AuthUtils, - CredentialsStore, - LoginManager, - getTelemetryMetadataForConn, - initializeAuth, - isAnySsoConnection, -} from 'aws-core-vscode/auth' -import { - AuthState, - AuthUtil, - activate as activateCodeWhisperer, - shutdown as shutdownCodeWhisperer, -} from 'aws-core-vscode/codewhisperer' +import { AuthUtils, CredentialsStore, LoginManager, initializeAuth } from 'aws-core-vscode/auth' +import { activate as activateCodeWhisperer, shutdown as shutdownCodeWhisperer } from 'aws-core-vscode/codewhisperer' import { makeEndpointsProvider, registerGenericCommands } from 'aws-core-vscode' import { CommonAuthWebview } from 'aws-core-vscode/login' import { @@ -38,14 +26,13 @@ import { globals, initialize, initializeComputeRegion, - isNetworkError, messages, placeholder, setContext, setupUninstallHandler, maybeShowMinVscodeWarning, } from 'aws-core-vscode/shared' -import { ExtStartUpSources, telemetry } from 'aws-core-vscode/telemetry' +import { ExtStartUpSources } from 'aws-core-vscode/telemetry' import { VSCODE_EXTENSION_ID } from 'aws-core-vscode/utils' import { join } from 'path' import * as semver from 'semver' @@ -160,53 +147,6 @@ export async function activateAmazonQCommon(context: vscode.ExtensionContext, is void focusAmazonQPanel.execute(placeholder, 'firstStartUp') }, 1000) } - - await telemetry.auth_userState - .run(async () => { - telemetry.record({ passive: true }) - - const firstUse = AuthUtils.ExtensionUse.instance.isFirstUse() - const wasUpdated = AuthUtils.ExtensionUse.instance.wasUpdated() - - if (firstUse) { - telemetry.record({ source: ExtStartUpSources.firstStartUp }) - } else if (wasUpdated) { - telemetry.record({ source: ExtStartUpSources.update }) - } else { - telemetry.record({ source: ExtStartUpSources.reload }) - } - - let authState: AuthState = 'disconnected' - try { - // May call connection validate functions that try to refresh the token. - // This could result in network errors. - authState = (await AuthUtil.instance.getChatAuthState(false)).codewhispererChat - } catch (err) { - if ( - isNetworkError(err) && - AuthUtil.instance.conn && - AuthUtil.instance.auth.getConnectionState(AuthUtil.instance.conn) === 'valid' - ) { - authState = 'connectedWithNetworkError' - } else { - throw err - } - } - const currConn = AuthUtil.instance.conn - if (currConn !== undefined && !isAnySsoConnection(currConn)) { - getLogger().error(`Current Amazon Q connection is not SSO, type is: %s`, currConn?.type) - } - - telemetry.record({ - authStatus: - authState === 'connected' || authState === 'expired' || authState === 'connectedWithNetworkError' - ? authState - : 'notConnected', - authEnabledConnections: AuthUtils.getAuthFormIdsFromConnection(currConn).join(','), - ...(await getTelemetryMetadataForConn(currConn)), - }) - }) - .catch((err) => getLogger().error('Error collecting telemetry for auth_userState: %s', err)) } export async function deactivateCommon() { diff --git a/packages/amazonq/src/extensionNode.ts b/packages/amazonq/src/extensionNode.ts index cd07aeba981..efb118e570c 100644 --- a/packages/amazonq/src/extensionNode.ts +++ b/packages/amazonq/src/extensionNode.ts @@ -7,16 +7,20 @@ import * as vscode from 'vscode' import { activateAmazonQCommon, amazonQContextPrefix, deactivateCommon } from './extension' import { DefaultAmazonQAppInitContext } from 'aws-core-vscode/amazonq' import { activate as activateQGumby } from 'aws-core-vscode/amazonqGumby' -import { ExtContext, globals, CrashMonitoring } from 'aws-core-vscode/shared' +import { ExtContext, globals, CrashMonitoring, getLogger, isNetworkError, isSageMaker } from 'aws-core-vscode/shared' import { filetypes, SchemaService } from 'aws-core-vscode/sharedNode' import { updateDevMode } from 'aws-core-vscode/dev' import { CommonAuthViewProvider } from 'aws-core-vscode/login' import { isExtensionActive, VSCODE_EXTENSION_ID } from 'aws-core-vscode/utils' import { registerSubmitFeedback } from 'aws-core-vscode/feedback' import { DevOptions } from 'aws-core-vscode/dev' -import { Auth } from 'aws-core-vscode/auth' +import { Auth, AuthUtils, getTelemetryMetadataForConn, isAnySsoConnection } from 'aws-core-vscode/auth' import api from './api' import { activate as activateCWChat } from './app/chat/activation' +import { beta } from 'aws-core-vscode/dev' +import { activate as activateNotifications } from 'aws-core-vscode/notifications' +import { AuthState, AuthUtil } from 'aws-core-vscode/codewhisperer' +import { telemetry, AuthUserState } from 'aws-core-vscode/telemetry' export async function activate(context: vscode.ExtensionContext) { // IMPORTANT: No other code should be added to this function. Place it in one of the following 2 functions where appropriate. @@ -59,6 +63,51 @@ async function activateAmazonQNode(context: vscode.ExtensionContext) { filetypes.activate() await setupDevMode(context) + await beta.activate(context) + + // TODO: Should probably emit for web as well. + // Will the web metric look the same? + const authState = await getAuthState() + telemetry.auth_userState.emit({ + passive: true, + result: 'Succeeded', + source: AuthUtils.ExtensionUse.instance.sourceForTelemetry(), + ...authState, + }) + + await activateNotifications(context, authState, getAuthState) +} + +async function getAuthState(): Promise> { + let authState: AuthState = 'disconnected' + try { + // May call connection validate functions that try to refresh the token. + // This could result in network errors. + authState = (await AuthUtil.instance.getChatAuthState(false)).codewhispererChat + } catch (err) { + if ( + isNetworkError(err) && + AuthUtil.instance.conn && + AuthUtil.instance.auth.getConnectionState(AuthUtil.instance.conn) === 'valid' + ) { + authState = 'connectedWithNetworkError' + } else { + throw err + } + } + const currConn = AuthUtil.instance.conn + if (currConn !== undefined && !(isAnySsoConnection(currConn) || isSageMaker())) { + getLogger().error(`Current Amazon Q connection is not SSO, type is: %s`, currConn?.type) + } + + return { + authStatus: + authState === 'connected' || authState === 'expired' || authState === 'connectedWithNetworkError' + ? authState + : 'notConnected', + authEnabledConnections: AuthUtils.getAuthFormIdsFromConnection(currConn).join(','), + ...(await getTelemetryMetadataForConn(currConn)), + } } /** diff --git a/packages/amazonq/src/inlineChat/controller/inlineChatController.ts b/packages/amazonq/src/inlineChat/controller/inlineChatController.ts index b8a058ead8b..7f692e5acf1 100644 --- a/packages/amazonq/src/inlineChat/controller/inlineChatController.ts +++ b/packages/amazonq/src/inlineChat/controller/inlineChatController.ts @@ -13,7 +13,16 @@ import { computeDecorations } from '../decorations/computeDecorations' import { CodelensProvider } from '../codeLenses/codeLenseProvider' import { PromptMessage, ReferenceLogController } from 'aws-core-vscode/codewhispererChat' import { CodeWhispererSettings } from 'aws-core-vscode/codewhisperer' -import { codicon, getIcon, getLogger, messages, setContext, Timeout, textDocumentUtil } from 'aws-core-vscode/shared' +import { + codicon, + getIcon, + getLogger, + messages, + setContext, + Timeout, + textDocumentUtil, + isSageMaker, +} from 'aws-core-vscode/shared' import { InlineLineAnnotationController } from '../decorations/inlineLineAnnotationController' export class InlineChatController { @@ -162,6 +171,11 @@ export class InlineChatController { return } + if (isSageMaker()) { + void vscode.window.showWarningMessage('Amazon Q: Inline chat is not supported in Sagemaker') + return + } + if (this.task && this.task.isActiveState()) { void vscode.window.showWarningMessage( 'Amazon Q: Reject or Accept the current suggestion before creating a new one' @@ -177,7 +191,7 @@ export class InlineChatController { }) .then(async (query) => { if (!query || query.trim() === '') { - void vscode.window.showWarningMessage('Amazon Q: Instructions for cannot be empty') + getLogger().info('inlineQuickPick query is empty') return } diff --git a/packages/amazonq/src/inlineChat/provider/inlineChatProvider.ts b/packages/amazonq/src/inlineChat/provider/inlineChatProvider.ts index 91fbad54f93..aad41b3cd1b 100644 --- a/packages/amazonq/src/inlineChat/provider/inlineChatProvider.ts +++ b/packages/amazonq/src/inlineChat/provider/inlineChatProvider.ts @@ -111,20 +111,15 @@ export class InlineChatProvider { const request = triggerPayloadToChatRequest(triggerPayload) const session = this.sessionStorage.getSession(tabID) - getLogger().info( - `request from tab: ${tabID} conversationID: ${session.sessionIdentifier} request: ${JSON.stringify( - request - )}` - ) + getLogger().info(`request from tab: ${tabID} conversationID: ${session.sessionIdentifier} request: %O`, request) let response: GenerateAssistantResponseCommandOutput | undefined = undefined session.createNewTokenSource() try { - response = await session.chat(request) + response = await session.chatSso(request) getLogger().info( - `response to tab: ${tabID} conversationID: ${session.sessionIdentifier} requestID: ${response.$metadata.requestId} metadata: ${JSON.stringify( - response.$metadata - )}` + `response to tab: ${tabID} conversationID: ${session.sessionIdentifier} requestID: ${response.$metadata.requestId} metadata: %O`, + response.$metadata ) } catch (e: any) { this.processException(e, tabID) diff --git a/packages/amazonq/test/unit/codewhisperer/util/securityScanLanguageContext.test.ts b/packages/amazonq/test/unit/codewhisperer/util/securityScanLanguageContext.test.ts index 71ece8c66a9..cb0a51fdad8 100644 --- a/packages/amazonq/test/unit/codewhisperer/util/securityScanLanguageContext.test.ts +++ b/packages/amazonq/test/unit/codewhisperer/util/securityScanLanguageContext.test.ts @@ -17,20 +17,20 @@ describe('securityScanLanguageContext', function () { ['javascript', true], ['typescript', true], ['jsx', false], - ['javascriptreact', false], - ['typescriptreact', false], + ['javascriptreact', true], + ['typescriptreact', true], ['tsx', false], ['csharp', true], ['python', true], ['c', true], ['cpp', true], ['go', true], - ['kotlin', false], + ['kotlin', true], ['php', true], ['ruby', true], ['rust', false], - ['scala', false], - ['shellscript', false], + ['scala', true], + ['shellscript', true], ['sql', false], ['json', true], ['yaml', true], @@ -92,7 +92,9 @@ describe('securityScanLanguageContext', function () { ['java', 'java'], ['python', 'python'], ['javascript', 'javascript'], + ['javascriptreact', 'javascript'], ['typescript', 'typescript'], + ['typescriptreact', 'typescript'], ['csharp', 'csharp'], ['go', 'go'], ['ruby', 'ruby'], @@ -112,6 +114,9 @@ describe('securityScanLanguageContext', function () { ['java-properties', 'plaintext'], ['go.mod', 'plaintext'], ['go.sum', 'plaintext'], + ['kotlin', 'kotlin'], + ['scala', 'scala'], + ['shellscript', 'shell'], ] for (const [securityScanLanguageId, expectedCwsprLanguageId] of securityScanLanguageIds) { diff --git a/packages/core/package.json b/packages/core/package.json index 58f75a209b4..a4334e471db 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -457,10 +457,12 @@ "webfont": "^11.2.26" }, "dependencies": { + "@amzn/amazon-q-developer-streaming-client": "file:../../src.gen/@amzn/amazon-q-developer-streaming-client", "@amzn/codewhisperer-streaming": "file:../../src.gen/@amzn/codewhisperer-streaming", "@aws-sdk/client-cloudwatch-logs": "^3.666.0", "@aws-sdk/client-cognito-identity": "^3.637.0", "@aws-sdk/client-lambda": "^3.637.0", + "@aws-sdk/client-cloudformation": "^3.667.0", "@aws-sdk/client-sso": "^3.342.0", "@aws-sdk/client-sso-oidc": "^3.574.0", "@aws-sdk/credential-provider-ini": "3.46.0", diff --git a/packages/core/package.nls.json b/packages/core/package.nls.json index e2957fd08b4..e4a1f8c3e3a 100644 --- a/packages/core/package.nls.json +++ b/packages/core/package.nls.json @@ -79,9 +79,18 @@ "AWS.configuration.description.amazonq.workspaceIndexUseGPU": "Enable GPU to help index your local workspace files. Only applies to Linux and Windows.", "AWS.configuration.description.amazonq.workspaceIndexMaxSize": "The maximum size of local workspace files to be indexed in MB", "AWS.command.apig.copyUrl": "Copy URL", - "AWS.command.apig.invokeRemoteRestApi": "Invoke on AWS", + "AWS.command.apig.invokeRemoteRestApi": "Invoke in the cloud", "AWS.command.apig.invokeRemoteRestApi.cn": "Invoke on Amazon", + "AWS.appBuilder.explorerTitle": "Application Builder", + "AWS.appBuilder.explorerNode.noApps": "[This resource is not yet supported.]", + "AWS.appBuilder.explorerNode.unavailableDeployedResource": "[Failed to retrive deployed resource.]", + "AWS.command.appBuilder.openHandler": "Open Function Handler", "AWS.command.applicationComposer.open": "Open with Infrastructure Composer", + "AWS.command.appBuilder.openTemplate": "Open Template File", + "AWS.command.appBuilder.deploy": "Deploy SAM Application", + "AWS.command.appBuilder.build": "Build SAM Template", + "AWS.command.appBuilder.searchLogs": "Search Logs", + "AWS.command.refreshappBuilderExplorer": "Refresh Application Builder Explorer", "AWS.command.applicationComposer.openDialog": "Open Template with Infrastructure Composer...", "AWS.command.auth.addConnection": "Add New Connection", "AWS.command.auth.showConnectionsPage": "Add New Connection", @@ -118,7 +127,7 @@ "AWS.command.aboutToolkit": "About", "AWS.command.downloadLambda": "Download...", "AWS.command.uploadLambda": "Upload Lambda...", - "AWS.command.invokeLambda": "Invoke on AWS", + "AWS.command.invokeLambda": "Invoke in the cloud", "AWS.command.invokeLambda.cn": "Invoke on Amazon", "AWS.command.refreshAwsExplorer": "Refresh Explorer", "AWS.command.refreshCdkExplorer": "Refresh CDK Explorer", @@ -148,6 +157,8 @@ "AWS.command.renderStateMachineGraph": "Render graph", "AWS.command.copyArn": "Copy ARN", "AWS.command.copyName": "Copy Name", + "AWS.command.openAwsConsole": "Go to AWS management console", + "AWS.command.openAwsConsole.cn": "Go to Amazon management console", "AWS.command.listCommands": "Show AWS Commands...", "AWS.command.listCommands.cn": "Show Amazon Commands...", "AWS.command.downloadStateMachineDefinition": "Download Definition...", @@ -199,8 +210,8 @@ "AWS.command.ssmDocument.openLocalDocumentJson": "Download as JSON", "AWS.command.ssmDocument.openLocalDocumentYaml": "Download as YAML", "AWS.command.ssmDocument.publishDocument": "Publish a Systems Manager Document", - "AWS.command.launchConfigForm.title": "Edit SAM Debug Configuration", - "AWS.command.addSamDebugConfig": "Add SAM Debug Configuration", + "AWS.command.launchConfigForm.title": "Local Invoke and Debug Configuration", + "AWS.command.addSamDebugConfig": "Add Local Invoke and Debug Configuration", "AWS.command.toggleSamCodeLenses": "Toggle SAM hints in source files", "AWS.command.apprunner.createService": "Create Service", "AWS.command.apprunner.createServiceFromEcr": "Create App Runner Service", @@ -323,5 +334,16 @@ "AWS.amazonq.featureDev.placeholder.feedback": "Provide feedback or comments", "AWS.amazonq.featureDev.placeholder.describe": "Describe your task or issue in detail", "AWS.amazonq.featureDev.placeholder.sessionClosed": "Open a new chat tab to continue", - "AWS.amazonq.inline.invokeChat": "Inline chat" + "AWS.amazonq.inline.invokeChat": "Inline chat", + "AWS.toolkit.lambda.walkthrough.quickpickTitle": "Application Builder Walkthrough", + "AWS.toolkit.lambda.walkthrough.title": "Get started building your application", + "AWS.toolkit.lambda.walkthrough.description": "Your quick guide to build an application visually, iterate locally, and deploy to the cloud!", + "AWS.toolkit.lambda.walkthrough.toolInstall.title": "Complete installation", + "AWS.toolkit.lambda.walkthrough.toolInstall.description": "The AWS Command Line Interface (AWS CLI) is an open source tool that enables you to interact with AWS services using commands in your command-line shell. It is required to create and interact with AWS resources. \n\n[Install AWS CLI](command:aws.toolkit.installAWSCLI)\n\n Use the Serverless Application Model (SAM) CLI to locally build, invoke, and deploy your functions. Version 1.98+ is required. \n\n[Install SAM CLI](command:aws.toolkit.installSAMCLI)\n\n Use Docker to locally emulate a Lambda environment. Docker is optional. However, if you want to invoke locally, Docker is required so Lambda can locally emulate the execution environment. \n\n[Install Docker (optional)](command:aws.toolkit.installDocker)", + "AWS.toolkit.lambda.walkthrough.chooseTemplate.title": "Choose your application template", + "AWS.toolkit.lambda.walkthrough.chooseTemplate.description": "Select a starter application, visually compose an application from scratch, open an existing application, or browse more application examples. \n\nInfrastructure Composer allows you to visually compose modern applications in the cloud. It will define the necessary permissions between resources when you drag a connection between them. \n\n[Initialize your project](command:aws.toolkit.lambda.initializeWalkthroughProject)", + "AWS.toolkit.lambda.walkthrough.step1.title": "Iterate locally", + "AWS.toolkit.lambda.walkthrough.step1.description": "Locally test and debug your code.", + "AWS.toolkit.lambda.walkthrough.step2.title": "Deploy to the cloud", + "AWS.toolkit.lambda.walkthrough.step2.description": "Test your application in the cloud from within VS Code. \n\nNote: The AWS CLI and the SAM CLI require AWS Credentials to interact with the cloud. For information on setting up your credentials, see [Authentication and access credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). \n\n[Configure credentials](command:aws.toolkit.lambda.walkthrough.credential)" } diff --git a/packages/core/resources/icons/aws/applicationcomposer/icon-dark.svg b/packages/core/resources/icons/aws/applicationcomposer/icon-dark.svg index 632d645338e..c631f327ae0 100644 --- a/packages/core/resources/icons/aws/applicationcomposer/icon-dark.svg +++ b/packages/core/resources/icons/aws/applicationcomposer/icon-dark.svg @@ -2,6 +2,6 @@ Icon-Service/16/AWS-Application-Composer_16_White - + diff --git a/packages/core/resources/icons/aws/applicationcomposer/icon.svg b/packages/core/resources/icons/aws/applicationcomposer/icon.svg index f2b405cfe57..65580136ce7 100644 --- a/packages/core/resources/icons/aws/applicationcomposer/icon.svg +++ b/packages/core/resources/icons/aws/applicationcomposer/icon.svg @@ -2,6 +2,6 @@ Icon-Service/16/AWS-Application-Composer_16 - + diff --git a/packages/core/resources/markdown/samReadme.md b/packages/core/resources/markdown/samReadme.md index e98229d9b5c..14022174844 100644 --- a/packages/core/resources/markdown/samReadme.md +++ b/packages/core/resources/markdown/samReadme.md @@ -13,9 +13,9 @@ ${LISTOFCONFIGURATIONS} You can debug the Lambda handlers locally by adding a breakpoint to the source file, then running the launch configuration. This works by using Docker on your local machine. -Invocation parameters, including payloads and request parameters, can be edited either by the `Edit SAM Debug Configuration` command (through the ${COMMANDPALETTE} or ${CODELENS}) or by editing the `launch.json` file. +Invocation parameters, including payloads and request parameters, can be edited either by the `Local Invoke and Debug Configuration` command (through the ${COMMANDPALETTE} or ${CODELENS}) or by editing the `launch.json` file. -${COMPANYNAME} Lambda functions not defined in the [`template.yaml`](./template.yaml) file can be invoked and debugged by creating a launch configuration through the ${CODELENS} over the function declaration, or with the `Add SAM Debug Configuration` command. +${COMPANYNAME} Lambda functions not defined in the [`template.yaml`](./template.yaml) file can be invoked and debugged by creating a launch configuration through the ${CODELENS} over the function declaration, or with the `Add Local Invoke and Debug Configuration` command. ## Deploying Serverless Applications diff --git a/packages/core/resources/walkthrough/appBuilder/AppPicker.md b/packages/core/resources/walkthrough/appBuilder/AppPicker.md new file mode 100644 index 00000000000..dbb78f0108d --- /dev/null +++ b/packages/core/resources/walkthrough/appBuilder/AppPicker.md @@ -0,0 +1,25 @@ + +
+ + + Rest API + + + + File processing + +
+
+ + + New template with visual builder + + + + Current workspace template + +
+
+ + See more application example... + diff --git a/packages/core/resources/walkthrough/appBuilder/AppPickerResource/API.png b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/API.png new file mode 100644 index 00000000000..3cda59fbf48 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/API.png differ diff --git a/packages/core/resources/walkthrough/appBuilder/AppPickerResource/AppComposer.png b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/AppComposer.png new file mode 100644 index 00000000000..51ceb392f05 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/AppComposer.png differ diff --git a/packages/core/resources/walkthrough/appBuilder/AppPickerResource/CustomTemplate.png b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/CustomTemplate.png new file mode 100644 index 00000000000..6ebe6fe27a6 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/CustomTemplate.png differ diff --git a/packages/core/resources/walkthrough/appBuilder/AppPickerResource/S3.png b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/S3.png new file mode 100644 index 00000000000..7ea7eebd23b Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/AppPickerResource/S3.png differ diff --git a/packages/core/resources/walkthrough/appBuilder/InnerLoop.md b/packages/core/resources/walkthrough/appBuilder/InnerLoop.md new file mode 100644 index 00000000000..97f54e9dbca --- /dev/null +++ b/packages/core/resources/walkthrough/appBuilder/InnerLoop.md @@ -0,0 +1,12 @@ +

Build your code

+Compile your code and install dependencies with SAM CLI so you can invoke it locally. +clicking build icon in AppBuilder sidebar on project node +

Select function to invoke

+Find the function you want to invoke in Application Builder and use the icon to open the invoke and debug view. +clicking invoke function icon in AppBuilder sidebar on Lambda function node +

Invoke your function

+Configure a payload to use for invoking your function. +clicking invoke function button in local invoke webview +

View your execution results

+The VS Code panel will display the results of your invocation. +View your execution results in the output panel diff --git a/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-1.jpg b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-1.jpg new file mode 100644 index 00000000000..b1236191118 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-1.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-2.jpg b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-2.jpg new file mode 100644 index 00000000000..d7c0295e5ce Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-2.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-3.jpg b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-3.jpg new file mode 100644 index 00000000000..471cf590830 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-3.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-4.jpg b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-4.jpg new file mode 100644 index 00000000000..c0df6db61b0 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/InnerLoopResource/walkthrough-local-4.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/RemoteLoop.md b/packages/core/resources/walkthrough/appBuilder/RemoteLoop.md new file mode 100644 index 00000000000..f811771127b --- /dev/null +++ b/packages/core/resources/walkthrough/appBuilder/RemoteLoop.md @@ -0,0 +1,12 @@ +

Deploy your application

+Use SAM CLI to deploy your application template to the cloud. +Click Deploy SAM Application button in Appbuilder Sidebar on project node +

Select deployed function to invoke

+Find the function you want to invoke in Application Builder and use the icon to open the remote invocation view. +click Invoke in the cloud button in AppBuilder Sidebar on cloud function resource node +

Invoke your function with a payload

+Configure a payload to use for invoking your function. +add a payload and click invoke button in remote invoke panel +

View your execution result in the output panel

+The VS Code panel will display the results of your invocation. +View your execution result in the output panel diff --git a/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-1.jpg b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-1.jpg new file mode 100644 index 00000000000..c036fc93eaf Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-1.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-2.jpg b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-2.jpg new file mode 100644 index 00000000000..e542edc38f4 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-2.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-3.jpg b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-3.jpg new file mode 100644 index 00000000000..891cfdc4aa0 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-3.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-4.jpg b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-4.jpg new file mode 100644 index 00000000000..738a7d0b91f Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/RemoteLoopResource/walkthrough-remote-4.jpg differ diff --git a/packages/core/resources/walkthrough/appBuilder/install.png b/packages/core/resources/walkthrough/appBuilder/install.png new file mode 100644 index 00000000000..cdbae8b83a6 Binary files /dev/null and b/packages/core/resources/walkthrough/appBuilder/install.png differ diff --git a/packages/core/resources/walkthrough/setup-connect.md b/packages/core/resources/walkthrough/setup-connect.md index 44a1584838a..e78f612f4f7 100644 --- a/packages/core/resources/walkthrough/setup-connect.md +++ b/packages/core/resources/walkthrough/setup-connect.md @@ -12,7 +12,7 @@ Choose the most appropriate method based on your requirements. ## Connect to AWS through the Toolkit for VS Code -1. [Click here](command:aws.login) to open the configuration wizard to connect to AWS. +1. [Click here](command:aws.toolkit.login) to open the configuration wizard to connect to AWS. > This command can also be accessed through the [Command Palette](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/toolkit-navigation.html#command-locations) by choosing **AWS: >Connect to AWS**\. > diff --git a/packages/core/resources/walkthrough/setup-region.md b/packages/core/resources/walkthrough/setup-region.md index 292eb1ad220..50a9101e6bb 100644 --- a/packages/core/resources/walkthrough/setup-region.md +++ b/packages/core/resources/walkthrough/setup-region.md @@ -4,7 +4,7 @@ When you set up your credentials, the AWS Toolkit for Visual Studio Code automat ## Add a Region to the AWS Explorer -1. [Click here](command:aws.showRegion) to select a Region to add or remove. +1. [Click here](command:aws.toolkit.showRegion) to select a Region to add or remove. > This command can also be accessed through the [Command Palette](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/toolkit-navigation.html#command-locations) by choosing **AWS: Show or Hide Regions**\. > diff --git a/packages/core/src/amazonq/extApi.ts b/packages/core/src/amazonq/extApi.ts index 8475fc6ba56..874ee018526 100644 --- a/packages/core/src/amazonq/extApi.ts +++ b/packages/core/src/amazonq/extApi.ts @@ -5,6 +5,7 @@ import vscode from 'vscode' import { VSCODE_EXTENSION_ID } from '../shared/utilities' +import { SendMessageCommandOutput, SendMessageRequest } from '@amzn/amazon-q-developer-streaming-client' import { GenerateAssistantResponseCommandOutput, GenerateAssistantResponseRequest } from '@amzn/codewhisperer-streaming' import { FeatureAuthState } from '../codewhisperer/util/authUtil' import { ToolkitError } from '../shared' @@ -16,6 +17,7 @@ import { ToolkitError } from '../shared' export interface api { chatApi: { chat(request: GenerateAssistantResponseRequest): Promise + chatIam(request: SendMessageRequest): Promise } authApi: { reauthIfNeeded(): Promise diff --git a/packages/core/src/amazonq/index.ts b/packages/core/src/amazonq/index.ts index d015bfb6122..a08748b2b98 100644 --- a/packages/core/src/amazonq/index.ts +++ b/packages/core/src/amazonq/index.ts @@ -42,11 +42,12 @@ import { FeatureContext } from '../shared' export function createMynahUI( ideApi: any, amazonQEnabled: boolean, - featureConfigsSerialized: [string, FeatureContext][] + featureConfigsSerialized: [string, FeatureContext][], + disabledCommands?: string[] ) { if (typeof window !== 'undefined') { const mynahUI = require('./webview/ui/main') - return mynahUI.createMynahUI(ideApi, amazonQEnabled, featureConfigsSerialized) + return mynahUI.createMynahUI(ideApi, amazonQEnabled, featureConfigsSerialized, disabledCommands) } throw new Error('Not implemented for node') } diff --git a/packages/core/src/amazonq/lsp/lspController.ts b/packages/core/src/amazonq/lsp/lspController.ts index 4d68ed760a1..2ea37c84990 100644 --- a/packages/core/src/amazonq/lsp/lspController.ts +++ b/packages/core/src/amazonq/lsp/lspController.ts @@ -66,7 +66,7 @@ export interface Manifest { } const manifestUrl = 'https://aws-toolkit-language-servers.amazonaws.com/q-context/manifest.json' // this LSP client in Q extension is only going to work with these LSP server versions -const supportedLspServerVersions = ['0.1.22', '0.1.19'] +const supportedLspServerVersions = ['0.1.25'] const nodeBinName = process.platform === 'win32' ? 'node.exe' : 'node' @@ -354,15 +354,14 @@ export class LspController { credentialStartUrl: buildIndexConfig.startUrl, }) } else { - // TODO: Re-enable this code path for LSP 0.1.20+ - // getLogger().error(`LspController: Failed to build index of project`) - // telemetry.amazonq_indexWorkspace.emit({ - // duration: performance.now() - start, - // result: 'Failed', - // amazonqIndexFileCount: 0, - // amazonqIndexFileSizeInMB: 0, - // reason: `Unknown`, - // }) + getLogger().error(`LspController: Failed to build index of project`) + telemetry.amazonq_indexWorkspace.emit({ + duration: performance.now() - start, + result: 'Failed', + amazonqIndexFileCount: 0, + amazonqIndexFileSizeInMB: 0, + reason: `Unknown`, + }) } } catch (error) { //TODO: use telemetry.run() diff --git a/packages/core/src/amazonq/webview/generators/webViewContent.ts b/packages/core/src/amazonq/webview/generators/webViewContent.ts index 0d67fffbec4..da1492f467f 100644 --- a/packages/core/src/amazonq/webview/generators/webViewContent.ts +++ b/packages/core/src/amazonq/webview/generators/webViewContent.ts @@ -6,7 +6,7 @@ import path from 'path' import { Uri, Webview } from 'vscode' import { AuthUtil } from '../../../codewhisperer/util/authUtil' -import { FeatureConfigProvider, FeatureContext, globals } from '../../../shared' +import { FeatureConfigProvider, FeatureContext, globals, isSageMaker } from '../../../shared' export class WebViewContentGenerator { private async generateFeatureConfigsData(): Promise { @@ -77,6 +77,8 @@ export class WebViewContentGenerator { // Fetch featureConfigs and use it within the script const featureConfigsString = await this.generateFeatureConfigsData() + const disabledCommandsString = isSageMaker() ? `['/dev', '/transform']` : '[]' + return ` ${cssLinks} @@ -84,7 +86,7 @@ export class WebViewContentGenerator { const init = () => { createMynahUI(acquireVsCodeApi(), ${ (await AuthUtil.instance.getChatAuthState()).amazonQ === 'connected' - },${featureConfigsString}); + },${featureConfigsString},${disabledCommandsString}); } ` diff --git a/packages/core/src/amazonq/webview/ui/apps/baseConnector.ts b/packages/core/src/amazonq/webview/ui/apps/baseConnector.ts new file mode 100644 index 00000000000..e28c599d910 --- /dev/null +++ b/packages/core/src/amazonq/webview/ui/apps/baseConnector.ts @@ -0,0 +1,298 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import { ChatItem, ChatItemAction, ChatItemType, FeedbackPayload } from '@aws/mynah-ui' +import { ExtensionMessage } from '../commands' +import { CodeReference } from './amazonqCommonsConnector' +import { TabOpenType, TabsStorage, TabType } from '../storages/tabsStorage' +import { FollowUpGenerator } from '../followUps/generator' +import { CWCChatItem } from '../connector' + +interface ChatPayload { + chatMessage: string + chatCommand?: string +} + +export interface BaseConnectorProps { + sendMessageToExtension: (message: ExtensionMessage) => void + onMessageReceived?: (tabID: string, messageData: any, needToShowAPIDocsTab: boolean) => void + onChatAnswerReceived?: (tabID: string, message: CWCChatItem | ChatItem, messageData: any) => void + onError: (tabID: string, message: string, title: string) => void + onWarning: (tabID: string, message: string, title: string) => void + onOpenSettingsMessage: (tabID: string) => void + tabsStorage: TabsStorage +} + +export abstract class BaseConnector { + protected readonly sendMessageToExtension + protected readonly onError + protected readonly onWarning + protected readonly onChatAnswerReceived + protected readonly onOpenSettingsMessage + protected readonly followUpGenerator: FollowUpGenerator + protected readonly tabsStorage + + abstract getTabType(): TabType + + constructor(props: BaseConnectorProps) { + this.sendMessageToExtension = props.sendMessageToExtension + this.onChatAnswerReceived = props.onChatAnswerReceived + this.onWarning = props.onWarning + this.onError = props.onError + this.onOpenSettingsMessage = props.onOpenSettingsMessage + this.tabsStorage = props.tabsStorage + this.followUpGenerator = new FollowUpGenerator() + } + + onResponseBodyLinkClick = (tabID: string, messageId: string, link: string): void => { + this.sendMessageToExtension({ + command: 'response-body-link-click', + tabID, + messageId, + link, + tabType: this.getTabType(), + }) + } + onInfoLinkClick = (tabID: string, link: string): void => { + this.sendMessageToExtension({ + command: 'footer-info-link-click', + tabID, + link, + tabType: this.getTabType(), + }) + } + + followUpClicked = (tabID: string, messageId: string, followUp: ChatItemAction): void => { + /** + * We've pressed on a followup button and should start watching that round trip telemetry + */ + this.sendMessageToExtension({ + command: 'start-chat-message-telemetry', + trigger: 'followUpClicked', + tabID, + traceId: messageId, + tabType: this.getTabType(), + startTime: Date.now(), + }) + this.sendMessageToExtension({ + command: 'follow-up-was-clicked', + followUp, + tabID, + messageId, + tabType: this.getTabType(), + }) + } + + onTabAdd = (tabID: string, tabOpenInteractionType?: TabOpenType): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'new-tab-was-created', + tabType: this.getTabType(), + tabOpenInteractionType, + }) + } + + onCodeInsertToCursorPosition = ( + tabID: string, + messageId: string, + code?: string, + type?: 'selection' | 'block', + codeReference?: CodeReference[], + eventId?: string, + codeBlockIndex?: number, + totalCodeBlocks?: number, + userIntent?: string, + codeBlockLanguage?: string + ): void => { + this.sendMessageToExtension({ + tabID: tabID, + messageId, + code, + command: 'insert_code_at_cursor_position', + tabType: this.getTabType(), + insertionTargetType: type, + codeReference, + eventId, + codeBlockIndex, + totalCodeBlocks, + userIntent, + codeBlockLanguage, + }) + } + + onCopyCodeToClipboard = ( + tabID: string, + messageId: string, + code?: string, + type?: 'selection' | 'block', + codeReference?: CodeReference[], + eventId?: string, + codeBlockIndex?: number, + totalCodeBlocks?: number, + userIntent?: string, + codeBlockLanguage?: string + ): void => { + this.sendMessageToExtension({ + tabID: tabID, + messageId, + code, + command: 'code_was_copied_to_clipboard', + tabType: this.getTabType(), + insertionTargetType: type, + codeReference, + eventId, + codeBlockIndex, + totalCodeBlocks, + userIntent, + codeBlockLanguage, + }) + } + + onTabRemove = (tabID: string): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'tab-was-removed', + tabType: this.getTabType(), + }) + } + + onTabChange = (tabID: string, prevTabID?: string) => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'tab-was-changed', + tabType: this.getTabType(), + prevTabID, + }) + } + + onStopChatResponse = (tabID: string): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'stop-response', + tabType: this.getTabType(), + }) + } + + onChatItemVoted = (tabID: string, messageId: string, vote: 'upvote' | 'downvote'): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'chat-item-voted', + messageId, + vote, + tabType: this.getTabType(), + }) + } + onSendFeedback = (tabID: string, feedbackPayload: FeedbackPayload): void | undefined => { + this.sendMessageToExtension({ + command: 'chat-item-feedback', + ...feedbackPayload, + tabType: this.getTabType(), + tabID: tabID, + }) + } + + requestGenerativeAIAnswer = (tabID: string, messageId: string, payload: ChatPayload): Promise => { + /** + * When a user presses "enter" send an event that indicates + * we should start tracking the round trip time for this message + **/ + this.sendMessageToExtension({ + command: 'start-chat-message-telemetry', + trigger: 'onChatPrompt', + tabID, + traceId: messageId, + tabType: this.getTabType(), + startTime: Date.now(), + }) + return new Promise((resolve, reject) => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'chat-prompt', + chatMessage: payload.chatMessage, + chatCommand: payload.chatCommand, + tabType: this.getTabType(), + }) + }) + } + + clearChat = (tabID: string): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'clear', + chatMessage: '', + tabType: this.getTabType(), + }) + } + + help = (tabID: string): void => { + this.sendMessageToExtension({ + tabID: tabID, + command: 'help', + chatMessage: '', + tabType: this.getTabType(), + }) + } + + onTabOpen = (tabID: string): void => { + this.sendMessageToExtension({ + tabID, + command: 'new-tab-was-created', + tabType: this.getTabType(), + }) + } + + protected sendTriggerMessageProcessed = async (requestID: any): Promise => { + this.sendMessageToExtension({ + command: 'trigger-message-processed', + requestID: requestID, + tabType: this.getTabType(), + }) + } + + protected processAuthNeededException = async (messageData: any): Promise => { + if (this.onChatAnswerReceived === undefined) { + return + } + + this.onChatAnswerReceived( + messageData.tabID, + { + type: ChatItemType.ANSWER, + messageId: messageData.triggerID, + body: messageData.message, + followUp: this.followUpGenerator.generateAuthFollowUps(this.getTabType(), messageData.authType), + canBeVoted: false, + }, + messageData + ) + + return + } + + protected processOpenSettingsMessage = async (messageData: any): Promise => { + this.onOpenSettingsMessage(messageData.tabID) + } + + protected baseHandleMessageReceive = async (messageData: any): Promise => { + if (messageData.type === 'errorMessage') { + this.onError(messageData.tabID, messageData.message, messageData.title) + return + } + if (messageData.type === 'showInvalidTokenNotification') { + this.onWarning(messageData.tabID, messageData.message, messageData.title) + return + } + + if (messageData.type === 'authNeededException') { + await this.processAuthNeededException(messageData) + return + } + + if (messageData.type === 'openSettingsMessage') { + await this.processOpenSettingsMessage(messageData) + return + } + } +} diff --git a/packages/core/src/amazonq/webview/ui/apps/cwChatConnector.ts b/packages/core/src/amazonq/webview/ui/apps/cwChatConnector.ts index 3e5ea73b3ba..58f525857a8 100644 --- a/packages/core/src/amazonq/webview/ui/apps/cwChatConnector.ts +++ b/packages/core/src/amazonq/webview/ui/apps/cwChatConnector.ts @@ -3,46 +3,25 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { ChatItemAction, ChatItemType, FeedbackPayload } from '@aws/mynah-ui' -import { ExtensionMessage } from '../commands' -import { CodeReference } from './amazonqCommonsConnector' -import { TabOpenType, TabsStorage } from '../storages/tabsStorage' -import { FollowUpGenerator } from '../followUps/generator' +import { ChatItemType } from '@aws/mynah-ui' +import { TabType } from '../storages/tabsStorage' import { CWCChatItem } from '../connector' +import { BaseConnector, BaseConnectorProps } from './baseConnector' -interface ChatPayload { - chatMessage: string - chatCommand?: string -} - -export interface ConnectorProps { - sendMessageToExtension: (message: ExtensionMessage) => void - onMessageReceived?: (tabID: string, messageData: any, needToShowAPIDocsTab: boolean) => void - onChatAnswerReceived?: (tabID: string, message: CWCChatItem, messageData: any) => void +export interface ConnectorProps extends BaseConnectorProps { onCWCContextCommandMessage: (message: CWCChatItem, command?: string) => string | undefined - onError: (tabID: string, message: string, title: string) => void - onWarning: (tabID: string, message: string, title: string) => void - onOpenSettingsMessage: (tabID: string) => void - tabsStorage: TabsStorage } -export class Connector { - private readonly sendMessageToExtension - private readonly onError - private readonly onWarning - private readonly onChatAnswerReceived +export class Connector extends BaseConnector { private readonly onCWCContextCommandMessage - private readonly onOpenSettingsMessage - private readonly followUpGenerator: FollowUpGenerator + + override getTabType(): TabType { + return 'cwc' + } constructor(props: ConnectorProps) { - this.sendMessageToExtension = props.sendMessageToExtension - this.onChatAnswerReceived = props.onChatAnswerReceived - this.onWarning = props.onWarning - this.onError = props.onError + super(props) this.onCWCContextCommandMessage = props.onCWCContextCommandMessage - this.onOpenSettingsMessage = props.onOpenSettingsMessage - this.followUpGenerator = new FollowUpGenerator() } onSourceLinkClick = (tabID: string, messageId: string, link: string): void => { @@ -51,203 +30,7 @@ export class Connector { tabID, messageId, link, - tabType: 'cwc', - }) - } - onResponseBodyLinkClick = (tabID: string, messageId: string, link: string): void => { - this.sendMessageToExtension({ - command: 'response-body-link-click', - tabID, - messageId, - link, - tabType: 'cwc', - }) - } - onInfoLinkClick = (tabID: string, link: string): void => { - this.sendMessageToExtension({ - command: 'footer-info-link-click', - tabID, - link, - tabType: 'cwc', - }) - } - - followUpClicked = (tabID: string, messageId: string, followUp: ChatItemAction): void => { - /** - * We've pressed on a followup button and should start watching that round trip telemetry - */ - this.sendMessageToExtension({ - command: 'start-chat-message-telemetry', - trigger: 'followUpClicked', - tabID, - traceId: messageId, - tabType: 'cwc', - startTime: Date.now(), - }) - this.sendMessageToExtension({ - command: 'follow-up-was-clicked', - followUp, - tabID, - messageId, - tabType: 'cwc', - }) - } - - onTabAdd = (tabID: string, tabOpenInteractionType?: TabOpenType): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'new-tab-was-created', - tabType: 'cwc', - tabOpenInteractionType, - }) - } - - onCodeInsertToCursorPosition = ( - tabID: string, - messageId: string, - code?: string, - type?: 'selection' | 'block', - codeReference?: CodeReference[], - eventId?: string, - codeBlockIndex?: number, - totalCodeBlocks?: number, - userIntent?: string, - codeBlockLanguage?: string - ): void => { - this.sendMessageToExtension({ - tabID: tabID, - messageId, - code, - command: 'insert_code_at_cursor_position', - tabType: 'cwc', - insertionTargetType: type, - codeReference, - eventId, - codeBlockIndex, - totalCodeBlocks, - userIntent, - codeBlockLanguage, - }) - } - - onCopyCodeToClipboard = ( - tabID: string, - messageId: string, - code?: string, - type?: 'selection' | 'block', - codeReference?: CodeReference[], - eventId?: string, - codeBlockIndex?: number, - totalCodeBlocks?: number, - userIntent?: string, - codeBlockLanguage?: string - ): void => { - this.sendMessageToExtension({ - tabID: tabID, - messageId, - code, - command: 'code_was_copied_to_clipboard', - tabType: 'cwc', - insertionTargetType: type, - codeReference, - eventId, - codeBlockIndex, - totalCodeBlocks, - userIntent, - codeBlockLanguage, - }) - } - - onTabRemove = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'tab-was-removed', - tabType: 'cwc', - }) - } - - onTabChange = (tabID: string, prevTabID?: string) => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'tab-was-changed', - tabType: 'cwc', - prevTabID, - }) - } - - onStopChatResponse = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'stop-response', - tabType: 'cwc', - }) - } - - onChatItemVoted = (tabID: string, messageId: string, vote: 'upvote' | 'downvote'): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'chat-item-voted', - messageId, - vote, - tabType: 'cwc', - }) - } - onSendFeedback = (tabID: string, feedbackPayload: FeedbackPayload): void | undefined => { - this.sendMessageToExtension({ - command: 'chat-item-feedback', - ...feedbackPayload, - tabType: 'cwc', - tabID: tabID, - }) - } - - requestGenerativeAIAnswer = (tabID: string, messageId: string, payload: ChatPayload): Promise => { - /** - * When a user presses "enter" send an event that indicates - * we should start tracking the round trip time for this message - **/ - this.sendMessageToExtension({ - command: 'start-chat-message-telemetry', - trigger: 'onChatPrompt', - tabID, - traceId: messageId, - tabType: 'cwc', - startTime: Date.now(), - }) - return new Promise((resolve, reject) => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'chat-prompt', - chatMessage: payload.chatMessage, - chatCommand: payload.chatCommand, - tabType: 'cwc', - }) - }) - } - - clearChat = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'clear', - chatMessage: '', - tabType: 'cwc', - }) - } - - help = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'help', - chatMessage: '', - tabType: 'cwc', - }) - } - - private sendTriggerMessageProcessed = async (requestID: any): Promise => { - this.sendMessageToExtension({ - command: 'trigger-message-processed', - requestID: requestID, - tabType: 'cwc', + tabType: this.getTabType(), }) } @@ -270,7 +53,7 @@ export class Connector { command: 'trigger-tabID-received', triggerID, tabID, - tabType: 'cwc', + tabType: this.getTabType(), }) } @@ -348,40 +131,7 @@ export class Connector { } } - private processAuthNeededException = async (messageData: any): Promise => { - if (this.onChatAnswerReceived === undefined) { - return - } - - this.onChatAnswerReceived( - messageData.tabID, - { - type: ChatItemType.ANSWER, - messageId: messageData.triggerID, - body: messageData.message, - followUp: this.followUpGenerator.generateAuthFollowUps('cwc', messageData.authType), - canBeVoted: false, - }, - messageData - ) - - return - } - - private processOpenSettingsMessage = async (messageData: any): Promise => { - this.onOpenSettingsMessage(messageData.tabID) - } - handleMessageReceive = async (messageData: any): Promise => { - if (messageData.type === 'errorMessage') { - this.onError(messageData.tabID, messageData.message, messageData.title) - return - } - if (messageData.type === 'showInvalidTokenNotification') { - this.onWarning(messageData.tabID, messageData.message, messageData.title) - return - } - if (messageData.type === 'chatMessage') { await this.processChatMessage(messageData) return @@ -392,14 +142,7 @@ export class Connector { return } - if (messageData.type === 'authNeededException') { - await this.processAuthNeededException(messageData) - return - } - - if (messageData.type === 'openSettingsMessage') { - await this.processOpenSettingsMessage(messageData) - return - } + // For other message types, call the base class handleMessageReceive + await this.baseHandleMessageReceive(messageData) } } diff --git a/packages/core/src/amazonq/webview/ui/apps/featureDevChatConnector.ts b/packages/core/src/amazonq/webview/ui/apps/featureDevChatConnector.ts index 6ee1828801a..ddc6c68d99c 100644 --- a/packages/core/src/amazonq/webview/ui/apps/featureDevChatConnector.ts +++ b/packages/core/src/amazonq/webview/ui/apps/featureDevChatConnector.ts @@ -3,26 +3,21 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { ChatItem, ChatItemAction, ChatItemType, FeedbackPayload } from '@aws/mynah-ui' -import { ExtensionMessage } from '../commands' -import { TabType, TabsStorage } from '../storages/tabsStorage' -import { CodeReference } from './amazonqCommonsConnector' -import { FollowUpGenerator } from '../followUps/generator' +import { ChatItem, ChatItemType, FeedbackPayload } from '@aws/mynah-ui' +import { TabType } from '../storages/tabsStorage' import { getActions } from '../diffTree/actions' import { DiffTreeFileInfo } from '../diffTree/types' +import { BaseConnector, BaseConnectorProps } from './baseConnector' -interface ChatPayload { - chatMessage: string -} - -export interface ConnectorProps { - sendMessageToExtension: (message: ExtensionMessage) => void - onMessageReceived?: (tabID: string, messageData: any, needToShowAPIDocsTab: boolean) => void - onAsyncEventProgress: (tabID: string, inProgress: boolean, message: string) => void - onChatAnswerReceived?: (tabID: string, message: ChatItem, messageData: any) => void +export interface ConnectorProps extends BaseConnectorProps { + onAsyncEventProgress: ( + tabID: string, + inProgress: boolean, + message: string, + messageId: string | undefined, + enableStopAction: boolean + ) => void sendFeedback?: (tabId: string, feedbackPayload: FeedbackPayload) => void | undefined - onError: (tabID: string, message: string, title: string) => void - onWarning: (tabID: string, message: string, title: string) => void onFileComponentUpdate: ( tabID: string, filePaths: DiffTreeFileInfo[], @@ -34,66 +29,30 @@ export interface ConnectorProps { onChatInputEnabled: (tabID: string, enabled: boolean) => void onUpdateAuthentication: (featureDevEnabled: boolean, authenticatingTabIDs: string[]) => void onNewTab: (tabType: TabType) => void - tabsStorage: TabsStorage } -export class Connector { - private readonly sendMessageToExtension - private readonly onError - private readonly onWarning +export class Connector extends BaseConnector { private readonly onFileComponentUpdate - private readonly onChatAnswerReceived private readonly onAsyncEventProgress private readonly updatePlaceholder private readonly chatInputEnabled private readonly onUpdateAuthentication - private readonly followUpGenerator: FollowUpGenerator private readonly onNewTab + override getTabType(): TabType { + return 'featuredev' + } + constructor(props: ConnectorProps) { - this.sendMessageToExtension = props.sendMessageToExtension - this.onChatAnswerReceived = props.onChatAnswerReceived - this.onWarning = props.onWarning + super(props) this.onFileComponentUpdate = props.onFileComponentUpdate - this.onError = props.onError this.onAsyncEventProgress = props.onAsyncEventProgress this.updatePlaceholder = props.onUpdatePlaceholder this.chatInputEnabled = props.onChatInputEnabled this.onUpdateAuthentication = props.onUpdateAuthentication - this.followUpGenerator = new FollowUpGenerator() this.onNewTab = props.onNewTab } - onCodeInsertToCursorPosition = ( - tabID: string, - code?: string, - type?: 'selection' | 'block', - codeReference?: CodeReference[] - ): void => { - this.sendMessageToExtension({ - tabID: tabID, - code, - command: 'insert_code_at_cursor_position', - codeReference, - tabType: 'featuredev', - }) - } - - onCopyCodeToClipboard = ( - tabID: string, - code?: string, - type?: 'selection' | 'block', - codeReference?: CodeReference[] - ): void => { - this.sendMessageToExtension({ - tabID: tabID, - code, - command: 'code_was_copied_to_clipboard', - codeReference, - tabType: 'featuredev', - }) - } - onOpenDiff = (tabID: string, filePath: string, deleted: boolean, messageId?: string): void => { this.sendMessageToExtension({ command: 'open-diff', @@ -101,7 +60,7 @@ export class Connector { filePath, deleted, messageId, - tabType: 'featuredev', + tabType: this.getTabType(), }) } onFileActionClick = (tabID: string, messageId: string, filePath: string, actionName: string): void => { @@ -111,29 +70,10 @@ export class Connector { messageId, filePath, actionName, - tabType: 'featuredev', + tabType: this.getTabType(), }) } - followUpClicked = (tabID: string, followUp: ChatItemAction): void => { - this.sendMessageToExtension({ - command: 'follow-up-was-clicked', - followUp, - tabID, - tabType: 'featuredev', - }) - } - - requestGenerativeAIAnswer = (tabID: string, payload: ChatPayload): Promise => - new Promise((resolve, reject) => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'chat-prompt', - chatMessage: payload.chatMessage, - tabType: 'featuredev', - }) - }) - private processChatMessage = async (messageData: any): Promise => { if (this.onChatAnswerReceived !== undefined) { const answer: ChatItem = { @@ -185,36 +125,6 @@ export class Connector { } } - private processAuthNeededException = async (messageData: any): Promise => { - if (this.onChatAnswerReceived === undefined) { - return - } - - this.onChatAnswerReceived( - messageData.tabID, - { - type: ChatItemType.ANSWER, - body: messageData.message, - followUp: undefined, - canBeVoted: false, - }, - messageData - ) - - this.onChatAnswerReceived( - messageData.tabID, - { - type: ChatItemType.SYSTEM_PROMPT, - body: undefined, - followUp: this.followUpGenerator.generateAuthFollowUps('featuredev', messageData.authType), - canBeVoted: false, - }, - messageData - ) - - return - } - handleMessageReceive = async (messageData: any): Promise => { if (messageData.type === 'updateFileComponent') { this.onFileComponentUpdate( @@ -225,15 +135,6 @@ export class Connector { ) return } - if (messageData.type === 'errorMessage') { - this.onError(messageData.tabID, messageData.message, messageData.title) - return - } - - if (messageData.type === 'showInvalidTokenNotification') { - this.onWarning(messageData.tabID, messageData.message, messageData.title) - return - } if (messageData.type === 'chatMessage') { await this.processChatMessage(messageData) @@ -246,7 +147,14 @@ export class Connector { } if (messageData.type === 'asyncEventProgressMessage') { - this.onAsyncEventProgress(messageData.tabID, messageData.inProgress, messageData.message ?? undefined) + const enableStopAction = true + this.onAsyncEventProgress( + messageData.tabID, + messageData.inProgress, + messageData.message ?? undefined, + messageData.messageId ?? undefined, + enableStopAction + ) return } @@ -265,67 +173,21 @@ export class Connector { return } - if (messageData.type === 'authNeededException') { - await this.processAuthNeededException(messageData) - return - } - if (messageData.type === 'openNewTabMessage') { this.onNewTab('featuredev') return } - } - - onStopChatResponse = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'stop-response', - tabType: 'featuredev', - }) - } - - onTabOpen = (tabID: string): void => { - this.sendMessageToExtension({ - tabID, - command: 'new-tab-was-created', - tabType: 'featuredev', - }) - } - onTabRemove = (tabID: string): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'tab-was-removed', - tabType: 'featuredev', - }) + // For other message types, call the base class handleMessageReceive + await this.baseHandleMessageReceive(messageData) } sendFeedback = (tabId: string, feedbackPayload: FeedbackPayload): void | undefined => { this.sendMessageToExtension({ command: 'chat-item-feedback', ...feedbackPayload, - tabType: 'featuredev', - tabID: tabId, - }) - } - - onChatItemVoted = (tabId: string, messageId: string, vote: string): void | undefined => { - this.sendMessageToExtension({ + tabType: this.getTabType(), tabID: tabId, - messageId: messageId, - vote: vote, - command: 'chat-item-voted', - tabType: 'featuredev', - }) - } - - onResponseBodyLinkClick = (tabID: string, messageId: string, link: string): void => { - this.sendMessageToExtension({ - command: 'response-body-link-click', - tabID, - messageId, - link, - tabType: 'featuredev', }) } } diff --git a/packages/core/src/amazonq/webview/ui/apps/gumbyChatConnector.ts b/packages/core/src/amazonq/webview/ui/apps/gumbyChatConnector.ts index b12df0a6ef1..9801ff7d27f 100644 --- a/packages/core/src/amazonq/webview/ui/apps/gumbyChatConnector.ts +++ b/packages/core/src/amazonq/webview/ui/apps/gumbyChatConnector.ts @@ -8,24 +8,24 @@ */ import { ChatItem, ChatItemType } from '@aws/mynah-ui' -import { ExtensionMessage } from '../commands' -import { TabOpenType, TabsStorage } from '../storages/tabsStorage' +import { TabType } from '../storages/tabsStorage' import { GumbyMessageType } from '../../../../amazonqGumby/chat/views/connector/connector' import { ChatPayload } from '../connector' - -export interface ConnectorProps { - sendMessageToExtension: (message: ExtensionMessage) => void - onMessageReceived?: (tabID: string, messageData: any, needToShowAPIDocsTab: boolean) => void - onAsyncEventProgress: (tabID: string, inProgress: boolean, message: string, messageId: string) => void - onChatAnswerReceived?: (tabID: string, message: ChatItem, messageData: any) => void +import { BaseConnector, BaseConnectorProps } from './baseConnector' + +export interface ConnectorProps extends BaseConnectorProps { + onAsyncEventProgress: ( + tabID: string, + inProgress: boolean, + message: string, + messageId: string, + enableStopAction: boolean + ) => void onChatAnswerUpdated?: (tabID: string, message: ChatItem) => void onQuickHandlerCommand: (tabID: string, command: string, eventId?: string) => void - onError: (tabID: string, message: string, title: string) => void - onWarning: (tabID: string, message: string, title: string) => void onUpdateAuthentication: (gumbyEnabled: boolean, authenticatingTabIDs: string[]) => void onChatInputEnabled: (tabID: string, enabled: boolean) => void onUpdatePlaceholder: (tabID: string, newPlaceholder: string) => void - tabsStorage: TabsStorage } export interface MessageData { @@ -33,46 +33,26 @@ export interface MessageData { type: GumbyMessageType } -export class Connector { +export class Connector extends BaseConnector { private readonly onAuthenticationUpdate - private readonly sendMessageToExtension - private readonly onError - private readonly onChatAnswerReceived private readonly onChatAnswerUpdated private readonly chatInputEnabled private readonly onAsyncEventProgress private readonly onQuickHandlerCommand private readonly updatePlaceholder - private readonly tabStorage + + override getTabType(): TabType { + return 'gumby' + } constructor(props: ConnectorProps) { - this.sendMessageToExtension = props.sendMessageToExtension - this.onChatAnswerReceived = props.onChatAnswerReceived + super(props) this.onChatAnswerUpdated = props.onChatAnswerUpdated - this.onError = props.onError this.chatInputEnabled = props.onChatInputEnabled this.onAsyncEventProgress = props.onAsyncEventProgress this.updatePlaceholder = props.onUpdatePlaceholder this.onQuickHandlerCommand = props.onQuickHandlerCommand this.onAuthenticationUpdate = props.onUpdateAuthentication - this.tabStorage = props.tabsStorage - } - - onTabAdd = (tabID: string, tabOpenInteractionType?: TabOpenType): void => { - this.sendMessageToExtension({ - tabID: tabID, - command: 'new-tab-was-created', - tabType: 'gumby', - tabOpenInteractionType, - }) - } - - onTabRemove(tabID: string) { - this.sendMessageToExtension({ - tabID: tabID, - command: 'tab-was-removed', - tabType: 'gumby', - }) } private processChatPrompt = async (messageData: any, tabID: string): Promise => { @@ -123,36 +103,21 @@ export class Connector { tabID: tabID, command: 'transform', chatMessage: 'transform', - tabType: 'gumby', + tabType: this.getTabType(), }) } requestAnswer = (tabID: string, payload: ChatPayload) => { - this.tabStorage.updateTabStatus(tabID, 'busy') + this.tabsStorage.updateTabStatus(tabID, 'busy') this.sendMessageToExtension({ tabID: tabID, command: 'chat-prompt', chatMessage: payload.chatMessage, chatCommand: payload.chatCommand, - tabType: 'gumby', + tabType: this.getTabType(), }) } - private processAuthNeededException = async (messageData: any): Promise => { - if (this.onChatAnswerReceived === undefined) { - return - } - - this.onChatAnswerReceived( - messageData.tabID, - { - type: ChatItemType.SYSTEM_PROMPT, - body: messageData.message, - }, - messageData - ) - } - onCustomFormAction( tabId: string, action: { @@ -169,21 +134,11 @@ export class Connector { command: 'form-action-click', action: action.id, formSelectedValues: action.formItemValues, - tabType: 'gumby', + tabType: this.getTabType(), tabID: tabId, }) } - onResponseBodyLinkClick = (tabID: string, messageId: string, link: string): void => { - this.sendMessageToExtension({ - command: 'response-body-link-click', - tabID, - messageId, - link, - tabType: 'gumby', - }) - } - private processExecuteCommand = async (messageData: any): Promise => { this.onQuickHandlerCommand(messageData.tabID, messageData.command, messageData.eventId) } @@ -196,12 +151,10 @@ export class Connector { messageData.tabID, messageData.inProgress, messageData.message, - messageData.messageId + messageData.messageId, + false ) break - case 'authNeededException': - await this.processAuthNeededException(messageData) - break case 'authenticationUpdateMessage': this.onAuthenticationUpdate(messageData.gumbyEnabled, messageData.authenticatingTabIDs) break @@ -214,15 +167,14 @@ export class Connector { case 'chatPrompt': await this.processChatPrompt(messageData, messageData.tabID) break - case 'errorMessage': - this.onError(messageData.tabID, messageData.message, messageData.title) - break case 'sendCommandMessage': await this.processExecuteCommand(messageData) break case 'updatePlaceholderMessage': this.updatePlaceholder(messageData.tabID, messageData.newPlaceholder) break + default: + await this.baseHandleMessageReceive(messageData) } } } diff --git a/packages/core/src/amazonq/webview/ui/connector.ts b/packages/core/src/amazonq/webview/ui/connector.ts index 1d832c8e023..376ca1ca42c 100644 --- a/packages/core/src/amazonq/webview/ui/connector.ts +++ b/packages/core/src/amazonq/webview/ui/connector.ts @@ -145,7 +145,7 @@ export class Connector { if (this.isUIReady) { switch (this.tabsStorage.getTab(tabID)?.type) { case 'featuredev': - return this.featureDevChatConnector.requestGenerativeAIAnswer(tabID, payload) + return this.featureDevChatConnector.requestGenerativeAIAnswer(tabID, messageId, payload) default: return this.cwChatConnector.requestGenerativeAIAnswer(tabID, messageId, payload) } @@ -273,7 +273,18 @@ export class Connector { ) break case 'featuredev': - this.featureDevChatConnector.onCodeInsertToCursorPosition(tabID, code, type, codeReference) + this.featureDevChatConnector.onCodeInsertToCursorPosition( + tabID, + messageId, + code, + type, + codeReference, + eventId, + codeBlockIndex, + totalCodeBlocks, + userIntent, + codeBlockLanguage + ) break } } @@ -364,7 +375,18 @@ export class Connector { ) break case 'featuredev': - this.featureDevChatConnector.onCopyCodeToClipboard(tabID, code, type, codeReference) + this.featureDevChatConnector.onCopyCodeToClipboard( + tabID, + messageId, + code, + type, + codeReference, + eventId, + codeBlockIndex, + totalCodeBlocks, + userIntent, + codeBlockLanguage + ) break } } @@ -444,7 +466,7 @@ export class Connector { this.amazonqCommonsConnector.followUpClicked(tabID, followUp) break case 'featuredev': - this.featureDevChatConnector.followUpClicked(tabID, followUp) + this.featureDevChatConnector.followUpClicked(tabID, messageId, followUp) break default: this.cwChatConnector.followUpClicked(tabID, messageId, followUp) diff --git a/packages/core/src/amazonq/webview/ui/main.ts b/packages/core/src/amazonq/webview/ui/main.ts index 84e76273a59..db9035b2517 100644 --- a/packages/core/src/amazonq/webview/ui/main.ts +++ b/packages/core/src/amazonq/webview/ui/main.ts @@ -31,7 +31,8 @@ import { tryNewMap } from '../../util/functionUtils' export const createMynahUI = ( ideApi: any, amazonQEnabled: boolean, - featureConfigsSerialized: [string, FeatureContext][] + featureConfigsSerialized: [string, FeatureContext][], + disabledCommands?: string[] ) => { // eslint-disable-next-line prefer-const let mynahUI: MynahUI @@ -77,6 +78,7 @@ export const createMynahUI = ( let tabDataGenerator = new TabDataGenerator({ isFeatureDevEnabled, isGumbyEnabled, + disabledCommands, }) // eslint-disable-next-line prefer-const @@ -88,10 +90,10 @@ export const createMynahUI = ( // eslint-disable-next-line prefer-const let messageController: MessageController + // @ts-ignore let featureConfigs: Map = tryNewMap(featureConfigsSerialized) function shouldDisplayDiff(messageData: any) { - const isEnabled = featureConfigs.get('ViewDiffInChat')?.variation === 'TREATMENT' const tab = tabsStorage.getTab(messageData?.tabID || '') const allowedCommands = [ 'aws.amazonq.refactorCode', @@ -99,7 +101,7 @@ export const createMynahUI = ( 'aws.amazonq.optimizeCode', 'aws.amazonq.sendToPrompt', ] - if (isEnabled && tab?.type === 'cwc' && allowedCommands.includes(tab.lastCommand || '')) { + if (tab?.type === 'cwc' && allowedCommands.includes(tab.lastCommand || '')) { return true } return false @@ -118,11 +120,13 @@ export const createMynahUI = ( tabsStorage, isFeatureDevEnabled, isGumbyEnabled, + disabledCommands, }) tabDataGenerator = new TabDataGenerator({ isFeatureDevEnabled, isGumbyEnabled, + disabledCommands, }) featureConfigs = tryNewMap(featureConfigsSerialized) @@ -191,13 +195,14 @@ export const createMynahUI = ( tabID: string, inProgress: boolean, message: string | undefined, - messageId: string | undefined = undefined + messageId: string | undefined = undefined, + enableStopAction: boolean = false ) => { if (inProgress) { mynahUI.updateStore(tabID, { loadingChat: true, promptInputDisabledState: true, - cancelButtonWhenLoading: true, + cancelButtonWhenLoading: enableStopAction, }) if (message && messageId) { diff --git a/packages/core/src/amazonq/webview/ui/messages/constants.ts b/packages/core/src/amazonq/webview/ui/messages/constants.ts deleted file mode 100644 index af2f108b339..00000000000 --- a/packages/core/src/amazonq/webview/ui/messages/constants.ts +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ diff --git a/packages/core/src/amazonq/webview/ui/messages/controller.ts b/packages/core/src/amazonq/webview/ui/messages/controller.ts index 6565423bf56..f49b9a631ce 100644 --- a/packages/core/src/amazonq/webview/ui/messages/controller.ts +++ b/packages/core/src/amazonq/webview/ui/messages/controller.ts @@ -15,6 +15,7 @@ export interface MessageControllerProps { tabsStorage: TabsStorage isFeatureDevEnabled: boolean isGumbyEnabled: boolean + disabledCommands?: string[] } export class MessageController { @@ -30,6 +31,7 @@ export class MessageController { this.tabDataGenerator = new TabDataGenerator({ isFeatureDevEnabled: props.isFeatureDevEnabled, isGumbyEnabled: props.isGumbyEnabled, + disabledCommands: props.disabledCommands, }) } diff --git a/packages/core/src/amazonq/webview/ui/quickActions/generator.ts b/packages/core/src/amazonq/webview/ui/quickActions/generator.ts index 335019e2f06..7c0bf334c15 100644 --- a/packages/core/src/amazonq/webview/ui/quickActions/generator.ts +++ b/packages/core/src/amazonq/webview/ui/quickActions/generator.ts @@ -9,22 +9,25 @@ import { TabType } from '../storages/tabsStorage' export interface QuickActionGeneratorProps { isFeatureDevEnabled: boolean isGumbyEnabled: boolean + disableCommands?: string[] } export class QuickActionGenerator { public isFeatureDevEnabled: boolean private isGumbyEnabled: boolean + private disabledCommands: string[] constructor(props: QuickActionGeneratorProps) { this.isFeatureDevEnabled = props.isFeatureDevEnabled this.isGumbyEnabled = props.isGumbyEnabled + this.disabledCommands = props.disableCommands ?? [] } public generateForTab(tabType: TabType): QuickActionCommandGroup[] { const quickActionCommands = [ { commands: [ - ...(this.isFeatureDevEnabled + ...(this.isFeatureDevEnabled && !this.disabledCommands.includes('/dev') ? [ { command: '/dev', @@ -33,11 +36,11 @@ export class QuickActionGenerator { }, ] : []), - ...(this.isGumbyEnabled + ...(this.isGumbyEnabled && !this.disabledCommands.includes('/transform') ? [ { command: '/transform', - description: 'Transform your Java 8 or 11 Maven project to Java 17', + description: 'Transform your Java project', }, ] : []), @@ -55,7 +58,7 @@ export class QuickActionGenerator { }, ], }, - ] + ].filter((section) => section.commands.length > 0) const commandUnavailability: Record< TabType, diff --git a/packages/core/src/amazonq/webview/ui/quickActions/handler.ts b/packages/core/src/amazonq/webview/ui/quickActions/handler.ts index a219f71d286..dc9ff8e7dba 100644 --- a/packages/core/src/amazonq/webview/ui/quickActions/handler.ts +++ b/packages/core/src/amazonq/webview/ui/quickActions/handler.ts @@ -15,6 +15,7 @@ export interface QuickActionsHandlerProps { tabsStorage: TabsStorage isFeatureDevEnabled: boolean isGumbyEnabled: boolean + disabledCommands?: string[] } export class QuickActionHandler { @@ -32,6 +33,7 @@ export class QuickActionHandler { this.tabDataGenerator = new TabDataGenerator({ isFeatureDevEnabled: props.isFeatureDevEnabled, isGumbyEnabled: props.isGumbyEnabled, + disabledCommands: props.disabledCommands, }) this.isFeatureDevEnabled = props.isFeatureDevEnabled this.isGumbyEnabled = props.isGumbyEnabled diff --git a/packages/core/src/amazonq/webview/ui/tabs/constants.ts b/packages/core/src/amazonq/webview/ui/tabs/constants.ts index 0db6a69d379..8696274c692 100644 --- a/packages/core/src/amazonq/webview/ui/tabs/constants.ts +++ b/packages/core/src/amazonq/webview/ui/tabs/constants.ts @@ -2,6 +2,7 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ +import { isSQLTransformReady } from '../../../../dev/config' import { TabType } from '../storages/tabsStorage' export type TabTypeData = { @@ -33,7 +34,15 @@ What would you like to work on?`, gumby: { title: 'Q - Code Transformation', placeholder: 'Open a new tab to chat with Q', - welcome: `Welcome to Code Transformation! + welcome: isSQLTransformReady + ? `Welcome to code transformation! + +I can help you with the following tasks: +- Upgrade your Java 8 and Java 11 codebases to Java 17 +- Convert embedded SQL from Oracle databases to PostgreSQL + +What would you like to do? You can enter 'language upgrade' or 'SQL conversion'.` + : `Welcome to code transformation! I can help you upgrade your Java 8 and 11 codebases to Java 17.`, }, diff --git a/packages/core/src/amazonq/webview/ui/tabs/generator.ts b/packages/core/src/amazonq/webview/ui/tabs/generator.ts index b466fab7699..e78d21b4101 100644 --- a/packages/core/src/amazonq/webview/ui/tabs/generator.ts +++ b/packages/core/src/amazonq/webview/ui/tabs/generator.ts @@ -12,6 +12,7 @@ import { TabTypeDataMap } from './constants' export interface TabDataGeneratorProps { isFeatureDevEnabled: boolean isGumbyEnabled: boolean + disabledCommands?: string[] } export class TabDataGenerator { @@ -23,6 +24,7 @@ export class TabDataGenerator { this.quickActionsGenerator = new QuickActionGenerator({ isFeatureDevEnabled: props.isFeatureDevEnabled, isGumbyEnabled: props.isGumbyEnabled, + disableCommands: props.disabledCommands, }) } diff --git a/packages/core/src/amazonqGumby/app.ts b/packages/core/src/amazonqGumby/app.ts index d8cba099509..1638231ef24 100644 --- a/packages/core/src/amazonqGumby/app.ts +++ b/packages/core/src/amazonqGumby/app.ts @@ -71,4 +71,5 @@ export function init(appContext: AmazonQAppInitContext) { showTransformationHub.register() transformByQState.setChatControllers(gumbyChatControllerEventEmitters) + transformByQState.setChatMessenger(messenger) } diff --git a/packages/core/src/amazonqGumby/chat/controller/controller.ts b/packages/core/src/amazonqGumby/chat/controller/controller.ts index 676252b57c1..1a9cd74bb73 100644 --- a/packages/core/src/amazonqGumby/chat/controller/controller.ts +++ b/packages/core/src/amazonqGumby/chat/controller/controller.ts @@ -19,18 +19,21 @@ import { cleanupTransformationJob, compileProject, finishHumanInTheLoop, - getValidCandidateProjects, + getValidLanguageUpgradeCandidateProjects, openBuildLogFile, openHilPomFile, parseBuildFile, postTransformationJob, - processTransformFormInput, + processLanguageUpgradeTransformFormInput, + processSQLConversionTransformFormInput, startTransformByQ, stopTransformByQ, validateCanCompileProject, setMaven, + getValidSQLConversionCandidateProjects, + validateSQLMetadataFile, } from '../../../codewhisperer/commands/startTransformByQ' -import { JDKVersion, TransformationCandidateProject, transformByQState } from '../../../codewhisperer/models/model' +import { JDKVersion, transformByQState } from '../../../codewhisperer/models/model' import { AbsolutePathDetectedError, AlternateDependencyVersionsNotFoundError, @@ -39,6 +42,7 @@ import { ModuleUploadError, NoJavaProjectsFoundError, NoMavenJavaProjectsFoundError, + NoOpenProjectsError, TransformationPreBuildError, } from '../../errors' import * as CodeWhispererConstants from '../../../codewhisperer/models/constants' @@ -56,6 +60,9 @@ import { getAuthType } from '../../../codewhisperer/service/transformByQ/transfo import DependencyVersions from '../../models/dependencies' import { getStringHash } from '../../../shared/utilities/textUtilities' import { getVersionData } from '../../../codewhisperer/service/transformByQ/transformMavenHandler' +import AdmZip from 'adm-zip' +import { AuthError } from '../../../auth/sso/server' +import { isSQLTransformReady } from '../../../dev/config' // These events can be interactions within the chat, // or elsewhere in the IDE @@ -183,76 +190,88 @@ export class GumbyController { } private async transformInitiated(message: any) { + // feature flag for SQL transformations + if (!isSQLTransformReady) { + await this.handleLanguageUpgrade(message) + return + } + + // if previous transformation was already running, show correct message to user + switch (this.sessionStorage.getSession().conversationState) { + case ConversationState.JOB_SUBMITTED: + this.messenger.sendAsyncEventProgress( + message.tabID, + true, + undefined, + GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE + ) + this.messenger.sendJobSubmittedMessage(message.tabID) + return + case ConversationState.COMPILING: + this.messenger.sendAsyncEventProgress( + message.tabID, + true, + undefined, + GumbyNamedMessages.COMPILATION_PROGRESS_MESSAGE + ) + this.messenger.sendCompilationInProgress(message.tabID) + return + } + // Start /transform chat flow - const session: Session = this.sessionStorage.getSession() CodeTransformTelemetryState.instance.setSessionId() - try { - await telemetry.codeTransform_initiateTransform.run(async () => { - const authType = await getAuthType() - telemetry.record({ - codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), - credentialSourceId: authType, - }) + this.sessionStorage.getSession().conversationState = ConversationState.WAITING_FOR_TRANSFORMATION_OBJECTIVE + this.messenger.sendStaticTextResponse('choose-transformation-objective', message.tabID) + this.messenger.sendChatInputEnabled(message.tabID, true) + this.messenger.sendUpdatePlaceholder(message.tabID, "Enter 'language upgrade' or 'SQL conversion'") + } - // check that a project is open - const workspaceFolders = vscode.workspace.workspaceFolders - if (workspaceFolders === undefined || workspaceFolders.length === 0) { - this.messenger.sendUnrecoverableErrorResponse('no-project-found', message.tabID) - telemetry.record({ result: MetadataResult.Fail, reason: 'no-project-found' }) - return - } + private async beginTransformation(message: any) { + await telemetry.codeTransform_initiateTransform.run(async () => { + const authType = await getAuthType() + telemetry.record({ + codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), + credentialSourceId: authType, + }) - // check that the session is authenticated - const authState = await AuthUtil.instance.getChatAuthState() - if (authState.amazonQ !== 'connected') { - void this.messenger.sendAuthNeededExceptionMessage(authState, message.tabID) - session.isAuthenticating = true - telemetry.record({ result: MetadataResult.Fail, reason: 'auth-failed' }) - return - } + const authState = await AuthUtil.instance.getChatAuthState() + if (authState.amazonQ !== 'connected') { + this.sessionStorage.getSession().isAuthenticating = true + await this.messenger.sendAuthNeededExceptionMessage(authState, message.tabID) + throw new AuthError('Not connected to Amazon Q', `AuthState=${authState.amazonQ}`) + } + this.messenger.sendTransformationIntroduction(message.tabID) + }) + } - // If previous transformation was already running - switch (this.sessionStorage.getSession().conversationState) { - case ConversationState.JOB_SUBMITTED: - this.messenger.sendAsyncEventProgress( - message.tabID, - true, - undefined, - GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE - ) - this.messenger.sendJobSubmittedMessage(message.tabID) - return - case ConversationState.COMPILING: - this.messenger.sendAsyncEventProgress( - message.tabID, - true, - undefined, - GumbyNamedMessages.COMPILATION_PROGRESS_MESSAGE - ) - this.messenger.sendCompilationInProgress(message.tabID) - return - } - this.messenger.sendTransformationIntroduction(message.tabID) - }) - } catch (e: any) { - // if there was an issue getting the list of valid projects, the error message will be shown here - this.messenger.sendErrorMessage(e.message, message.tabID) + private async handleLanguageUpgrade(message: any) { + try { + await this.beginTransformation(message) + const validProjects = await this.validateLanguageUpgradeProjects(message) + if (validProjects.length > 0) { + this.sessionStorage.getSession().updateCandidateProjects(validProjects) + await this.messenger.sendLanguageUpgradeProjectPrompt(validProjects, message.tabID) + } + } catch (err: any) { + getLogger().error(`Error handling language upgrade: ${err}`) } + } + private async handleSQLConversion(message: any) { try { - const validProjects = await this.validateProjectsWithReplyOnError(message) + await this.beginTransformation(message) + const validProjects = await this.validateSQLConversionProjects(message) if (validProjects.length > 0) { this.sessionStorage.getSession().updateCandidateProjects(validProjects) - await this.messenger.sendProjectPrompt(validProjects, message.tabID) + await this.messenger.sendSelectSQLMetadataFileMessage(message.tabID) } } catch (err: any) { - // if there was an issue getting the list of valid projects, the error message will be shown here - this.messenger.sendErrorMessage(err.message, message.tabID) + getLogger().error(`Error handling SQL conversion: ${err}`) } } - private async validateProjectsWithReplyOnError(message: any): Promise { + private async validateLanguageUpgradeProjects(message: any) { let telemetryJavaVersion = JDKToTelemetryValue(JDKVersion.UNSUPPORTED) as CodeTransformJavaSourceVersionsAllowed try { const validProjects = await telemetry.codeTransform_validateProject.run(async () => { @@ -261,7 +280,7 @@ export class GumbyController { codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), }) - const validProjects = await getValidCandidateProjects() + const validProjects = await getValidLanguageUpgradeCandidateProjects() if (validProjects.length > 0) { // validProjects[0].JDKVersion will be undefined if javap errors out or no .class files found, so call it UNSUPPORTED const javaVersion = validProjects[0].JDKVersion ?? JDKVersion.UNSUPPORTED @@ -282,7 +301,27 @@ export class GumbyController { this.messenger.sendUnrecoverableErrorResponse('no-java-project-found', message.tabID) } else if (e instanceof NoMavenJavaProjectsFoundError) { this.messenger.sendUnrecoverableErrorResponse('no-maven-java-project-found', message.tabID) - } else { + } else if (e instanceof NoOpenProjectsError) { + this.messenger.sendUnrecoverableErrorResponse('no-project-found', message.tabID) + } + } + return [] + } + + private async validateSQLConversionProjects(message: any) { + try { + const validProjects = await telemetry.codeTransform_validateProject.run(async () => { + telemetry.record({ + codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), + }) + const validProjects = await getValidSQLConversionCandidateProjects() + return validProjects + }) + return validProjects + } catch (e: any) { + if (e instanceof NoJavaProjectsFoundError) { + this.messenger.sendUnrecoverableErrorResponse('no-java-project-found', message.tabID) + } else if (e instanceof NoOpenProjectsError) { this.messenger.sendUnrecoverableErrorResponse('no-project-found', message.tabID) } } @@ -292,8 +331,8 @@ export class GumbyController { private async formActionClicked(message: any) { const typedAction = MessengerUtils.stringToEnumValue(ButtonActions, message.action as any) switch (typedAction) { - case ButtonActions.CONFIRM_TRANSFORMATION_FORM: - await this.handleUserProjectSelection(message) + case ButtonActions.CONFIRM_LANGUAGE_UPGRADE_TRANSFORMATION_FORM: + await this.handleUserLanguageUpgradeProjectChoice(message) break case ButtonActions.CANCEL_TRANSFORMATION_FORM: telemetry.codeTransform_submitSelection.emit({ @@ -301,7 +340,10 @@ export class GumbyController { userChoice: 'Cancel', result: MetadataResult.Pass, }) - this.messenger.sendJobFinishedMessage(message.tabID, CodeWhispererConstants.jobCancelledChatMessage) + this.transformationFinished({ + message: CodeWhispererConstants.jobCancelledChatMessage, + tabID: message.tabID, + }) break case ButtonActions.CONFIRM_SKIP_TESTS_FORM: await this.handleSkipTestsSelection(message) @@ -309,6 +351,12 @@ export class GumbyController { case ButtonActions.CANCEL_SKIP_TESTS_FORM: this.messenger.sendJobFinishedMessage(message.tabID, CodeWhispererConstants.jobCancelledChatMessage) break + case ButtonActions.CONFIRM_SQL_CONVERSION_TRANSFORMATION_FORM: + await this.handleUserSQLConversionProjectSelection(message) + break + case ButtonActions.SELECT_SQL_CONVERSION_METADATA_FILE: + await this.processMetadataFile(message) + break case ButtonActions.VIEW_TRANSFORMATION_HUB: await vscode.commands.executeCommand(GumbyCommands.FOCUS_TRANSFORMATION_HUB, CancelActionPositions.Chat) this.messenger.sendJobSubmittedMessage(message.tabID) @@ -357,43 +405,74 @@ export class GumbyController { await this.validateBuildWithPromptOnError(message) } - // prompt user to pick project and specify source JDK version - private async handleUserProjectSelection(message: any) { + private async handleUserLanguageUpgradeProjectChoice(message: any) { await telemetry.codeTransform_submitSelection.run(async () => { - const pathToProject: string = message.formSelectedValues['GumbyTransformProjectForm'] + const pathToProject: string = message.formSelectedValues['GumbyTransformLanguageUpgradeProjectForm'] const toJDKVersion: JDKVersion = message.formSelectedValues['GumbyTransformJdkToForm'] const fromJDKVersion: JDKVersion = message.formSelectedValues['GumbyTransformJdkFromForm'] telemetry.record({ + // TODO: remove JavaSource/TargetVersionsAllowed when BI is updated to use source/target codeTransformJavaSourceVersionsAllowed: JDKToTelemetryValue( fromJDKVersion ) as CodeTransformJavaSourceVersionsAllowed, codeTransformJavaTargetVersionsAllowed: JDKToTelemetryValue( toJDKVersion ) as CodeTransformJavaTargetVersionsAllowed, + source: fromJDKVersion, + target: toJDKVersion, codeTransformProjectId: pathToProject === undefined ? telemetryUndefined : getStringHash(pathToProject), - userChoice: 'Confirm', + userChoice: 'Confirm-Java', }) const projectName = path.basename(pathToProject) - this.messenger.sendProjectSelectionMessage(projectName, fromJDKVersion, toJDKVersion, message.tabID) + this.messenger.sendLanguageUpgradeProjectChoiceMessage( + projectName, + fromJDKVersion, + toJDKVersion, + message.tabID + ) if (fromJDKVersion === JDKVersion.UNSUPPORTED) { this.messenger.sendUnrecoverableErrorResponse('unsupported-source-jdk-version', message.tabID) - telemetry.record({ - result: MetadataResult.Fail, - reason: 'unsupported-source-jdk-version', - }) return } - await processTransformFormInput(pathToProject, fromJDKVersion, toJDKVersion) - + await processLanguageUpgradeTransformFormInput(pathToProject, fromJDKVersion, toJDKVersion) await this.messenger.sendSkipTestsPrompt(message.tabID) }) } - private async prepareProjectForSubmission(message: { pathToJavaHome: string; tabID: string }): Promise { + private async handleUserSQLConversionProjectSelection(message: any) { + await telemetry.codeTransform_submitSelection.run(async () => { + const pathToProject: string = message.formSelectedValues['GumbyTransformSQLConversionProjectForm'] + const schema: string = message.formSelectedValues['GumbyTransformSQLSchemaForm'] + + telemetry.record({ + codeTransformProjectId: pathToProject === undefined ? telemetryUndefined : getStringHash(pathToProject), + source: transformByQState.getSourceDB(), + target: transformByQState.getTargetDB(), + userChoice: 'Confirm-SQL', + }) + + const projectName = path.basename(pathToProject) + this.messenger.sendSQLConversionProjectSelectionMessage(projectName, schema, message.tabID) + + await processSQLConversionTransformFormInput(pathToProject, schema) + + this.messenger.sendAsyncEventProgress( + message.tabID, + true, + undefined, + GumbyNamedMessages.JOB_SUBMISSION_STATUS_MESSAGE + ) + this.messenger.sendJobSubmittedMessage(message.tabID) + this.sessionStorage.getSession().conversationState = ConversationState.JOB_SUBMITTED + await startTransformByQ() + }) + } + + private async prepareLanguageUpgradeProject(message: { pathToJavaHome: string; tabID: string }) { if (message.pathToJavaHome) { transformByQState.setJavaHome(message.pathToJavaHome) getLogger().info( @@ -415,6 +494,7 @@ export class GumbyController { this.messenger.sendCompilationFinished(message.tabID) + // since compilation can potentially take a long time, double check auth const authState = await AuthUtil.instance.getChatAuthState() if (authState.amazonQ !== 'connected') { void this.messenger.sendAuthNeededExceptionMessage(authState, message.tabID) @@ -436,6 +516,7 @@ export class GumbyController { await startTransformByQ() } + // only for Language Upgrades private async validateBuildWithPromptOnError(message: any | undefined = undefined): Promise { try { // Check Java Home is set (not yet prebuilding) @@ -446,12 +527,53 @@ export class GumbyController { this.messenger.sendStaticTextResponse('java-home-not-set', message.tabID) this.messenger.sendChatInputEnabled(message.tabID, true) this.messenger.sendUpdatePlaceholder(message.tabID, 'Enter the path to your Java installation.') - return } - throw err + return } - await this.prepareProjectForSubmission(message) + await this.prepareLanguageUpgradeProject(message) + } + + private async processMetadataFile(message: any) { + const fileUri = await vscode.window.showOpenDialog({ + canSelectMany: false, + openLabel: 'Select', + filters: { + 'SCT metadata': ['zip'], // Restrict user to only pick a .zip file + }, + }) + + if (!fileUri || fileUri.length === 0) { + // user closed the dialog + this.transformationFinished({ + message: CodeWhispererConstants.jobCancelledChatMessage, + tabID: message.tabID, + }) + return + } + + const metadataZip = new AdmZip(fileUri[0].fsPath) + const fileEntries = metadataZip.getEntries() + const metadataFile = fileEntries.find((entry) => entry.name.endsWith('.sct')) + if (!metadataFile) { + this.messenger.sendUnrecoverableErrorResponse('invalid-zip-no-sct-file', message.tabID) + return + } + + const fileContents = metadataFile.getData().toString('utf-8') + + const isValidMetadata = await validateSQLMetadataFile(fileContents, message) + if (!isValidMetadata) { + return + } + + this.messenger.sendSQLConversionMetadataReceivedMessage(message.tabID) + transformByQState.setMetadataPathSQL(fileUri[0].fsPath) + + await this.messenger.sendSQLConversionProjectPrompt( + Array.from(this.sessionStorage.getSession().candidateProjects.values()), + message.tabID + ) } private transformationFinished(data: { message: string | undefined; tabID: string }) { @@ -467,7 +589,7 @@ export class GumbyController { } private startHILIntervention(data: { tabID: string; codeSnippet: string }) { - this.sessionStorage.getSession().conversationState = ConversationState.WAITING_FOR_INPUT + this.sessionStorage.getSession().conversationState = ConversationState.WAITING_FOR_HIL_INPUT this.messenger.sendHumanInTheLoopInitialMessage(data.tabID, data.codeSnippet) } @@ -489,15 +611,28 @@ export class GumbyController { switch (session.conversationState) { case ConversationState.PROMPT_JAVA_HOME: { const pathToJavaHome = extractPath(data.message) - if (pathToJavaHome) { - await this.prepareProjectForSubmission({ + await this.prepareLanguageUpgradeProject({ pathToJavaHome, tabID: data.tabID, }) } else { this.messenger.sendUnrecoverableErrorResponse('invalid-java-home', data.tabID) } + break + } + + case ConversationState.WAITING_FOR_TRANSFORMATION_OBJECTIVE: { + const objective = data.message.trim().toLowerCase() + if (objective === 'language upgrade') { + await this.handleLanguageUpgrade(data) + } else if (objective === 'sql conversion') { + await this.handleSQLConversion(data) + } else { + // keep prompting user until they enter a valid option + await this.transformInitiated(data) + } + break } } } diff --git a/packages/core/src/amazonqGumby/chat/controller/messenger/messenger.ts b/packages/core/src/amazonqGumby/chat/controller/messenger/messenger.ts index 46f40e57fb4..69f0a48cb6d 100644 --- a/packages/core/src/amazonqGumby/chat/controller/messenger/messenger.ts +++ b/packages/core/src/amazonqGumby/chat/controller/messenger/messenger.ts @@ -35,6 +35,9 @@ export type StaticTextResponseType = | 'start-transformation-confirmed' | 'job-transmitted' | 'end-HIL-early' + | 'choose-transformation-objective' + | 'language-upgrade-selected' + | 'sql-conversion-selected' export type UnrecoverableErrorType = | 'no-project-found' @@ -45,6 +48,10 @@ export type UnrecoverableErrorType = | 'unsupported-source-jdk-version' | 'upload-to-s3-failed' | 'job-start-failed' + | 'unsupported-source-db' + | 'unsupported-target-db' + | 'error-parsing-sct-file' + | 'invalid-zip-no-sct-file' export enum GumbyNamedMessages { COMPILATION_PROGRESS_MESSAGE = 'gumbyProjectCompilationMessage', @@ -148,7 +155,7 @@ export class Messenger { ) } - public async sendProjectPrompt(projects: TransformationCandidateProject[], tabID: string) { + public async sendLanguageUpgradeProjectPrompt(projects: TransformationCandidateProject[], tabID: string) { const projectFormOptions: { value: any; label: string }[] = [] const detectedJavaVersions = new Array() @@ -162,7 +169,7 @@ export class Messenger { const formItems: ChatItemFormItem[] = [] formItems.push({ - id: 'GumbyTransformProjectForm', + id: 'GumbyTransformLanguageUpgradeProjectForm', type: 'select', title: CodeWhispererConstants.chooseProjectFormTitle, mandatory: true, @@ -178,11 +185,11 @@ export class Messenger { options: [ { value: JDKVersion.JDK8, - label: JDKVersion.JDK8.toString(), + label: JDKVersion.JDK8, }, { value: JDKVersion.JDK11, - label: JDKVersion.JDK11.toString(), + label: JDKVersion.JDK11, }, { value: JDKVersion.UNSUPPORTED, @@ -207,7 +214,7 @@ export class Messenger { this.dispatcher.sendAsyncEventProgress( new AsyncEventProgressMessage(tabID, { inProgress: true, - message: MessengerUtils.createTransformationConfirmationPrompt(detectedJavaVersions), + message: MessengerUtils.createLanguageUpgradeConfirmationPrompt(detectedJavaVersions), }) ) @@ -224,7 +231,64 @@ export class Messenger { message: 'Q Code Transformation', formItems: formItems, }, - 'TransformForm', + 'LanguageUpgradeTransformForm', + tabID, + false + ) + ) + } + + public async sendSQLConversionProjectPrompt(projects: TransformationCandidateProject[], tabID: string) { + const projectFormOptions: { value: any; label: string }[] = [] + + projects.forEach((candidateProject) => { + projectFormOptions.push({ + value: candidateProject.path, + label: candidateProject.name, + }) + }) + + const formItems: ChatItemFormItem[] = [] + formItems.push({ + id: 'GumbyTransformSQLConversionProjectForm', + type: 'select', + title: 'Choose a project to transform', + mandatory: true, + options: projectFormOptions, + }) + + formItems.push({ + id: 'GumbyTransformSQLSchemaForm', + type: 'select', + title: 'Choose the schema of the database', + mandatory: true, + options: Array.from(transformByQState.getSchemaOptions()).map((schema) => ({ + value: schema, + label: schema, + })), + }) + + this.dispatcher.sendAsyncEventProgress( + new AsyncEventProgressMessage(tabID, { + inProgress: true, + message: 'I can convert your embedded SQL, but I need some more info from you first.', + }) + ) + + this.dispatcher.sendAsyncEventProgress( + new AsyncEventProgressMessage(tabID, { + inProgress: false, + message: undefined, + }) + ) + + this.dispatcher.sendChatPrompt( + new ChatPrompt( + { + message: 'Q Code Transformation', + formItems: formItems, + }, + 'SQLConversionTransformForm', tabID, false ) @@ -315,15 +379,18 @@ export class Messenger { ) } - public sendStaticTextResponse(type: StaticTextResponseType, tabID: string) { + public sendStaticTextResponse(messageType: StaticTextResponseType, tabID: string) { let message = '...' - switch (type) { + switch (messageType) { case 'java-home-not-set': message = MessengerUtils.createJavaHomePrompt() break case 'end-HIL-early': - message = `I will continue transforming your code without upgrading this dependency.` + message = 'I will continue transforming your code without upgrading this dependency.' + break + case 'choose-transformation-objective': + message = 'Choose your transformation objective.' break } @@ -366,6 +433,18 @@ export class Messenger { case 'unsupported-source-jdk-version': message = CodeWhispererConstants.unsupportedJavaVersionChatMessage break + case 'unsupported-source-db': + message = CodeWhispererConstants.invalidMetadataFileUnsupportedSourceDB + break + case 'unsupported-target-db': + message = CodeWhispererConstants.invalidMetadataFileUnsupportedTargetDB + break + case 'error-parsing-sct-file': + message = CodeWhispererConstants.invalidMetadataFileErrorParsing + break + case 'invalid-zip-no-sct-file': + message = CodeWhispererConstants.invalidMetadataFileNoSctFile + break } const buttons: ChatItemButton[] = [] @@ -442,7 +521,7 @@ export class Messenger { ) } - public sendProjectSelectionMessage( + public sendLanguageUpgradeProjectChoiceMessage( projectName: string, fromJDKVersion: JDKVersion, toJDKVersion: JDKVersion, @@ -460,6 +539,35 @@ export class Messenger { this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'prompt' }, tabID)) } + public sendSQLConversionProjectSelectionMessage(projectName: string, schema: string, tabID: string) { + const message = `### Transformation details +------------- +| | | +| :------------------- | -------: | +| **Project** | ${projectName} | +| **Schema** | ${schema} | + ` + this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'prompt' }, tabID)) + } + + public sendSQLConversionMetadataReceivedMessage(tabID: any) { + const message = `### Transformation details +------------- +| | | +| :------------------- | -------: | +| **Source DB** | ${transformByQState.getSourceDB()} | +| **Target DB** | ${transformByQState.getTargetDB()} | +| **Host** | ${transformByQState.getSourceServerName()} | + ` + this.dispatcher.sendChatMessage( + new ChatMessage( + { message: CodeWhispererConstants.sqlMetadataFileReceived, messageType: 'ai-prompt' }, + tabID + ) + ) + this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'ai-prompt' }, tabID)) + } + public sendSkipTestsSelectionMessage(skipTestsSelection: string, tabID: string) { const message = `Okay, I will ${skipTestsSelection.toLowerCase()} when building your project.` this.dispatcher.sendChatMessage(new ChatMessage({ message, messageType: 'ai-prompt' }, tabID)) @@ -612,4 +720,32 @@ ${codeSnippet} ) ) } + + public async sendSelectSQLMetadataFileMessage(tabID: string) { + const message = CodeWhispererConstants.selectSQLMetadataFileHelpMessage + const buttons: ChatItemButton[] = [] + + buttons.push({ + keepCardAfterClick: true, + text: 'Select metadata file', + id: ButtonActions.SELECT_SQL_CONVERSION_METADATA_FILE, + }) + + buttons.push({ + keepCardAfterClick: false, + text: 'Cancel', + id: ButtonActions.CANCEL_TRANSFORMATION_FORM, + }) + + this.dispatcher.sendChatMessage( + new ChatMessage( + { + message, + messageType: 'ai-prompt', + buttons, + }, + tabID + ) + ) + } } diff --git a/packages/core/src/amazonqGumby/chat/controller/messenger/messengerUtils.ts b/packages/core/src/amazonqGumby/chat/controller/messenger/messengerUtils.ts index 184637fbc3b..b5222eb7d6b 100644 --- a/packages/core/src/amazonqGumby/chat/controller/messenger/messengerUtils.ts +++ b/packages/core/src/amazonqGumby/chat/controller/messenger/messengerUtils.ts @@ -13,10 +13,12 @@ import DependencyVersions from '../../../models/dependencies' export enum ButtonActions { STOP_TRANSFORMATION_JOB = 'gumbyStopTransformationJob', VIEW_TRANSFORMATION_HUB = 'gumbyViewTransformationHub', - CONFIRM_TRANSFORMATION_FORM = 'gumbyTransformFormConfirm', + CONFIRM_LANGUAGE_UPGRADE_TRANSFORMATION_FORM = 'gumbyLanguageUpgradeTransformFormConfirm', + CONFIRM_SQL_CONVERSION_TRANSFORMATION_FORM = 'gumbySQLConversionTransformFormConfirm', + CANCEL_TRANSFORMATION_FORM = 'gumbyTransformFormCancel', // shared between Language Upgrade & SQL Conversion CONFIRM_SKIP_TESTS_FORM = 'gumbyTransformSkipTestsFormConfirm', - CANCEL_TRANSFORMATION_FORM = 'gumbyTransformFormCancel', CANCEL_SKIP_TESTS_FORM = 'gumbyTransformSkipTestsFormCancel', + SELECT_SQL_CONVERSION_METADATA_FILE = 'gumbySQLConversionMetadataTransformFormConfirm', CONFIRM_DEPENDENCY_FORM = 'gumbyTransformDependencyFormConfirm', CANCEL_DEPENDENCY_FORM = 'gumbyTransformDependencyFormCancel', CONFIRM_JAVA_HOME_FORM = 'gumbyJavaHomeFormConfirm', @@ -63,7 +65,7 @@ export default class MessengerUtils { } } - static createTransformationConfirmationPrompt = (detectedJavaVersions: Array): string => { + static createLanguageUpgradeConfirmationPrompt = (detectedJavaVersions: Array): string => { let javaVersionString = 'Java project' const uniqueJavaOptions = new Set(detectedJavaVersions) diff --git a/packages/core/src/amazonqGumby/chat/session/session.ts b/packages/core/src/amazonqGumby/chat/session/session.ts index f8416fc22a2..b0ed125c7d8 100644 --- a/packages/core/src/amazonqGumby/chat/session/session.ts +++ b/packages/core/src/amazonqGumby/chat/session/session.ts @@ -10,7 +10,8 @@ export enum ConversationState { PROMPT_JAVA_HOME, COMPILING, JOB_SUBMITTED, - WAITING_FOR_INPUT, + WAITING_FOR_HIL_INPUT, + WAITING_FOR_TRANSFORMATION_OBJECTIVE, } export interface ProjectDetails { diff --git a/packages/core/src/amazonqGumby/chat/views/connector/connector.ts b/packages/core/src/amazonqGumby/chat/views/connector/connector.ts index 098682110d6..9e044780858 100644 --- a/packages/core/src/amazonqGumby/chat/views/connector/connector.ts +++ b/packages/core/src/amazonqGumby/chat/views/connector/connector.ts @@ -117,7 +117,8 @@ export class ChatPrompt extends UiMessage { keepCardAfterClick: false, waitMandatoryFormItems: false, text: 'Cancel', - id: `gumby${promptIDPrefix}Cancel`, + // makes the Cancel button shared in all forms, which is fine since we respond the same exact way each time + id: 'gumbyTransformFormCancel', }) } } diff --git a/packages/core/src/amazonqGumby/telemetry/codeTransformTelemetry.ts b/packages/core/src/amazonqGumby/telemetry/codeTransformTelemetry.ts index f2ad37de84d..edcb89bf586 100644 --- a/packages/core/src/amazonqGumby/telemetry/codeTransformTelemetry.ts +++ b/packages/core/src/amazonqGumby/telemetry/codeTransformTelemetry.ts @@ -40,54 +40,4 @@ export const JDKToTelemetryValue = ( } } -/** - * @description We want the output of our Java versions found - * that are not supported to match IntelliJ output. IntelliJ - * can read the version easily and for VSCode we must exec - * the javap -v command. - */ -export const javapOutputToTelemetryValue = (javapCommandLineOutput: string) => { - switch (javapCommandLineOutput) { - case '49': - return 'JDK_1_5' - case '50': - return 'JDK_1_6' - case '51': - return 'JDK_1_7' - case '52': - return 'JDK_1_8' - case '53': - return 'JDK_1_9' - case '54': - return 'JDK_10' - case '55': - return 'JDK_11' - case '56': - return 'JDK_12' - case '57': - return 'JDK_13' - case '58': - return 'JDK_14' - case '59': - return 'JDK_15' - case '60': - return 'JDK_16' - case '61': - return 'JDK_17' - case '62': - return 'JDK_18' - case '63': - return 'JDK_19' - case '64': - return 'JDK_20' - case '65': - return 'JDK_21' - case '66': - return 'JDK_22' - default: - // If nothing found. Output the number and lookup the java 'major version' numbers online - return javapCommandLineOutput - } -} - export const calculateTotalLatency = (startTime: number): number => globals.clock.Date.now() - startTime diff --git a/packages/core/src/applicationcomposer/commands/openTemplateInComposer.ts b/packages/core/src/applicationcomposer/commands/openTemplateInComposer.ts index ed50e4ee2da..351673754c2 100644 --- a/packages/core/src/applicationcomposer/commands/openTemplateInComposer.ts +++ b/packages/core/src/applicationcomposer/commands/openTemplateInComposer.ts @@ -8,11 +8,13 @@ import { ApplicationComposerManager } from '../webviewManager' import vscode from 'vscode' import { telemetry } from '../../shared/telemetry/telemetry' import { ToolkitError } from '../../shared/errors' +import { isTreeNode, TreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import { SamAppLocation } from '../../awsService/appBuilder/explorer/samProject' import { getAmazonqApi } from '../../amazonq/extApi' export const openTemplateInComposerCommand = Commands.declare( 'aws.openInApplicationComposer', - (manager: ApplicationComposerManager) => async (arg?: vscode.TextEditor | vscode.Uri) => { + (manager: ApplicationComposerManager) => async (arg?: vscode.TextEditor | vscode.Uri | TreeNode) => { let result: vscode.WebviewPanel | undefined await telemetry.appcomposer_openTemplate.run(async (span) => { const amazonqApi = await getAmazonqApi() @@ -26,8 +28,14 @@ export const openTemplateInComposerCommand = Commands.declare( span.record({ hasChatAuth, }) - arg ??= vscode.window.activeTextEditor - const input = arg instanceof vscode.Uri ? arg : arg?.document + let input = undefined + if (arg instanceof vscode.Uri) { + input = arg + } else if (isTreeNode(arg)) { + input = ((arg as TreeNode).resource as SamAppLocation).samTemplateUri + } else { + input = vscode.window.activeTextEditor?.document + } if (!input) { throw new ToolkitError('No active text editor or document found') diff --git a/packages/core/src/applicationcomposer/messageHandlers/generateResourceHandler.ts b/packages/core/src/applicationcomposer/messageHandlers/generateResourceHandler.ts index 1dacff2a93d..6d3e96b81c3 100644 --- a/packages/core/src/applicationcomposer/messageHandlers/generateResourceHandler.ts +++ b/packages/core/src/applicationcomposer/messageHandlers/generateResourceHandler.ts @@ -86,13 +86,13 @@ async function generateResource(cfnType: string) { // TODO-STARLING - Revisit to see if timeout still needed prior to launch const data = await timeout(amazonqApi.chatApi.chat(request), TIMEOUT) const initialResponseTime = globals.clock.Date.now() - startTime - getLogger().debug(`CW Chat initial response: ${JSON.stringify(data, undefined, 2)}, ${initialResponseTime} ms`) + getLogger().debug(`CW Chat initial response: %O, ${initialResponseTime} ms`, data) if (data['$metadata']) { metadata = data['$metadata'] } if (data.generateAssistantResponseResponse === undefined) { - getLogger().debug(`Error: Unexpected model response: ${JSON.stringify(data, undefined, 2)}`) + getLogger().debug(`Error: Unexpected model response: %O`, data) throw new Error('No model response') } @@ -141,12 +141,15 @@ async function generateResource(cfnType: string) { `CW Chat Debug message: cfnType = "${cfnType}", conversationId = ${conversationId}, - metadata = \n${JSON.stringify(metadata, undefined, 2)}, - supplementaryWebLinks = \n${JSON.stringify(supplementaryWebLinks, undefined, 2)}, - references = \n${JSON.stringify(references, undefined, 2)}, + metadata = %O, + supplementaryWebLinks = %O, + references = %O, response = "${response}", initialResponse = ${initialResponseTime} ms, - elapsed time = ${elapsedTime} ms` + elapsed time = ${elapsedTime} ms`, + metadata, + supplementaryWebLinks, + references ) return { @@ -163,7 +166,7 @@ async function generateResource(cfnType: string) { getLogger().debug(`CW Chat error: ${error.name} - ${error.message}`) if (error.$metadata) { const { requestId, cfId, extendedRequestId } = error.$metadata - getLogger().debug(JSON.stringify({ requestId, cfId, extendedRequestId }, undefined, 2)) + getLogger().debug('%O', { requestId, cfId, extendedRequestId }) } throw error diff --git a/packages/core/src/auth/activation.ts b/packages/core/src/auth/activation.ts index 71b9bd098b8..76c92cb7284 100644 --- a/packages/core/src/auth/activation.ts +++ b/packages/core/src/auth/activation.ts @@ -3,16 +3,28 @@ * SPDX-License-Identifier: Apache-2.0 */ +import * as vscode from 'vscode' import { Auth } from './auth' import { LoginManager } from './deprecated/loginManager' import { fromString } from './providers/credentials' import { getLogger } from '../shared/logger' -import { ExtensionUse } from './utils' -import { isCloud9 } from '../shared/extensionUtilities' +import { ExtensionUse, initializeCredentialsProviderManager } from './utils' +import { isAmazonQ, isCloud9, isSageMaker } from '../shared/extensionUtilities' import { isInDevEnv } from '../shared/vscode/env' import { isWeb } from '../shared/extensionGlobals' +interface SagemakerCookie { + authMode?: 'Sso' | 'Iam' +} + export async function initialize(loginManager: LoginManager): Promise { + if (isAmazonQ() && isSageMaker()) { + // The command `sagemaker.parseCookies` is registered in VS Code Sagemaker environment. + const result = (await vscode.commands.executeCommand('sagemaker.parseCookies')) as SagemakerCookie + if (result.authMode !== 'Sso') { + initializeCredentialsProviderManager() + } + } Auth.instance.onDidChangeActiveConnection(async (conn) => { // This logic needs to be moved to `Auth.useConnection` to correctly record `passive` if (conn?.type === 'iam' && conn.state === 'valid') { diff --git a/packages/core/src/auth/index.ts b/packages/core/src/auth/index.ts index 864e5bb18fd..54dd17d702b 100644 --- a/packages/core/src/auth/index.ts +++ b/packages/core/src/auth/index.ts @@ -17,6 +17,7 @@ export { isAnySsoConnection, isBuilderIdConnection, getTelemetryMetadataForConn, + isIamConnection, } from './connection' export { Auth } from './auth' export { CredentialsStore } from './credentials/store' diff --git a/packages/core/src/auth/utils.ts b/packages/core/src/auth/utils.ts index ece410203b9..ea26dc2a3c3 100644 --- a/packages/core/src/auth/utils.ts +++ b/packages/core/src/auth/utils.ts @@ -52,6 +52,14 @@ import { ExtStartUpSources } from '../shared/telemetry' import { CommonAuthWebview } from '../login/webview/vue/backend' import { AuthSource } from '../login/webview/util' import { setContext } from '../shared/vscode/setContext' +import { CredentialsProviderManager } from './providers/credentialsProviderManager' +import { SharedCredentialsProviderFactory } from './providers/sharedCredentialsProviderFactory' +import { Ec2CredentialsProvider } from './providers/ec2CredentialsProvider' +import { EcsCredentialsProvider } from './providers/ecsCredentialsProvider' +import { EnvVarsCredentialsProvider } from './providers/envVarsCredentialsProvider' +import { showMessageWithUrl } from '../shared/utilities/messages' +import { credentialHelpUrl } from '../shared/constants' +import { ExtStartUpSource } from '../shared/telemetry/util' // iam-only excludes Builder ID and IAM Identity Center from the list of valid connections // TODO: Understand if "iam" should include these from the list at all @@ -101,6 +109,46 @@ export async function promptAndUseConnection(...[auth, type]: Parameters { return telemetry.function_call.run( async () => { @@ -687,6 +735,19 @@ export class ExtensionUse { return this.wasExtensionUpdated } + /** + * Returns a {@link ExtStartUpSource} based on the current state of the extension. + */ + sourceForTelemetry(): ExtStartUpSource { + if (this.isFirstUse()) { + return ExtStartUpSources.firstStartUp + } else if (this.wasUpdated()) { + return ExtStartUpSources.update + } else { + return ExtStartUpSources.reload + } + } + private updateMemento(key: 'isExtensionFirstUse' | 'lastExtensionVersion', val: any) { globals.globalState.tryUpdate(key, val) } @@ -731,3 +792,9 @@ export function getAuthFormIdsFromConnection(conn?: Connection): AuthFormId[] { return authIds } + +export function initializeCredentialsProviderManager() { + const manager = CredentialsProviderManager.getInstance() + manager.addProviderFactory(new SharedCredentialsProviderFactory()) + manager.addProviders(new Ec2CredentialsProvider(), new EcsCredentialsProvider(), new EnvVarsCredentialsProvider()) +} diff --git a/packages/core/src/awsService/apigateway/activation.ts b/packages/core/src/awsService/apigateway/activation.ts index 2bf2f44ea4c..78add0d3e67 100644 --- a/packages/core/src/awsService/apigateway/activation.ts +++ b/packages/core/src/awsService/apigateway/activation.ts @@ -9,6 +9,8 @@ import { invokeRemoteRestApi } from './vue/invokeRemoteRestApi' import { copyUrlCommand } from './commands/copyUrl' import { ExtContext } from '../../shared/extensions' import { Commands } from '../../shared/vscode/commands2' +import { TreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import { getSourceNode } from '../../shared/utilities/treeNodeUtils' /** * Activate API Gateway functionality for the extension. @@ -20,14 +22,16 @@ export async function activate(activateArguments: { const extensionContext = activateArguments.extContext.extensionContext const regionProvider = activateArguments.extContext.regionProvider extensionContext.subscriptions.push( - Commands.register('aws.apig.copyUrl', async (node: RestApiNode) => await copyUrlCommand(node, regionProvider)), - Commands.register( - 'aws.apig.invokeRemoteRestApi', - async (node: RestApiNode) => - await invokeRemoteRestApi(activateArguments.extContext, { - apiNode: node, - outputChannel: activateArguments.outputChannel, - }) - ) + Commands.register('aws.apig.copyUrl', async (node: RestApiNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await copyUrlCommand(sourceNode, regionProvider) + }), + Commands.register('aws.apig.invokeRemoteRestApi', async (node: RestApiNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await invokeRemoteRestApi(activateArguments.extContext, { + apiNode: sourceNode, + outputChannel: activateArguments.outputChannel, + }) + }) ) } diff --git a/packages/core/src/awsService/appBuilder/activation.ts b/packages/core/src/awsService/appBuilder/activation.ts new file mode 100644 index 00000000000..9f30282573c --- /dev/null +++ b/packages/core/src/awsService/appBuilder/activation.ts @@ -0,0 +1,205 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import globals from '../../shared/extensionGlobals' +import { ExtContext } from '../../shared/extensions' +import { Commands, VsCodeCommandArg } from '../../shared/vscode/commands2' +import { ToolView } from '../../awsexplorer/toolView' +import { telemetry } from '../../shared/telemetry/telemetry' +import { activateViewsShared, registerToolView } from '../../awsexplorer/activationShared' +import { setContext } from '../../shared/vscode/setContext' +import { fs } from '../../shared/fs/fs' +import { AppBuilderRootNode } from './explorer/nodes/rootNode' +import { initWalkthroughProjectCommand, walkthroughContextString, getOrInstallCliWrapper } from './walkthrough' +import { getLogger } from '../../shared/logger' +import path from 'path' +import { TreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import { runBuild } from '../../shared/sam/build' +import { runOpenHandler, runOpenTemplate } from './utils' +import { ResourceNode } from './explorer/nodes/resourceNode' +import { getSyncWizard, runSync } from '../../shared/sam/sync' +import { getDeployWizard, runDeploy } from '../../shared/sam/deploy' +import { DeployTypeWizard } from './wizards/deployTypeWizard' + +export const templateToOpenAppComposer = 'aws.toolkit.appComposer.templateToOpenOnStart' + +/** + * Activates the AWS Explorer UI and related functionality. + * + * IMPORTANT: Views that should work in all vscode environments (node or web) + * should be setup in {@link activateViewsShared}. + */ +export async function activate(context: ExtContext): Promise { + // recover context variables from global state when activate + const walkthroughSelected = globals.globalState.get(walkthroughContextString) + if (walkthroughSelected !== undefined) { + await setContext(walkthroughContextString, walkthroughSelected) + } + + await registerAppBuilderCommands(context) + + const appBuilderNode: ToolView[] = [ + { + nodes: [AppBuilderRootNode.instance], + view: 'aws.appBuilder', + refreshCommands: [AppBuilderRootNode.instance.refreshAppBuilderExplorer], + }, + { + nodes: [AppBuilderRootNode.instance], + view: 'aws.appBuilderForFileExplorer', + refreshCommands: [AppBuilderRootNode.instance.refreshAppBuilderForFileExplorer], + }, + ] + + const watcher = vscode.workspace.createFileSystemWatcher('**/{template.yaml,template.yml,samconfig.toml}') + watcher.onDidChange(async (uri) => runRefreshAppBuilder(uri, 'changed')) + watcher.onDidCreate(async (uri) => runRefreshAppBuilder(uri, 'created')) + watcher.onDidDelete(async (uri) => runRefreshAppBuilder(uri, 'deleted')) + + for (const viewNode of appBuilderNode) { + registerToolView(viewNode, context.extensionContext) + } + + await openApplicationComposerAfterReload() +} + +async function runRefreshAppBuilder(uri: vscode.Uri, event: string) { + getLogger().debug(`${uri.fsPath} ${event}, refreshing appBuilder`) + await vscode.commands.executeCommand('aws.appBuilderForFileExplorer.refresh') + await vscode.commands.executeCommand('aws.appBuilder.refresh') +} + +/** + * To support open template in AppComposer after extension reload. + * This typically happens when user create project from walkthrough + * and added a new folder to an empty workspace. + * + * Checkes templateToOpenAppComposer in global and opens template + * Directly return if templateToOpenAppComposer is undefined + */ +export async function openApplicationComposerAfterReload(): Promise { + const templatesToOpen = globals.globalState.get<[string]>(templateToOpenAppComposer) + // undefined + if (!templatesToOpen) { + return + } + + for (const template of templatesToOpen) { + const templateUri = vscode.Uri.file(template) + const templateFolder = vscode.Uri.file(path.dirname(template)) + const basename = path.basename(template) + // ignore templates that doesn't belong to current workspace, ignore if not template + if ( + !vscode.workspace.getWorkspaceFolder(templateFolder) || + (basename !== 'template.yaml' && basename !== 'template.yml') + ) { + continue + } + + await vscode.commands.executeCommand('workbench.action.focusFirstEditorGroup') + await vscode.commands.executeCommand('aws.openInApplicationComposer', templateUri) + + if (await fs.exists(vscode.Uri.joinPath(templateFolder, 'README.md'))) { + await vscode.commands.executeCommand('workbench.action.focusFirstEditorGroup') + await vscode.commands.executeCommand( + 'markdown.showPreview', + vscode.Uri.joinPath(templateFolder, 'README.md') + ) + } + } + // set to undefined + await globals.globalState.update(templateToOpenAppComposer, undefined) +} + +async function setWalkthrough(walkthroughSelected: string = 'S3'): Promise { + await setContext(walkthroughContextString, walkthroughSelected) + await globals.globalState.update(walkthroughContextString, walkthroughSelected) +} + +/** + * + * @param context VScode Context + */ +async function registerAppBuilderCommands(context: ExtContext): Promise { + const source = 'AppBuilderWalkthrough' + context.extensionContext.subscriptions.push( + Commands.register('aws.toolkit.installSAMCLI', async () => { + await getOrInstallCliWrapper('sam-cli', source) + }), + Commands.register('aws.toolkit.installAWSCLI', async () => { + await getOrInstallCliWrapper('aws-cli', source) + }), + Commands.register('aws.toolkit.installDocker', async () => { + await getOrInstallCliWrapper('docker', source) + }), + Commands.register('aws.toolkit.lambda.setWalkthroughToAPI', async () => { + await setWalkthrough('API') + }), + Commands.register('aws.toolkit.lambda.setWalkthroughToS3', async () => { + await setWalkthrough('S3') + }), + Commands.register('aws.toolkit.lambda.setWalkthroughToVisual', async () => { + await setWalkthrough('Visual') + }), + Commands.register('aws.toolkit.lambda.setWalkthroughToCustomTemplate', async () => { + await setWalkthrough('CustomTemplate') + }), + Commands.register('aws.toolkit.lambda.initializeWalkthroughProject', async (): Promise => { + await telemetry.appBuilder_selectWalkthroughTemplate.run(async () => await initWalkthroughProjectCommand()) + await globals.globalState.update('aws.toolkit.lambda.walkthroughCompleted', true) + }), + Commands.register('aws.toolkit.lambda.walkthrough.credential', async (): Promise => { + await vscode.commands.executeCommand('aws.toolkit.auth.manageConnections', source) + }), + Commands.register( + { id: `aws.toolkit.lambda.openWalkthrough`, compositeKey: { 1: 'source' } }, + async (_: VsCodeCommandArg, source?: string) => { + telemetry.appBuilder_startWalkthrough.emit({ source: source }) + await vscode.commands.executeCommand( + 'workbench.action.openWalkthrough', + 'amazonwebservices.aws-toolkit-vscode#aws.toolkit.lambda.walkthrough' + ) + } + ), + Commands.register( + { + id: 'aws.appBuilder.build', + autoconnect: false, + }, + async (arg?: TreeNode | undefined) => await telemetry.sam_build.run(async () => await runBuild(arg)) + ), + Commands.register({ id: 'aws.appBuilder.openTemplate', autoconnect: false }, async (arg: TreeNode) => + telemetry.appBuilder_openTemplate.run(async (span) => { + if (arg) { + span.record({ source: 'AppBuilderOpenTemplate' }) + } else { + span.record({ source: 'commandPalette' }) + } + await runOpenTemplate(arg) + }) + ), + Commands.register({ id: 'aws.appBuilder.openHandler', autoconnect: false }, async (arg: ResourceNode) => + telemetry.lambda_goToHandler.run(async (span) => { + span.record({ source: 'AppBuilderOpenHandler' }) + await runOpenHandler(arg) + }) + ), + Commands.register({ id: 'aws.appBuilder.deploy', autoconnect: true }, async (arg) => { + const wizard = new DeployTypeWizard( + await getSyncWizard('infra', arg, undefined, false), + await getDeployWizard(arg, false) + ) + const choices = await wizard.run() + if (choices) { + if (choices.choice === 'deploy' && choices.deployParam) { + await runDeploy(arg, choices.deployParam) + } else if (choices.choice === 'sync' && choices.syncParam) { + await runSync('infra', arg, undefined, choices.syncParam) + } + } + }) + ) +} diff --git a/packages/core/src/awsService/appBuilder/explorer/detectSamProjects.ts b/packages/core/src/awsService/appBuilder/explorer/detectSamProjects.ts new file mode 100644 index 00000000000..cb179d94f0d --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/detectSamProjects.ts @@ -0,0 +1,61 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { SamAppLocation } from './samProject' +import { getLogger } from '../../../shared/logger/logger' +import { getProjectRootUri } from '../../../shared/sam/utils' + +export async function detectSamProjects(): Promise { + const workspaceFolders = vscode.workspace.workspaceFolders + + if (!workspaceFolders) { + return [] + } + + const results = new Map() + const projects = (await Promise.all(workspaceFolders.map(detectSamProjectsFromWorkspaceFolder))).reduce( + (a, b) => a.concat(b), + [] + ) + + projects.forEach((p) => results.set(p.samTemplateUri.toString(), p)) + + return Array.from(results.values()) +} + +async function detectSamProjectsFromWorkspaceFolder( + workspaceFolder: vscode.WorkspaceFolder +): Promise { + const result: SamAppLocation[] = [] + const samTemplateFiles = await getFiles(workspaceFolder, '**/template.{yml,yaml}', '**/.aws-sam/**') + for (const samTemplateFile of samTemplateFiles) { + const project = { + samTemplateUri: samTemplateFile, + workspaceFolder: workspaceFolder, + projectRoot: getProjectRootUri(samTemplateFile), + } + result.push(project) + } + return result +} + +export async function getFiles( + workspaceFolder: vscode.WorkspaceFolder, + pattern: string, + buildArtifactFolderPattern?: string +): Promise { + try { + const globPattern = new vscode.RelativePattern(workspaceFolder, pattern) + const excludePattern = buildArtifactFolderPattern + ? new vscode.RelativePattern(workspaceFolder, buildArtifactFolderPattern) + : undefined + + return await vscode.workspace.findFiles(globPattern, excludePattern) + } catch (error) { + getLogger().error(`Failed to get files with pattern ${pattern}:`, error) + return [] + } +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/appNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/appNode.ts new file mode 100644 index 00000000000..497e5aa22ad --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/appNode.ts @@ -0,0 +1,104 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as nls from 'vscode-nls' +const localize = nls.loadMessageBundle() + +import * as vscode from 'vscode' +import { getLogger } from '../../../../shared/logger' +import { ResourceTreeEntity, SamAppLocation, getApp, getStackName } from '../samProject' +import { ResourceNode, generateResourceNodes } from './resourceNode' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { createPlaceholderItem } from '../../../../shared/treeview/utils' +import { getIcon } from '../../../../shared/icons' +import { getSamCliContext } from '../../../../shared/sam/cli/samCliContext' +import { SamCliListResourcesParameters } from '../../../../shared/sam/cli/samCliListResources' +import { getDeployedResources, StackResource } from '../../../../lambda/commands/listSamResources' +import * as path from 'path' +import fs from '../../../../shared/fs/fs' +import { generateStackNode } from './deployedStack' + +export class AppNode implements TreeNode { + public readonly id = this.location.samTemplateUri.toString() + public readonly resource = this.location + public readonly label = path.join( + this.location.workspaceFolder.name, + path.relative(this.location.workspaceFolder.uri.fsPath, path.dirname(this.location.samTemplateUri.fsPath)) + ) + private stackName: string = '' + public constructor(private readonly location: SamAppLocation) {} + + public async getChildren(): Promise<(ResourceNode | TreeNode)[]> { + const resources = [] + try { + const successfulApp = await getApp(this.location) + const templateResources: ResourceTreeEntity[] = successfulApp.resourceTree + const { stackName, region } = await getStackName(this.location.projectRoot) + this.stackName = stackName + + const listStackResourcesArguments: SamCliListResourcesParameters = { + stackName: this.stackName, + templateFile: this.location.samTemplateUri.fsPath, + region: region, + projectRoot: this.location.projectRoot, + } + + const deployedResources: StackResource[] | undefined = this.stackName + ? await getDeployedResources({ + listResourcesParams: listStackResourcesArguments, + invoker: getSamCliContext().invoker, + }) + : undefined + // Skip generating stack node if stack does not exist in region or other errors + if (deployedResources && deployedResources.length > 0) { + resources.push(...(await generateStackNode(this.stackName, region))) + } + resources.push( + ...generateResourceNodes(this.location, templateResources, this.stackName, region, deployedResources) + ) + + // indicate that App exists, but it is empty + if (resources.length === 0) { + if (await fs.exists(this.location.samTemplateUri)) { + return [ + createPlaceholderItem( + localize( + 'AWS.appBuilder.explorerNode.app.noResource', + '[No resource found in IaC template]' + ) + ), + ] + } + return [ + createPlaceholderItem( + localize('AWS.appBuilder.explorerNode.app.noTemplate', '[No IaC templates found in Workspaces]') + ), + ] + } + return resources + } catch (error) { + getLogger().error(`Could not load the construct tree located at '${this.id}': %O`, error as Error) + return [ + createPlaceholderItem( + localize( + 'AWS.appBuilder.explorerNode.app.noResourceTree', + '[Unable to load Resource tree for this App. Update IaC template]' + ) + ), + ] + } + } + + public getTreeItem() { + const item = new vscode.TreeItem(this.label, vscode.TreeItemCollapsibleState.Collapsed) + + item.contextValue = 'awsAppBuilderAppNode' + item.iconPath = getIcon('vscode-folder') + item.resourceUri = this.location.samTemplateUri + item.tooltip = this.location.samTemplateUri.path + + return item + } +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/deployedNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/deployedNode.ts new file mode 100644 index 00000000000..70ac56bb1f6 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/deployedNode.ts @@ -0,0 +1,183 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { getIcon } from '../../../../shared/icons' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { createPlaceholderItem } from '../../../../shared/treeview/utils' +import * as nls from 'vscode-nls' + +import { getLogger } from '../../../../shared/logger/logger' +import { FunctionConfiguration, LambdaClient, GetFunctionCommand } from '@aws-sdk/client-lambda' +import { DefaultLambdaClient } from '../../../../shared/clients/lambdaClient' +import globals from '../../../../shared/extensionGlobals' +import { defaultPartition } from '../../../../shared/regions/regionProvider' +import { Lambda, APIGateway } from 'aws-sdk' +import { LambdaNode } from '../../../../lambda/explorer/lambdaNodes' +import { LambdaFunctionNode } from '../../../../lambda/explorer/lambdaFunctionNode' +import { DefaultS3Client, DefaultBucket } from '../../../../shared/clients/s3Client' +import { S3Node } from '../../../../awsService/s3/explorer/s3Nodes' +import { S3BucketNode } from '../../../../awsService/s3/explorer/s3BucketNode' +import { ApiGatewayNode } from '../../../../awsService/apigateway/explorer/apiGatewayNodes' +import { RestApiNode } from '../../../../awsService/apigateway/explorer/apiNodes' +import { + SERVERLESS_FUNCTION_TYPE, + SERVERLESS_API_TYPE, + s3BucketType, +} from '../../../../shared/cloudformation/cloudformation' +import { ToolkitError } from '../../../../shared' +import { getIAMConnection } from '../../../../auth/utils' + +const localize = nls.loadMessageBundle() +export interface DeployedResource { + stackName: string + regionCode: string + explorerNode: any + arn: string + contextValue: string +} + +export const DeployedResourceContextValues: Record = { + [SERVERLESS_FUNCTION_TYPE]: 'awsRegionFunctionNodeDownloadable', + [SERVERLESS_API_TYPE]: 'awsApiGatewayNode', + [s3BucketType]: 'awsS3BucketNode', +} + +export class DeployedResourceNode implements TreeNode { + public readonly id: string + public readonly contextValue: string + + public constructor(public readonly resource: DeployedResource) { + if (this.resource.arn) { + this.id = this.resource.arn + this.contextValue = this.resource.contextValue + } else { + getLogger().warn('Cannot create DeployedResourceNode, the ARN does not exist.') + this.id = '' + this.contextValue = '' + } + } + + public async getChildren(): Promise { + return [] + } + + public getTreeItem() { + const item = new vscode.TreeItem(this.id) + + item.contextValue = this.contextValue + item.iconPath = getIcon('vscode-cloud') + item.collapsibleState = vscode.TreeItemCollapsibleState.None + item.tooltip = this.resource.arn + return item + } +} + +export async function generateDeployedNode( + deployedResource: any, + regionCode: string, + stackName: string, + resourceTreeEntity: any +): Promise { + let newDeployedResource: any + const partitionId = globals.regionProvider.getPartitionId(regionCode) ?? defaultPartition + try { + switch (resourceTreeEntity.Type) { + case SERVERLESS_FUNCTION_TYPE: { + const defaultClient = new DefaultLambdaClient(regionCode) + const lambdaNode = new LambdaNode(regionCode, defaultClient) + let configuration: Lambda.FunctionConfiguration + let v3configuration + let logGroupName + try { + configuration = (await defaultClient.getFunction(deployedResource.PhysicalResourceId)) + .Configuration as Lambda.FunctionConfiguration + newDeployedResource = new LambdaFunctionNode(lambdaNode, regionCode, configuration) + } catch (error: any) { + getLogger().error('Error getting Lambda configuration') + throw ToolkitError.chain(error, 'Error getting Lambda configuration', { + code: 'lambdaClientError', + }) + } + const connection = await getIAMConnection({ prompt: false }) + if (!connection || connection.type !== 'iam') { + return [ + createPlaceholderItem( + localize( + 'AWS.appBuilder.explorerNode.unavailableDeployedResource', + '[Failed to retrive deployed resource.]' + ) + ), + ] + } + const cred = await connection.getCredentials() + const v3Client = new LambdaClient({ region: regionCode, credentials: cred }) + + const v3command = new GetFunctionCommand({ FunctionName: deployedResource.PhysicalResourceId }) + try { + v3configuration = (await v3Client.send(v3command)).Configuration as FunctionConfiguration + logGroupName = v3configuration.LoggingConfig?.LogGroup + } catch { + getLogger().error('Error getting Lambda V3 configuration') + } + newDeployedResource.configuration = { + ...newDeployedResource.configuration, + logGroupName: logGroupName, + } as any + break + } + case s3BucketType: { + const s3Client = new DefaultS3Client(regionCode) + const s3Node = new S3Node(s3Client) + const s3Bucket = new DefaultBucket({ + partitionId: partitionId, + region: regionCode, + name: deployedResource.PhysicalResourceId, + }) + newDeployedResource = new S3BucketNode(s3Bucket, s3Node, s3Client) + break + } + case SERVERLESS_API_TYPE: { + const apiParentNode = new ApiGatewayNode(partitionId, regionCode) + const apiNodes = await apiParentNode.getChildren() + const apiNode = apiNodes.find((node) => node.id === deployedResource.PhysicalResourceId) + newDeployedResource = new RestApiNode( + apiParentNode, + partitionId, + regionCode, + apiNode as APIGateway.RestApi + ) + break + } + default: + newDeployedResource = new DeployedResourceNode(deployedResource) + getLogger().info('Details are missing or are incomplete for:', deployedResource) + return [ + createPlaceholderItem( + localize('AWS.appBuilder.explorerNode.noApps', '[This resource is not yet supported.]') + ), + ] + } + } catch (error: any) { + void vscode.window.showErrorMessage(error.messages) + return [ + createPlaceholderItem( + localize( + 'AWS.appBuilder.explorerNode.unavailableDeployedResource', + '[Failed to retrive deployed resource.]' + ) + ), + ] + } + newDeployedResource.contextValue = DeployedResourceContextValues[resourceTreeEntity.Type] + const finalDeployedResource = { + stackName, + regionCode, + explorerNode: newDeployedResource, + arn: newDeployedResource.arn, + contextValue: newDeployedResource.contextValue, + } + return [new DeployedResourceNode(finalDeployedResource)] +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/deployedStack.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/deployedStack.ts new file mode 100644 index 00000000000..76c8f5ea76b --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/deployedStack.ts @@ -0,0 +1,66 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +import * as vscode from 'vscode' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { getIcon } from '../../../../shared/icons' +import { CloudFormationClient, DescribeStacksCommand } from '@aws-sdk/client-cloudformation' +import { ToolkitError } from '../../../../shared' +import { getIAMConnection } from '../../../../auth/utils' + +export class StackNameNode implements TreeNode { + public readonly id = this.stackName + public readonly resource = this + public arn: string | undefined + public readonly link = `command:aws.explorer.cloudformation.showStack?${encodeURIComponent(JSON.stringify({ stackName: this.stackName, region: this.regionCode }))}` + + public constructor( + public stackName: string, + public regionCode: string + ) { + this.stackName = stackName + this.regionCode = regionCode + } + + public async getChildren(): Promise { + // This stack name node is a leaf node that does not have any children. + return [] + } + public get value(): string { + return `Stack: ${this.stackName} (${this.regionCode})` + } + + public getTreeItem() { + const item = new vscode.TreeItem(this.value) + + item.contextValue = 'awsAppBuilderStackNode' + item.iconPath = getIcon('vscode-cloud') + return item + } +} + +export async function generateStackNode(stackName?: string, regionCode?: string): Promise { + const connection = await getIAMConnection({ prompt: false }) + if (!connection || connection.type !== 'iam') { + return [] + } + const cred = await connection.getCredentials() + const client = new CloudFormationClient({ region: regionCode, credentials: cred }) + try { + const command = new DescribeStacksCommand({ StackName: stackName }) + const response = await client.send(command) + if (response.Stacks && response.Stacks[0]) { + const stackArn = response.Stacks[0].StackId + if (stackName === undefined || regionCode === undefined) { + return [] + } + const stackNode = new StackNameNode(stackName || '', regionCode || '') + stackNode.arn = stackArn + return [stackNode] + } + } catch (error) { + throw new ToolkitError(`Failed to generate stack node ${stackName} in region ${regionCode}: ${error}`) + } + return [] +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/propertyNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/propertyNode.ts new file mode 100644 index 00000000000..481ecdf7009 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/propertyNode.ts @@ -0,0 +1,46 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { getIcon } from '../../../../shared/icons' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' + +export class PropertyNode implements TreeNode { + public readonly id = this.key + public readonly resource = this.value + + public constructor( + private readonly key: string, + private readonly value: unknown + ) {} + + public async getChildren(): Promise { + if (this.value instanceof Array || this.value instanceof Object) { + return generatePropertyNodes(this.value) + } else { + return [] + } + } + + public getTreeItem() { + const item = new vscode.TreeItem(`${this.key}: ${this.value}`) + + item.contextValue = 'awsAppBuilderPropertyNode' + item.iconPath = getIcon('vscode-gear') + + if (this.value instanceof Array || this.value instanceof Object) { + item.label = this.key + item.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed + } + + return item + } +} + +export function generatePropertyNodes(properties: { [key: string]: any }): TreeNode[] { + return Object.entries(properties) + .filter(([key, _]) => key !== 'Id' && key !== 'Type' && key !== 'Events') + .map(([key, value]) => new PropertyNode(key, value)) +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/resourceNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/resourceNode.ts new file mode 100644 index 00000000000..bda7b69ac4f --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/resourceNode.ts @@ -0,0 +1,147 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { IconPath, getIcon } from '../../../../shared/icons' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { ResourceTreeEntity, SamAppLocation } from '../samProject' +import { + SERVERLESS_FUNCTION_TYPE, + s3BucketType, + appRunnerType, + ecrRepositoryType, +} from '../../../../shared/cloudformation/cloudformation' +import { generatePropertyNodes } from './propertyNode' +import { generateDeployedNode } from './deployedNode' +import { StackResource } from '../../../../lambda/commands/listSamResources' +import { DeployedResourceNode } from './deployedNode' + +enum ResourceTypeId { + Function = 'function', + Api = 'api', + Other = '', +} + +export class ResourceNode implements TreeNode { + public readonly id = this.resourceTreeEntity.Id + private readonly type = this.resourceTreeEntity.Type + public readonly resourceLogicalId = this.deployedResource?.LogicalResourceId + + public constructor( + private readonly location: SamAppLocation, + private readonly resourceTreeEntity: ResourceTreeEntity, + private readonly stackName?: string, + private readonly region?: string, + private readonly deployedResource?: StackResource, + // TODO: cleanup or rename functionArn parameter as type can be differ from Lambda; value never set in generateResourceNodes() + private readonly functionArn?: string + ) {} + + public get resource() { + return { + resource: this.resourceTreeEntity, + location: this.location.samTemplateUri, + workspaceFolder: this.location.workspaceFolder, + region: this.region, + stackName: this.stackName, + deployedResource: this.deployedResource, + functionArn: this.functionArn, + } + } + + public async getChildren() { + let deployedNodes: DeployedResourceNode[] = [] + let propertyNodes: TreeNode[] = [] + + if (this.deployedResource && this.region && this.stackName) { + deployedNodes = await generateDeployedNode( + this.deployedResource, + this.region, + this.stackName, + this.resourceTreeEntity + ) + } + if (this.resourceTreeEntity.Type === SERVERLESS_FUNCTION_TYPE) { + propertyNodes = generatePropertyNodes(this.resourceTreeEntity) + } + + return [...propertyNodes, ...deployedNodes] + } + + public getTreeItem(): vscode.TreeItem { + // Determine the initial TreeItem collapsible state based on the type + const collapsibleState = this.deployedResource + ? vscode.TreeItemCollapsibleState.Collapsed + : vscode.TreeItemCollapsibleState.None + + // Create the TreeItem with the determined collapsible state + const item = new vscode.TreeItem(this.resourceTreeEntity.Id, collapsibleState) + + // Set the tooltip to the URI of the SAM template + item.tooltip = this.location.samTemplateUri.toString() + + item.iconPath = this.getIconPath() + + // Set the resource URI to the SAM template URI + item.resourceUri = this.location.samTemplateUri + + // Define the context value for the item + item.contextValue = `awsAppBuilderResourceNode.${this.getResourceId()}` + + return item + } + + // Additional resources and corresponding icons will be added in the future. + // When adding support for new resources, ensure that each new resource + // has an appropriate mapping in place. + private getIconPath(): IconPath | undefined { + switch (this.type) { + case SERVERLESS_FUNCTION_TYPE: + return getIcon('aws-lambda-function') + case s3BucketType: + return getIcon('aws-s3-bucket') + case appRunnerType: + return getIcon('aws-apprunner-service') + case ecrRepositoryType: + return getIcon('aws-ecr-registry') + default: + return getIcon('vscode-info') + } + } + + private getResourceId(): ResourceTypeId { + switch (this.type) { + case SERVERLESS_FUNCTION_TYPE: + return ResourceTypeId.Function + case 'Api': + return ResourceTypeId.Api + default: + return ResourceTypeId.Other + } + } +} + +export function generateResourceNodes( + app: SamAppLocation, + resources: NonNullable, + stackName?: string, + region?: string, + deployedResources?: StackResource[] +): ResourceNode[] { + if (!deployedResources) { + return resources.map((resource) => new ResourceNode(app, resource, stackName, region)) + } + + return resources.map((resource) => { + if (resource.Type) { + const deployedResource = deployedResources.find( + (deployedResource) => resource.Id === deployedResource.LogicalResourceId + ) + return new ResourceNode(app, resource, stackName, region, deployedResource) + } else { + return new ResourceNode(app, resource, stackName, region) + } + }) +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/rootNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/rootNode.ts new file mode 100644 index 00000000000..ce0406fd874 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/rootNode.ts @@ -0,0 +1,110 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { debugNewSamAppDocUrl } from '../../../../shared/constants' +import { telemetry } from '../../../../shared/telemetry/telemetry' +import { ResourceTreeDataProvider, TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { createPlaceholderItem } from '../../../../shared/treeview/utils' +import { localize, openUrl } from '../../../../shared/utilities/vsCodeUtils' +import { Commands } from '../../../../shared/vscode/commands2' +import { AppNode } from './appNode' +import { detectSamProjects } from '../detectSamProjects' +import globals from '../../../../shared/extensionGlobals' +import { WalkthroughNode } from './walkthroughNode' + +export async function getAppNodes(): Promise { + // no active workspace, show buttons in welcomeview + if (!vscode.workspace.workspaceFolders || vscode.workspace.workspaceFolders.length === 0) { + return [] + } + + const appsFound = await detectSamProjects() + + if (appsFound.length === 0) { + return [ + createPlaceholderItem( + localize('AWS.appBuilder.explorerNode.noApps', '[No IaC templates found in Workspaces]') + ), + ] + } + + const nodesToReturn: TreeNode[] = appsFound + .map((appLocation) => new AppNode(appLocation)) + .sort((a, b) => a.label.localeCompare(b.label) ?? 0) + + return nodesToReturn +} + +export class AppBuilderRootNode implements TreeNode { + public readonly id = 'appBuilder' + public readonly resource = this + private readonly onDidChangeChildrenEmitter = new vscode.EventEmitter() + public readonly onDidChangeChildren = this.onDidChangeChildrenEmitter.event + private readonly _refreshAppBuilderExplorer + private readonly _refreshAppBuilderForFileExplorer + + constructor() { + Commands.register('aws.appBuilder.viewDocs', () => { + void openUrl(debugNewSamAppDocUrl.toolkit) + telemetry.aws_help.emit({ name: 'appBuilder' }) + }) + this._refreshAppBuilderExplorer = (provider?: ResourceTreeDataProvider) => + Commands.register('aws.appBuilder.refresh', () => { + this.refresh() + if (provider) { + provider.refresh() + } + }) + + this._refreshAppBuilderForFileExplorer = (provider?: ResourceTreeDataProvider) => + Commands.register('aws.appBuilderForFileExplorer.refresh', () => { + this.refresh() + if (provider) { + provider.refresh() + } + }) + } + + public get refreshAppBuilderExplorer() { + return this._refreshAppBuilderExplorer + } + + public get refreshAppBuilderForFileExplorer() { + return this._refreshAppBuilderForFileExplorer + } + + public async getChildren() { + const nodesToReturn = await getAppNodes() + if (nodesToReturn.length === 0) { + return [] + } + + const walkthroughCompleted = globals.globalState.get('aws.toolkit.lambda.walkthroughCompleted') + // show walkthrough node if walkthrough not completed yet + if (!walkthroughCompleted) { + nodesToReturn.unshift(new WalkthroughNode()) + } + return nodesToReturn + } + + public refresh(): void { + this.onDidChangeChildrenEmitter.fire() + } + + public getTreeItem() { + const item = new vscode.TreeItem('APPLICATION BUILDER') + item.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed + item.contextValue = 'awsAppBuilderRootNode' + + return item + } + + static #instance: AppBuilderRootNode + + static get instance(): AppBuilderRootNode { + return (this.#instance ??= new AppBuilderRootNode()) + } +} diff --git a/packages/core/src/awsService/appBuilder/explorer/nodes/walkthroughNode.ts b/packages/core/src/awsService/appBuilder/explorer/nodes/walkthroughNode.ts new file mode 100644 index 00000000000..8f3432075df --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/nodes/walkthroughNode.ts @@ -0,0 +1,37 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { TreeNode } from '../../../../shared/treeview/resourceTreeDataProvider' +import { localize } from '../../../../shared/utilities/vsCodeUtils' + +/** + * Create Open Walkthrough Node in App builder sidebar + * + */ +export class WalkthroughNode implements TreeNode { + public readonly id = 'walkthrough' + public readonly resource: WalkthroughNode = this + + // Constructor left empty intentionally for future extensibility + public constructor() {} + + /** + * Generates the TreeItem for the Walkthrough Node. + * This item will appear in the sidebar with a label and command to open the walkthrough. + */ + public getTreeItem() { + const itemLabel = localize('AWS.appBuilder.openWalkthroughTitle', 'Walkthrough of Application Builder') + + const item = new vscode.TreeItem(itemLabel) + item.contextValue = 'awsWalkthroughNode' + item.command = { + title: localize('AWS.appBuilder.openWalkthroughTitle', 'Walkthrough of Application Builder'), + command: 'aws.toolkit.lambda.openWalkthrough', + } + + return item + } +} diff --git a/packages/core/src/awsService/appBuilder/explorer/openTemplate.ts b/packages/core/src/awsService/appBuilder/explorer/openTemplate.ts new file mode 100644 index 00000000000..686340719e3 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/openTemplate.ts @@ -0,0 +1,20 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import { CloudFormationTemplateRegistry } from '../../../shared/fs/templateRegistry' +import { createTemplatePrompter, TemplateItem } from '../../../shared/sam/sync' +import { createExitPrompter } from '../../../shared/ui/common/exitPrompter' +import { Wizard } from '../../../shared/wizards/wizard' + +export interface OpenTemplateParams { + readonly template: TemplateItem +} + +export class OpenTemplateWizard extends Wizard { + public constructor(state: Partial, registry: CloudFormationTemplateRegistry) { + super({ initState: state, exitPrompterProvider: createExitPrompter }) + this.form.template.bindPrompter(() => createTemplatePrompter(registry)) + } +} diff --git a/packages/core/src/awsService/appBuilder/explorer/samProject.ts b/packages/core/src/awsService/appBuilder/explorer/samProject.ts new file mode 100644 index 00000000000..fdb4b8e2117 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/explorer/samProject.ts @@ -0,0 +1,103 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import * as CloudFormation from '../../../shared/cloudformation/cloudformation' +import { SamConfig, SamConfigErrorCode } from '../../../shared/sam/config' +import { getLogger } from '../../../shared/logger/logger' +import { ToolkitError } from '../../../shared/errors' +import { showViewLogsMessage } from '../../../shared/utilities/messages' + +export interface SamApp { + location: SamAppLocation + resourceTree: ResourceTreeEntity[] +} + +export interface SamAppLocation { + samTemplateUri: vscode.Uri + workspaceFolder: vscode.WorkspaceFolder + projectRoot: vscode.Uri +} + +export interface ResourceTreeEntity { + Id: string + Type: string + Runtime?: string + CodeUri?: string + Handler?: string + Events?: ResourceTreeEntity[] + Path?: string + Method?: string +} + +export async function getStackName(projectRoot: vscode.Uri): Promise { + try { + const samConfig = await SamConfig.fromProjectRoot(projectRoot) + const stackName = await samConfig.getCommandParam('global', 'stack_name') + const region = await samConfig.getCommandParam('global', 'region') + + return { stackName, region } + } catch (error: any) { + switch (error.code) { + case SamConfigErrorCode.samNoConfigFound: + getLogger().info('No stack name or region information available in samconfig.toml', error) + break + case SamConfigErrorCode.samConfigParseError: + getLogger().error(`Error getting stack name or region information: ${error.message}`, error) + void showViewLogsMessage('Encountered an issue reading samconfig.toml') + break + default: + getLogger().warn(`Error getting stack name or region information: ${error.message}`, error) + } + return {} + } +} + +export async function getApp(location: SamAppLocation): Promise { + const samTemplate = await CloudFormation.tryLoad(location.samTemplateUri) + if (!samTemplate.template) { + throw new ToolkitError(`Template at ${location.samTemplateUri.fsPath} is not valid`) + } + const templateResources = getResourceEntity(samTemplate.template) + + const resourceTree = [...templateResources] + + return { location, resourceTree } +} + +function getResourceEntity(template: any): ResourceTreeEntity[] { + const resourceTree: ResourceTreeEntity[] = [] + + for (const [logicalId, resource] of Object.entries(template?.Resources ?? []) as [string, any][]) { + const resourceEntity: ResourceTreeEntity = { + Id: logicalId, + Type: resource.Type, + Runtime: resource.Properties?.Runtime ?? template?.Globals?.Function?.Runtime, + Handler: resource.Properties?.Handler ?? template?.Globals?.Function?.Handler, + Events: resource.Properties?.Events ? getEvents(resource.Properties.Events) : undefined, + CodeUri: resource.Properties?.CodeUri ?? template?.Globals?.Function?.CodeUri, + } + resourceTree.push(resourceEntity) + } + + return resourceTree +} + +function getEvents(events: Record): ResourceTreeEntity[] { + const eventResources: ResourceTreeEntity[] = [] + + for (const [eventsLogicalId, event] of Object.entries(events)) { + const eventProperties = event.Properties + const eventResource: ResourceTreeEntity = { + Id: eventsLogicalId, + Type: event.Type, + Path: eventProperties.Path, + Method: eventProperties.Method, + } + eventResources.push(eventResource) + } + + return eventResources +} diff --git a/packages/core/src/awsService/appBuilder/utils.ts b/packages/core/src/awsService/appBuilder/utils.ts new file mode 100644 index 00000000000..de3dee8770d --- /dev/null +++ b/packages/core/src/awsService/appBuilder/utils.ts @@ -0,0 +1,198 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { TreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import * as nls from 'vscode-nls' +import { ResourceNode } from './explorer/nodes/resourceNode' +import type { SamAppLocation } from './explorer/samProject' +import { ToolkitError } from '../../shared/errors' +import globals from '../../shared/extensionGlobals' +import { OpenTemplateParams, OpenTemplateWizard } from './explorer/openTemplate' +import { DataQuickPickItem, createQuickPick } from '../../shared/ui/pickerPrompter' +import { createCommonButtons } from '../../shared/ui/buttons' +import { samDeployUrl } from '../../shared/constants' +import path from 'path' +import fs from '../../shared/fs/fs' +import { getLogger } from '../../shared/logger/logger' +import { RuntimeFamily, getFamily } from '../../lambda/models/samLambdaRuntime' +import { showMessage } from '../../shared/utilities/messages' +const localize = nls.loadMessageBundle() + +export async function runOpenTemplate(arg?: TreeNode) { + const templateUri = arg ? (arg.resource as SamAppLocation).samTemplateUri : await promptUserForTemplate() + if (!templateUri || !(await fs.exists(templateUri))) { + throw new ToolkitError('No template provided', { code: 'NoTemplateProvided' }) + } + const document = await vscode.workspace.openTextDocument(templateUri) + await vscode.window.showTextDocument(document) +} + +/** + * Find and open the lambda handler with given ResoruceNode + * If not found, a NoHandlerFound error will be raised + * @param arg ResourceNode + */ +export async function runOpenHandler(arg: ResourceNode): Promise { + const folderUri = path.dirname(arg.resource.location.fsPath) + if (!arg.resource.resource.CodeUri) { + throw new ToolkitError('No CodeUri provided in template, cannot open handler', { code: 'NoCodeUriProvided' }) + } + + if (!arg.resource.resource.Handler) { + throw new ToolkitError('No Handler provided in template, cannot open handler', { code: 'NoHandlerProvided' }) + } + + if (!arg.resource.resource.Runtime) { + throw new ToolkitError('No Runtime provided in template, cannot open handler', { code: 'NoRuntimeProvided' }) + } + + const handlerFile = await getLambdaHandlerFile( + vscode.Uri.file(folderUri), + arg.resource.resource.CodeUri, + arg.resource.resource.Handler, + arg.resource.resource.Runtime + ) + if (!handlerFile) { + throw new ToolkitError(`No handler file found with name "${arg.resource.resource.Handler}"`, { + code: 'NoHandlerFound', + }) + } + await vscode.workspace.openTextDocument(handlerFile).then(async (doc) => await vscode.window.showTextDocument(doc)) +} + +// create a set to store all supported runtime in the following function +const supportedRuntimeForHandler = new Set([ + RuntimeFamily.Ruby, + RuntimeFamily.Python, + RuntimeFamily.NodeJS, + RuntimeFamily.DotNet, + RuntimeFamily.Java, +]) + +/** + * Get the actual Lambda handler file, in vscode.Uri format, from the template + * file and handler name. If not found, return undefined. + * + * @param folderUri The root folder for sam project + * @param codeUri codeUri prop in sam template + * @param handler handler prop in sam template + * @param runtime runtime prop in sam template + * @returns + */ +export async function getLambdaHandlerFile( + folderUri: vscode.Uri, + codeUri: string, + handler: string, + runtime: string +): Promise { + const family = getFamily(runtime) + if (!supportedRuntimeForHandler.has(family)) { + throw new ToolkitError(`Runtime ${runtime} is not supported for open handler button`, { + code: 'RuntimeNotSupported', + }) + } + + const handlerParts = handler.split('.') + // sample: app.lambda_handler -> app.rb + if (family === RuntimeFamily.Ruby) { + // Ruby supports namespace/class handlers as well, but the path is + // guaranteed to be slash-delimited so we can assume the first part is + // the path + return vscode.Uri.joinPath(folderUri, codeUri, handlerParts.slice(0, handlerParts.length - 1).join('/') + '.rb') + } + + // sample:app.lambda_handler -> app.py + if (family === RuntimeFamily.Python) { + // Otherwise (currently Node.js and Python) handle dot-delimited paths + return vscode.Uri.joinPath(folderUri, codeUri, handlerParts.slice(0, handlerParts.length - 1).join('/') + '.py') + } + + // sample: app.handler -> app.mjs/app.js + // More likely to be mjs if NODEJS version>=18, now searching for both + if (family === RuntimeFamily.NodeJS) { + const handlerName = handlerParts.slice(0, handlerParts.length - 1).join('/') + const handlerPath = path.dirname(handlerName) + const handlerFile = path.basename(handlerName) + const pattern = new vscode.RelativePattern( + vscode.Uri.joinPath(folderUri, codeUri, handlerPath), + `${handlerFile}.{js,mjs}` + ) + return searchHandlerFile(folderUri, pattern) + } + // search directly under Code uri for Dotnet and java + // sample: ImageResize::ImageResize.Function::FunctionHandler -> Function.cs + if (family === RuntimeFamily.DotNet) { + const handlerName = path.basename(handler.split('::')[1].replaceAll('.', '/')) + const pattern = new vscode.RelativePattern(vscode.Uri.joinPath(folderUri, codeUri), `${handlerName}.cs`) + return searchHandlerFile(folderUri, pattern) + } + + // sample: resizer.App::handleRequest -> App.java + if (family === RuntimeFamily.Java) { + const handlerName = handler.split('::')[0].replaceAll('.', '/') + const pattern = new vscode.RelativePattern(vscode.Uri.joinPath(folderUri, codeUri), `**/${handlerName}.java`) + return searchHandlerFile(folderUri, pattern) + } +} + +/** + Searches for a handler file in the given pattern and returns the first match. + If no match is found, returns undefined. +*/ +export async function searchHandlerFile( + folderUri: vscode.Uri, + pattern: vscode.RelativePattern +): Promise { + const handlerFile = await vscode.workspace.findFiles(pattern, new vscode.RelativePattern(folderUri, '.aws-sam')) + if (handlerFile.length === 0) { + return undefined + } + if (handlerFile.length > 1) { + getLogger().warn(`Multiple handler files found with name "${path.basename(handlerFile[0].fsPath)}"`) + void showMessage('warn', `Multiple handler files found with name "${path.basename(handlerFile[0].fsPath)}"`) + } + if (await fs.exists(handlerFile[0])) { + return handlerFile[0] + } + return undefined +} + +async function promptUserForTemplate() { + const registry = await globals.templateRegistry + const openTemplateParams: Partial = {} + + const param = await new OpenTemplateWizard(openTemplateParams, registry).run() + return param?.template.uri +} + +export async function deployTypePrompt() { + const items: DataQuickPickItem[] = [ + { + label: 'Sync', + data: 'sync', + detail: 'Speed up your development and testing experience in the AWS Cloud. With the --watch parameter, sync will build, deploy and watch for local changes', + description: 'Development environments', + }, + { + label: 'Deploy', + data: 'deploy', + detail: 'Deploys your template through CloudFormation', + description: 'Production environments', + }, + ] + + const selected = await createQuickPick(items, { + title: localize('AWS.appBuilder.deployType.title', 'Select deployment command'), + placeholder: 'Press enter to proceed with highlighted option', + buttons: createCommonButtons(samDeployUrl), + }).prompt() + + if (!selected) { + getLogger().info('Operation cancelled.') + return + } + return selected +} diff --git a/packages/core/src/awsService/appBuilder/walkthrough.ts b/packages/core/src/awsService/appBuilder/walkthrough.ts new file mode 100644 index 00000000000..04f43d61878 --- /dev/null +++ b/packages/core/src/awsService/appBuilder/walkthrough.ts @@ -0,0 +1,349 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as semver from 'semver' +import * as vscode from 'vscode' +import globals from '../../shared/extensionGlobals' +import { getLogger } from '../../shared/logger' + +import { Wizard } from '../../shared/wizards/wizard' +import { createQuickPick } from '../../shared/ui/pickerPrompter' +import { createCommonButtons } from '../../shared/ui/buttons' +import * as nls from 'vscode-nls' +import { ToolkitError } from '../../shared/errors' +import { createSingleFileDialog } from '../../shared/ui/common/openDialog' +import { fs } from '../../shared/fs/fs' +import path from 'path' +import { telemetry } from '../../shared/telemetry' + +import { minSamCliVersionForAppBuilderSupport } from '../../shared/sam/cli/samCliValidator' +import { SamCliInfoInvocation } from '../../shared/sam/cli/samCliInfo' +import { openUrl } from '../../shared/utilities/vsCodeUtils' +import { getOrInstallCli, awsClis, AwsClis } from '../../shared/utilities/cliUtils' +import { getPattern } from '../../shared/utilities/downloadPatterns' +import { addFolderToWorkspace } from '../../shared/utilities/workspaceUtils' + +const localize = nls.loadMessageBundle() +const serverlessLandUrl = 'https://serverlessland.com/' +export const walkthroughContextString = 'aws.toolkit.lambda.walkthroughSelected' +export const templateToOpenAppComposer = 'aws.toolkit.appComposer.templateToOpenOnStart' +const defaultTemplateName = 'template.yaml' +const serverlessLandOwner = 'aws-samples' +const serverlessLandRepo = 'serverless-patterns' + +type WalkthroughOptions = 'CustomTemplate' | 'Visual' | 'S3' | 'API' +type TutorialRuntimeOptions = 'python' | 'node' | 'java' | 'dotnet' | 'skipped' + +interface IServerlessLandProject { + asset: string + handler?: string +} + +export const appMap = new Map([ + ['APIdotnet', { asset: 'apigw-rest-api-lambda-dotnet.zip', handler: 'src/HelloWorld/Function.cs' }], + ['APInode', { asset: 'apigw-rest-api-lambda-node.zip', handler: 'hello_world/app.mjs' }], + ['APIpython', { asset: 'apigw-rest-api-lambda-python.zip', handler: 'hello_world/app.py' }], + [ + 'APIjava', + { + asset: 'apigw-rest-api-lambda-java.zip', + handler: 'HelloWorldFunction/src/main/java/helloworld/App.java', + }, + ], + ['S3dotnet', { asset: 's3-lambda-resizing-dotnet.zip', handler: 'ImageResize/Function.cs' }], + ['S3node', { asset: 's3-lambda-resizing-node.zip', handler: 'src/app.js' }], + ['S3python', { asset: 's3-lambda-resizing-python.zip', handler: 'src/app.py' }], + [ + 'S3java', + { + asset: 's3-lambda-resizing-java.zip', + handler: 'ResizerFunction/src/main/java/resizer/App.java', + }, + ], +]) + +export class RuntimeLocationWizard extends Wizard<{ + runtime: TutorialRuntimeOptions + dir: string + realDir: vscode.Uri +}> { + public constructor(skipRuntime: boolean, labelValue: string, existingTemplates?: vscode.Uri[]) { + super() + const form = this.form + + // step1: choose runtime + const items: { label: string; data: TutorialRuntimeOptions }[] = [ + { label: 'Python', data: 'python' }, + { label: 'Node JS', data: 'node' }, + { label: 'Java', data: 'java' }, + { label: 'Dot Net', data: 'dotnet' }, + ] + form.runtime.bindPrompter( + () => { + return createQuickPick(items, { + title: localize('AWS.toolkit.lambda.walkthroughSelectRuntime', 'Select a runtime'), + buttons: createCommonButtons(serverlessLandUrl), + }) + }, + { showWhen: () => !skipRuntime } + ) + + // step2: choose location for project + const wsFolders = vscode.workspace.workspaceFolders + const items2 = [ + { + label: localize('AWS.toolkit.lambda.walkthroughOpenExplorer', 'Open file explorer'), + data: 'file-selector', + }, + ] + + // if at least one open workspace, add all opened workspace as options + if (wsFolders && labelValue !== 'Open existing Project') { + for (const wsFolder of wsFolders) { + items2.push({ label: wsFolder.uri.fsPath, data: wsFolder.uri.fsPath }) + } + } + + if (wsFolders && existingTemplates && labelValue === 'Open existing Project') { + existingTemplates.map((file) => { + items2.push({ label: file.fsPath, data: path.dirname(file.fsPath) }) + }) + } + + form.dir.bindPrompter(() => { + return createQuickPick(items2, { + title: + labelValue === 'Open existing Project' + ? localize('AWS.toolkit.lambda.walkthroughOpenExistProject', 'Select an existing template file') + : localize('AWS.toolkit.lambda.walkthroughProjectLocation', 'Select a location for project'), + buttons: createCommonButtons(labelValue === 'Open existing Project' ? undefined : serverlessLandUrl), + }) + }) + + const options: vscode.OpenDialogOptions = { + canSelectMany: false, + openLabel: labelValue, + canSelectFiles: false, + canSelectFolders: true, + } + if (wsFolders) { + options.defaultUri = wsFolders[0]?.uri + } + + form.realDir.bindPrompter((state) => createSingleFileDialog(options), { + showWhen: (state) => state.dir !== undefined && state.dir === 'file-selector', + setDefault: (state) => (state.dir ? vscode.Uri.file(state.dir) : undefined), + }) + } +} + +export async function getTutorial( + runtime: TutorialRuntimeOptions, + project: WalkthroughOptions, + outputDir: vscode.Uri, + source?: string +): Promise { + const appSelected = appMap.get(project + runtime) + telemetry.record({ action: project + runtime, source: source ?? 'AppBuilderWalkthrough' }) + if (!appSelected) { + throw new ToolkitError(`Tried to get template '${project}+${runtime}', but it hasn't been registered.`) + } + + try { + await getPattern(serverlessLandOwner, serverlessLandRepo, appSelected.asset, outputDir, true) + } catch (error) { + throw new ToolkitError(`Error occurred while fetching the pattern from serverlessland: ${error}`) + } +} + +/** + * Takes projectUri and runtime then generate matching project + * @param walkthroughSelected the selected walkthrough + * @param projectUri The choosen project uri to generate proejct + * @param runtime The runtime choosen + */ +export async function genWalkthroughProject( + walkthroughSelected: WalkthroughOptions, + projectUri: vscode.Uri, + runtime: TutorialRuntimeOptions | undefined +): Promise { + // create project here + // TODO update with file fetching from serverless land + if (walkthroughSelected === 'CustomTemplate') { + // customer already have a project, no need to generate + return + } + + // check if template.yaml already exists + const templateUri = vscode.Uri.joinPath(projectUri, defaultTemplateName) + if (await fs.exists(templateUri)) { + // ask if want to overwrite + const choice = await vscode.window.showInformationMessage( + localize( + 'AWS.toolkit.lambda.walkthroughCreateProjectPrompt', + '{0} already exist in the selected directory, overwrite?', + defaultTemplateName + ), + 'Yes', + 'No' + ) + if (choice !== 'Yes') { + throw new ToolkitError(`${defaultTemplateName} already exist`) + } + } + + // if Yes, or template not found, continue to generate + if (walkthroughSelected === 'Visual') { + // create an empty template.yaml, open it in appcomposer later + await fs.writeFile(templateUri, Buffer.from('')) + return + } + // start fetching project + if (runtime && runtime !== 'skipped') { + await getTutorial(runtime, walkthroughSelected, projectUri, 'AppBuilderWalkthrough') + } +} + +/** + * check if the selected project Uri exist in current workspace. If not, add Project folder to Workspace + * @param projectUri uri for the selected project + */ +export async function openProjectInWorkspace(projectUri: vscode.Uri): Promise { + let templateUri: vscode.Uri | undefined = vscode.Uri.joinPath(projectUri, defaultTemplateName) + if (!(await fs.exists(templateUri))) { + // no template.yaml, trying yml + templateUri = vscode.Uri.joinPath(projectUri, 'template.yml') + if (!(await fs.exists(templateUri))) { + templateUri = undefined + } + } + + // Open template file, and after update workspace folder + if (templateUri) { + await vscode.commands.executeCommand('workbench.action.focusFirstEditorGroup') + await vscode.window.showTextDocument(await vscode.workspace.openTextDocument(templateUri)) + // set global key to template to be opened, appComposer will open them upon reload + await globals.globalState.update(templateToOpenAppComposer, [templateUri.fsPath]) + } + + // if extension is reloaded here, this function will never return (killed) + await addFolderToWorkspace({ uri: projectUri, name: path.basename(projectUri.fsPath) }, true) + + // Open template file + if (templateUri) { + // extension not reloaded, set to false + await globals.globalState.update(templateToOpenAppComposer, undefined) + await vscode.commands.executeCommand('aws.openInApplicationComposer', templateUri) + } + + // Open Readme if exist + if (await fs.exists(vscode.Uri.joinPath(projectUri, 'README.md'))) { + await vscode.commands.executeCommand('workbench.action.focusFirstEditorGroup') + await vscode.commands.executeCommand('markdown.showPreview', vscode.Uri.joinPath(projectUri, 'README.md')) + } +} + +/** + * Used in Toolkit Appbuilder Walkthrough. + * 1: Customer select a template + * 2: Create project / Or don't create if customer choose use my own template + * 3: Add project to workspace, Open template.yaml, open template.yaml in AppComposer + */ +export async function initWalkthroughProjectCommand() { + const walkthroughSelected = globals.globalState.get(walkthroughContextString) + let runtimeSelected: TutorialRuntimeOptions | undefined = undefined + try { + if (!walkthroughSelected || !(typeof walkthroughSelected === 'string')) { + getLogger().info('exit on no walkthrough selected') + void vscode.window.showErrorMessage( + localize('AWS.toolkit.lambda.walkthroughNotSelected', 'Please select a template first') + ) + return + } + let labelValue = 'Create Project' + if (walkthroughSelected === 'CustomTemplate') { + labelValue = 'Open existing Project' + } + // if these two, skip runtime choice + const skipRuntimeChoice = walkthroughSelected === 'Visual' || walkthroughSelected === 'CustomTemplate' + const templates: vscode.Uri[] = + walkthroughSelected === 'CustomTemplate' + ? await vscode.workspace.findFiles('**/{template.yaml,template.yml}', '**/.aws-sam/*') + : [] + const result = await new RuntimeLocationWizard(skipRuntimeChoice, labelValue, templates).run() + if (!result) { + getLogger().info('User canceled the runtime selection process via quickpick') + return + } + + if (!result.realDir || !fs.exists(result.realDir)) { + // exit for non-vaild uri + getLogger().info('exit on customer fileselector cancellation') + return + } + + runtimeSelected = result.runtime + + // generate project + await genWalkthroughProject(walkthroughSelected, result.realDir, runtimeSelected) + // open a workspace if no workspace yet + await openProjectInWorkspace(result.realDir) + } finally { + telemetry.record({ action: `${walkthroughSelected}:${runtimeSelected}`, source: 'AppBuilderWalkthrough' }) + } +} + +export async function getOrUpdateOrInstallSAMCli(source: string) { + try { + // find sam + const samPath = await getOrInstallCli('sam-cli', true, true) + // check version + const samCliVersion = (await new SamCliInfoInvocation(samPath).execute()).version + + if (semver.lt(samCliVersion, minSamCliVersionForAppBuilderSupport)) { + // sam found but version too low + const updateInstruction = localize( + 'AWS.toolkit.updateSAMInstruction', + 'View AWS SAM CLI update instructions' + ) + const selection = await vscode.window.showInformationMessage( + localize( + 'AWS.toolkit.samOutdatedPrompt', + 'AWS SAM CLI version {0} or greater is required ({1} currently installed).', + minSamCliVersionForAppBuilderSupport, + samCliVersion + ), + updateInstruction + ) + if (selection === updateInstruction) { + void openUrl(vscode.Uri.parse(awsClis['sam-cli'].manualInstallLink)) + } + } + } catch (err) { + throw ToolkitError.chain(err, 'Failed to install or detect SAM') + } finally { + telemetry.record({ source: source, toolId: 'sam-cli' }) + } +} + +/** + * wraps getOrinstallCli and send telemetry + * @param toolId to install/check + * @param source to be added in telemetry + */ +export async function getOrInstallCliWrapper(toolId: AwsClis, source: string) { + await telemetry.appBuilder_installTool.run(async (span) => { + span.record({ source: source, toolId: toolId }) + if (toolId === 'sam-cli') { + await getOrUpdateOrInstallSAMCli(source) + return + } + try { + await getOrInstallCli(toolId, true, true) + } finally { + telemetry.record({ source: source, toolId: toolId }) + } + }) +} diff --git a/packages/core/src/awsService/appBuilder/wizards/deployTypeWizard.ts b/packages/core/src/awsService/appBuilder/wizards/deployTypeWizard.ts new file mode 100644 index 00000000000..fbaec4657ca --- /dev/null +++ b/packages/core/src/awsService/appBuilder/wizards/deployTypeWizard.ts @@ -0,0 +1,54 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import { samDeployUrl } from '../../../shared/constants' +import { createCommonButtons } from '../../../shared/ui/buttons' +import { DataQuickPickItem, createQuickPick } from '../../../shared/ui/pickerPrompter' +import * as nls from 'vscode-nls' +import { Wizard } from '../../../shared/wizards/wizard' +import { DeployParams, DeployWizard } from '../../../shared/sam/deploy' +import { SyncParams, SyncWizard } from '../../../shared/sam/sync' +import { WizardPrompter } from '../../../shared/ui/wizardPrompter' +import { createExitPrompter } from '../../../shared/ui/common/exitPrompter' +const localize = nls.loadMessageBundle() + +export class DeployTypeWizard extends Wizard<{ + choice: string + syncParam: SyncParams + deployParam: DeployParams +}> { + public constructor(syncWizard: SyncWizard, deployWizard: DeployWizard) { + super({ exitPrompterProvider: createExitPrompter }) + const form = this.form + + const items: DataQuickPickItem[] = [ + { + label: 'Sync', + data: 'sync', + detail: 'Speed up your development and testing experience in the AWS Cloud. With the --watch parameter, sync will build, deploy and watch for local changes', + description: 'Development environments', + }, + { + label: 'Deploy', + data: 'deploy', + detail: 'Deploys your template through CloudFormation', + description: 'Production environments', + }, + ] + form.choice.bindPrompter(() => { + return createQuickPick(items, { + title: localize('AWS.appBuilder.deployType.title', 'Select deployment command'), + placeholder: 'Press enter to proceed with highlighted option', + buttons: createCommonButtons(samDeployUrl), + }) + }) + form.deployParam.bindPrompter((state) => new WizardPrompter(deployWizard), { + showWhen: (state) => state.choice === 'deploy', + }) + form.syncParam.bindPrompter((state) => new WizardPrompter(syncWizard), { + showWhen: (state) => state.choice === 'sync', + }) + } +} diff --git a/packages/core/src/awsService/cloudWatchLogs/activation.ts b/packages/core/src/awsService/cloudWatchLogs/activation.ts index d2ff8fed2d7..75951604bea 100644 --- a/packages/core/src/awsService/cloudWatchLogs/activation.ts +++ b/packages/core/src/awsService/cloudWatchLogs/activation.ts @@ -22,6 +22,10 @@ import { loadAndOpenInitialLogStreamFile, LogStreamCodeLensProvider } from './do import { tailLogGroup } from './commands/tailLogGroup' import { LiveTailDocumentProvider } from './document/liveTailDocumentProvider' import { LiveTailSessionRegistry } from './registry/liveTailSessionRegistry' +import { DeployedResourceNode } from '../appBuilder/explorer/nodes/deployedNode' +import { isTreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import { getLogger } from '../../shared/logger/logger' +import { ToolkitError } from '../../shared' export async function activate(context: vscode.ExtensionContext, configuration: Settings): Promise { const registry = LogDataRegistry.instance @@ -106,6 +110,27 @@ export async function activate(context: vscode.ExtensionContext, configuration: ? { regionName: node.regionCode, groupName: node.logGroup.logGroupName! } : undefined await tailLogGroup(liveTailRegistry, logGroupInfo) + }), + + Commands.register('aws.appBuilder.searchLogs', async (node: DeployedResourceNode) => { + try { + const logGroupInfo = isTreeNode(node) + ? { + regionName: node.resource.regionCode, + groupName: getFunctionLogGroupName(node.resource.explorerNode.configuration), + } + : undefined + const source: string = logGroupInfo ? 'AppBuilderSearchLogs' : 'CommandPaletteSearchLogs' + await searchLogGroup(registry, source, logGroupInfo) + } catch (err) { + getLogger().error('Failed to search logs: %s', err) + throw ToolkitError.chain(err, 'Failed to search logs') + } }) ) } + +function getFunctionLogGroupName(configuration: any) { + const logGroupPrefix = '/aws/lambda/' + return configuration.logGroupName || logGroupPrefix + configuration.FunctionName +} diff --git a/packages/core/src/awsService/s3/activation.ts b/packages/core/src/awsService/s3/activation.ts index fcaee4f3905..2b8a164800a 100644 --- a/packages/core/src/awsService/s3/activation.ts +++ b/packages/core/src/awsService/s3/activation.ts @@ -25,6 +25,8 @@ import { Commands } from '../../shared/vscode/commands2' import * as nls from 'vscode-nls' import { DefaultS3Client } from '../../shared/clients/s3Client' +import { TreeNode } from '../../shared/treeview/resourceTreeDataProvider' +import { getSourceNode } from '../../shared/utilities/treeNodeUtils' const localize = nls.loadMessageBundle() /** @@ -58,7 +60,7 @@ export async function activate(ctx: ExtContext): Promise { }), Commands.register( { id: 'aws.s3.uploadFile', autoconnect: true }, - async (node?: S3BucketNode | S3FolderNode) => { + async (node?: S3BucketNode | S3FolderNode | TreeNode) => { if (!node) { const awsContext = ctx.awsContext const regionCode = awsContext.getCredentialDefaultRegion() @@ -66,7 +68,8 @@ export async function activate(ctx: ExtContext): Promise { const document = vscode.window.activeTextEditor?.document.uri await uploadFileCommand(s3Client, document) } else { - await uploadFileCommand(node.s3, node) + const sourceNode = getSourceNode(node) + await uploadFileCommand(sourceNode.s3, sourceNode) } } ), @@ -76,11 +79,13 @@ export async function activate(ctx: ExtContext): Promise { Commands.register('aws.s3.createBucket', async (node: S3Node) => { await createBucketCommand(node) }), - Commands.register('aws.s3.createFolder', async (node: S3BucketNode | S3FolderNode) => { - await createFolderCommand(node) + Commands.register('aws.s3.createFolder', async (node: S3BucketNode | S3FolderNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await createFolderCommand(sourceNode) }), - Commands.register('aws.s3.deleteBucket', async (node: S3BucketNode) => { - await deleteBucketCommand(node) + Commands.register('aws.s3.deleteBucket', async (node: S3BucketNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await deleteBucketCommand(sourceNode) }), Commands.register('aws.s3.deleteFile', async (node: S3FileNode) => { await deleteFileCommand(node) diff --git a/packages/core/src/awsexplorer/activation.ts b/packages/core/src/awsexplorer/activation.ts index a93baef6034..5ea7295bf98 100644 --- a/packages/core/src/awsexplorer/activation.ts +++ b/packages/core/src/awsexplorer/activation.ts @@ -32,6 +32,10 @@ import { activateViewsShared, registerToolView } from './activationShared' import { isExtensionInstalled } from '../shared/utilities' import { CommonAuthViewProvider } from '../login/webview' import { setContext } from '../shared' +import { TreeNode } from '../shared/treeview/resourceTreeDataProvider' +import { getSourceNode } from '../shared/utilities/treeNodeUtils' +import { openAwsCFNConsoleCommand, openAwsConsoleCommand } from '../shared/awsConsole' +import { StackNameNode } from '../awsService/appBuilder/explorer/nodes/deployedStack' /** * Activates the AWS Explorer UI and related functionality. @@ -121,6 +125,7 @@ export async function activate(args: { refreshCommands: [refreshAmazonQ, refreshAmazonQRootNode], }) } + const viewNodes: ToolView[] = [ ...amazonQViewNode, ...codecatalystViewNode, @@ -196,8 +201,21 @@ async function registerAwsExplorerCommands( isPreviewAndRender: true, }) ), - Commands.register('aws.copyArn', async (node: AWSResourceNode) => await copyTextCommand(node, 'ARN')), - Commands.register('aws.copyName', async (node: AWSResourceNode) => await copyTextCommand(node, 'name')), + Commands.register('aws.copyArn', async (node: AWSResourceNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await copyTextCommand(sourceNode, 'ARN') + }), + Commands.register('aws.copyName', async (node: AWSResourceNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await copyTextCommand(sourceNode, 'name') + }), + Commands.register('aws.openAwsConsole', async (node: AWSResourceNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await openAwsConsoleCommand(sourceNode) + }), + Commands.register('aws.openAwsCFNConsole', async (node: StackNameNode) => { + await openAwsCFNConsoleCommand(node) + }), Commands.register('aws.refreshAwsExplorerNode', async (element: AWSTreeNodeBase | undefined) => { awsExplorer.refresh(element) }), diff --git a/packages/core/src/awsexplorer/activationShared.ts b/packages/core/src/awsexplorer/activationShared.ts index 6a474ccf2e2..9f488a35c36 100644 --- a/packages/core/src/awsexplorer/activationShared.ts +++ b/packages/core/src/awsexplorer/activationShared.ts @@ -27,4 +27,6 @@ export function registerToolView(viewNode: ToolView, context: vscode.ExtensionCo telemetry.cdk_appExpanded.emit() } }) + + return toolView } diff --git a/packages/core/src/codewhisperer/commands/startTransformByQ.ts b/packages/core/src/codewhisperer/commands/startTransformByQ.ts index 0f64ff68e86..edf48ed00c5 100644 --- a/packages/core/src/codewhisperer/commands/startTransformByQ.ts +++ b/packages/core/src/codewhisperer/commands/startTransformByQ.ts @@ -6,6 +6,7 @@ import * as vscode from 'vscode' import * as fs from 'fs' // eslint-disable-line no-restricted-imports import * as os from 'os' +import * as xml2js from 'xml2js' import path from 'path' import { getLogger } from '../../shared/logger' import * as CodeWhispererConstants from '../models/constants' @@ -15,9 +16,10 @@ import { JDKVersion, jobPlanProgress, FolderInfo, - TransformationCandidateProject, ZipManifest, TransformByQStatus, + DB, + TransformationType, } from '../models/model' import { convertDateToTimestamp } from '../../shared/utilities/textUtilities' import { @@ -37,7 +39,11 @@ import { uploadPayload, zipCode, } from '../service/transformByQ/transformApiHandler' -import { getOpenProjects, validateOpenProjects } from '../service/transformByQ/transformProjectValidationHandler' +import { + getJavaProjects, + getOpenProjects, + validateOpenProjects, +} from '../service/transformByQ/transformProjectValidationHandler' import { getVersionData, prepareProjectDependencies, @@ -81,17 +87,68 @@ function getFeedbackCommentData() { return s } -export async function processTransformFormInput( +export async function processLanguageUpgradeTransformFormInput( pathToProject: string, fromJDKVersion: JDKVersion, toJDKVersion: JDKVersion ) { + transformByQState.setTransformationType(TransformationType.LANGUAGE_UPGRADE) transformByQState.setProjectName(path.basename(pathToProject)) transformByQState.setProjectPath(pathToProject) transformByQState.setSourceJDKVersion(fromJDKVersion) transformByQState.setTargetJDKVersion(toJDKVersion) } +export async function processSQLConversionTransformFormInput(pathToProject: string, schema: string) { + transformByQState.setTransformationType(TransformationType.SQL_CONVERSION) + transformByQState.setProjectName(path.basename(pathToProject)) + transformByQState.setProjectPath(pathToProject) + transformByQState.setSchema(schema) + transformByQState.setSourceJDKVersion(JDKVersion.JDK8) // use dummy value of JDK8 so that startJob API can be called + // targetJDKVersion defaults to JDK17, the only supported version, which is fine +} + +export async function validateSQLMetadataFile(fileContents: string, message: any) { + try { + const sctData = await xml2js.parseStringPromise(fileContents) + const dbEntities = sctData['tree']['instances'][0]['ProjectModel'][0]['entities'][0] + const sourceDB = dbEntities['sources'][0]['DbServer'][0]['$']['vendor'].trim().toUpperCase() + const targetDB = dbEntities['targets'][0]['DbServer'][0]['$']['vendor'].trim().toUpperCase() + const sourceServerName = dbEntities['sources'][0]['DbServer'][0]['$']['name'].trim() + transformByQState.setSourceServerName(sourceServerName) + if (sourceDB !== DB.ORACLE) { + transformByQState.getChatMessenger()?.sendUnrecoverableErrorResponse('unsupported-source-db', message.tabID) + return false + } else if (targetDB !== DB.AURORA_POSTGRESQL && targetDB !== DB.RDS_POSTGRESQL) { + transformByQState.getChatMessenger()?.sendUnrecoverableErrorResponse('unsupported-target-db', message.tabID) + return false + } + transformByQState.setSourceDB(sourceDB) + transformByQState.setTargetDB(targetDB) + + const serverNodeLocations = + sctData['tree']['instances'][0]['ProjectModel'][0]['relations'][0]['server-node-location'] + const schemaNames = new Set() + serverNodeLocations.forEach((serverNodeLocation: any) => { + const schemaNodes = serverNodeLocation['FullNameNodeInfoList'][0]['nameParts'][0][ + 'FullNameNodeInfo' + ].filter((node: any) => node['$']['typeNode'].toLowerCase() === 'schema') + schemaNodes.forEach((node: any) => { + schemaNames.add(node['$']['nameNode'].toUpperCase()) + }) + }) + transformByQState.setSchemaOptions(schemaNames) // user will choose one of these + getLogger().info( + `CodeTransformation: Parsed .sct file with source DB: ${sourceDB}, target DB: ${targetDB}, source host name: ${sourceServerName}, and schema names: ${Array.from(schemaNames)}` + ) + } catch (err: any) { + getLogger().error('CodeTransformation: Error parsing .sct file.', err) + transformByQState.getChatMessenger()?.sendUnrecoverableErrorResponse('error-parsing-sct-file', message.tabID) + return false + } + return true +} + export async function setMaven() { let mavenWrapperExecutableName = os.platform() === 'win32' ? 'mvnw.cmd' : 'mvnw' const mavenWrapperExecutablePath = path.join(transformByQState.getProjectPath(), mavenWrapperExecutableName) @@ -278,8 +335,9 @@ export async function preTransformationUploadCode() { // if the user chose to skip unit tests, add the custom build command here transformZipManifest.customBuildCommand = transformByQState.getCustomBuildCommand() const zipCodeResult = await zipCode({ - dependenciesFolder: transformByQState.getDependencyFolderInfo()!, - modulePath: transformByQState.getProjectPath(), + // dependenciesFolder will be undefined for SQL conversions since we don't compileProject + dependenciesFolder: transformByQState.getDependencyFolderInfo(), + projectPath: transformByQState.getProjectPath(), zipManifest: transformZipManifest, }) @@ -607,6 +665,10 @@ export async function pollTransformationStatusUntilPlanReady(jobId: string) { throw new PollJobError() } } + if (transformByQState.getTransformationType() === TransformationType.SQL_CONVERSION) { + // for now, no plan shown with SQL conversions. later, we may add one + return + } let plan = undefined try { plan = await getTransformationPlan(jobId) @@ -663,9 +725,16 @@ export async function finalizeTransformationJob(status: string) { jobPlanProgress['transformCode'] = StepProgress.Succeeded } -export async function getValidCandidateProjects(): Promise { +export async function getValidLanguageUpgradeCandidateProjects() { + const openProjects = await getOpenProjects() + const javaMavenProjects = await validateOpenProjects(openProjects) + return javaMavenProjects +} + +export async function getValidSQLConversionCandidateProjects() { const openProjects = await getOpenProjects() - return validateOpenProjects(openProjects) + const javaProjects = await getJavaProjects(openProjects) + return javaProjects } export async function setTransformationToRunningState() { @@ -717,20 +786,23 @@ export async function postTransformationJob() { const durationInMs = calculateTotalLatency(CodeTransformTelemetryState.instance.getStartTime()) const resultStatusMessage = transformByQState.getStatus() - const versionInfo = await getVersionData() - const mavenVersionInfoMessage = `${versionInfo[0]} (${transformByQState.getMavenName()})` - const javaVersionInfoMessage = `${versionInfo[1]} (${transformByQState.getMavenName()})` - - // Note: IntelliJ implementation of ResultStatusMessage includes additional metadata such as jobId. - telemetry.codeTransform_totalRunTime.emit({ - buildSystemVersion: mavenVersionInfoMessage, - codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), - codeTransformResultStatusMessage: resultStatusMessage, - codeTransformRunTimeLatency: durationInMs, - codeTransformLocalJavaVersion: javaVersionInfoMessage, - result: resultStatusMessage === TransformByQStatus.Succeeded ? MetadataResult.Pass : MetadataResult.Fail, - reason: resultStatusMessage, - }) + if (transformByQState.getTransformationType() !== TransformationType.SQL_CONVERSION) { + // the below is only applicable when user is doing a Java 8/11 language upgrade + const versionInfo = await getVersionData() + const mavenVersionInfoMessage = `${versionInfo[0]} (${transformByQState.getMavenName()})` + const javaVersionInfoMessage = `${versionInfo[1]} (${transformByQState.getMavenName()})` + + // Note: IntelliJ implementation of ResultStatusMessage includes additional metadata such as jobId. + telemetry.codeTransform_totalRunTime.emit({ + buildSystemVersion: mavenVersionInfoMessage, + codeTransformSessionId: CodeTransformTelemetryState.instance.getSessionId(), + codeTransformResultStatusMessage: resultStatusMessage, + codeTransformRunTimeLatency: durationInMs, + codeTransformLocalJavaVersion: javaVersionInfoMessage, + result: resultStatusMessage === TransformByQStatus.Succeeded ? MetadataResult.Pass : MetadataResult.Fail, + reason: resultStatusMessage, + }) + } if (transformByQState.isSucceeded()) { void vscode.window.showInformationMessage(CodeWhispererConstants.jobCompletedNotification) diff --git a/packages/core/src/codewhisperer/models/constants.ts b/packages/core/src/codewhisperer/models/constants.ts index 92c51509a2f..7fba6a33803 100644 --- a/packages/core/src/codewhisperer/models/constants.ts +++ b/packages/core/src/codewhisperer/models/constants.ts @@ -263,7 +263,9 @@ export const securityScanLanguageIds = [ 'java', 'python', 'javascript', + 'javascriptreact', 'typescript', + 'typescriptreact', 'csharp', 'go', 'ruby', @@ -286,6 +288,11 @@ export const securityScanLanguageIds = [ 'java-properties', 'go.mod', 'go.sum', + 'kotlin', + 'scala', + 'sh', + 'shell', + 'shellscript', ] as const export type SecurityScanLanguageId = (typeof securityScanLanguageIds)[number] @@ -350,6 +357,7 @@ export const updateInlineLockKey = 'CODEWHISPERER_INLINE_UPDATE_LOCK_KEY' export const newCustomizationMessage = 'You have access to new Amazon Q customizations.' // Start of QCT Strings + export const uploadZipSizeLimitInBytes = 2000000000 // 2GB export const maxBufferSize = 1024 * 1024 * 8 // this is 8MB; the default max buffer size for stdout for spawnSync is 1MB @@ -442,20 +450,20 @@ export const codeTransformLocThreshold = 100000 export const jobStartedChatMessage = 'I am starting to transform your code. It can take 10 to 30 minutes to upgrade your code, depending on the size of your project. To monitor progress, go to the Transformation Hub. If I run into any issues, I might pause the transformation to get input from you on how to proceed.' -export const uploadingCodeStepMessage = 'Uploading your code' +export const uploadingCodeStepMessage = 'Upload your code' export const buildCodeStepMessage = 'Build uploaded code in secure build environment' export const generatePlanStepMessage = 'Generate transformation plan' -export const transformStepMessage = 'Transform your code to Java 17 using transformation plan' +export const transformStepMessage = 'Transform your code' export const filesUploadedMessage = 'Files have been uploaded to Amazon Q, transformation job has been accepted and is preparing to start.' export const planningMessage = 'Amazon Q is analyzing your code in order to generate a transformation plan.' -export const transformingMessage = 'Amazon Q is transforming your code. Details will appear soon.' +export const transformingMessage = 'Amazon Q is transforming your code.' export const stoppingJobMessage = 'Stopping the transformation...' @@ -498,6 +506,24 @@ export const absolutePathDetectedMessage = (numPaths: number, buildFile: string, export const unsupportedJavaVersionChatMessage = `Sorry, currently I can only upgrade Java 8 or Java 11 projects. For more information, see the [Amazon Q documentation](${codeTransformPrereqDoc}).` +export const selectSQLMetadataFileHelpMessage = + 'Next, I need the zipped metadata file from your schema conversion. You can download the metadata by going to your migration project in the AWS DMS console. Open the schema conversion and choose **Convert the embedded SQL in your application**. You can downloaded the metadata from Amazon S3 in the {schema-conversion-project}/ directory.' + +export const invalidMetadataFileUnsupportedSourceDB = + 'I can only convert SQL for migrations from an Oracle source database. The provided .sct file indicates another source database for this migration.' + +export const invalidMetadataFileUnsupportedTargetDB = + 'I can only convert SQL for migrations to Aurora PostgreSQL or Amazon RDS for PostgreSQL target databases. The provided .sct file indicates another target database for this migration.' + +export const invalidMetadataFileErrorParsing = + "It looks like the .sct file you provided isn't valid. Make sure that you've uploaded the .zip file you retrieved from your schema conversion in AWS DMS." + +export const invalidMetadataFileNoSctFile = + "An .sct file is required for transformation. Make sure that you've uploaded the .zip file you retrieved from your schema conversion in AWS DMS." + +export const sqlMetadataFileReceived = + 'I found the following source database, target database, and host based on the schema conversion metadata you provided:' + export const failedToStartJobChatMessage = "Sorry, I couldn't begin the transformation. Please try starting the transformation again." @@ -553,16 +579,16 @@ export const jobCancelledChatMessage = export const jobCancelledNotification = 'You cancelled the transformation.' export const jobCompletedChatMessage = - 'I upgraded your code to Java 17. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated.' + 'I upgraded your code. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated.' export const jobCompletedNotification = - 'Amazon Q upgraded your code to Java 17. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated.' + 'Amazon Q upgraded your code. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated.' export const jobPartiallyCompletedChatMessage = - 'I upgraded part of your code to Java 17. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated and the errors that prevented a complete transformation.' + 'I upgraded part of your code. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated and the errors that prevented a complete transformation.' export const jobPartiallyCompletedNotification = - 'Amazon Q upgraded part of your code to Java 17. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated and the errors that prevented a complete transformation.' + 'Amazon Q upgraded part of your code. You can review the diff to see my proposed changes and accept or reject them. The transformation summary has details about the files I updated and the errors that prevented a complete transformation.' export const noPomXmlFoundChatMessage = `Sorry, I couldn\'t find a project that I can upgrade. I couldn\'t find a pom.xml file in any of your open projects. Currently, I can only upgrade Java 8 or Java 11 projects built on Maven. For more information, see the [Amazon Q documentation](${codeTransformPrereqDoc}).` @@ -626,7 +652,7 @@ export const cleanInstallErrorNotification = `Amazon Q could not run the Maven c export const enterJavaHomeChatMessage = 'Enter the path to JDK ' export const projectPromptChatMessage = - 'I can upgrade your JAVA_VERSION_HERE. To start the transformation, I need some information from you. Choose the project you want to upgrade and the target code version to upgrade to. Then, choose Transform.' + 'I can upgrade your JAVA_VERSION_HERE. To start the transformation, I need some information from you. Choose the project you want to upgrade and the target code version to upgrade to. Then, choose Confirm.' export const windowsJavaHomeHelpChatMessage = 'To find the JDK path, run the following commands in a new terminal: `cd "C:/Program Files/Java"` and then `dir`. If you see your JDK version, run `cd ` and then `cd` to show the path.' @@ -657,7 +683,7 @@ export const chooseTargetVersionFormTitle = 'Choose the target code version' export const skipUnitTestsFormTitle = 'Choose to skip unit tests' export const skipUnitTestsFormMessage = - 'I will build your project using `mvn test` by default. If you would like me to build your project without running unit tests, I will use `mvn test-compile`.' + 'I will build your project using `mvn clean test` by default. If you would like me to build your project without running unit tests, I will use `mvn clean test-compile`.' export const runUnitTestsMessage = 'Run unit tests' diff --git a/packages/core/src/codewhisperer/models/model.ts b/packages/core/src/codewhisperer/models/model.ts index 7e396a8f827..257ffedb403 100644 --- a/packages/core/src/codewhisperer/models/model.ts +++ b/packages/core/src/codewhisperer/models/model.ts @@ -17,6 +17,7 @@ import { References } from '../client/codewhisperer' import globals from '../../shared/extensionGlobals' import { ChatControllerEventEmitters } from '../../amazonqGumby/chat/controller/controller' import { TransformationSteps } from '../client/codewhispereruserclient' +import { Messenger } from '../../amazonqGumby/chat/controller/messenger/messenger' // unavoidable global variables interface VsCodeState { @@ -283,6 +284,11 @@ export enum TransformByQStatus { PartiallySucceeded = 'Partially Succeeded', } +export enum TransformationType { + LANGUAGE_UPGRADE = 'Language Upgrade', + SQL_CONVERSION = 'SQL Conversion', +} + export enum TransformByQReviewStatus { NotStarted = 'NotStarted', PreparingReview = 'PreparingReview', @@ -303,6 +309,13 @@ export enum JDKVersion { UNSUPPORTED = 'UNSUPPORTED', } +export enum DB { + ORACLE = 'ORACLE', + RDS_POSTGRESQL = 'RDS_POSTGRESQL', + AURORA_POSTGRESQL = 'AURORA_POSTGRESQL', + OTHER = 'OTHER', +} + export enum BuildSystem { Maven = 'Maven', Gradle = 'Gradle', @@ -311,12 +324,21 @@ export enum BuildSystem { export class ZipManifest { sourcesRoot: string = 'sources/' - dependenciesRoot: string | undefined = 'dependencies/' + dependenciesRoot: string = 'dependencies/' buildLogs: string = 'build-logs.txt' version: string = '1.0' hilCapabilities: string[] = ['HIL_1pDependency_VersionUpgrade'] - transformCapabilities: string[] = ['EXPLAINABILITY_V1'] + transformCapabilities: string[] = ['EXPLAINABILITY_V1'] // TO-DO: for SQL conversions, maybe make this = [] customBuildCommand: string = 'clean test' + requestedConversions?: { + sqlConversion?: { + source?: string + target?: string + schema?: string + host?: string + sctFileName?: string + } + } } export interface IHilZipManifestParams { @@ -364,6 +386,8 @@ export let sessionJobHistory: { export class TransformByQState { private transformByQState: TransformByQStatus = TransformByQStatus.NotStarted + private transformationType: TransformationType | undefined = undefined + private projectName: string = '' private projectPath: string = '' @@ -377,6 +401,18 @@ export class TransformByQState { private customBuildCommand: string = '' + private sourceDB: DB | undefined = undefined + + private targetDB: DB | undefined = undefined + + private schema: string = '' + + private schemaOptions: Set = new Set() + + private sourceServerName: string = '' + + private metadataPathSQL: string = '' + private planFilePath: string = '' private summaryFilePath: string = '' private preBuildLogFilePath: string = '' @@ -401,6 +437,7 @@ export class TransformByQState { private javaHome: string | undefined = undefined private chatControllers: ChatControllerEventEmitters | undefined = undefined + private chatMessenger: Messenger | undefined = undefined private dependencyFolderInfo: FolderInfo | undefined = undefined @@ -432,6 +469,10 @@ export class TransformByQState { return this.transformByQState === TransformByQStatus.PartiallySucceeded } + public getTransformationType() { + return this.transformationType + } + public getProjectName() { return this.projectName } @@ -464,6 +505,30 @@ export class TransformByQState { return this.targetJDKVersion } + public getSourceDB() { + return this.sourceDB + } + + public getTargetDB() { + return this.targetDB + } + + public getSchema() { + return this.schema + } + + public getSchemaOptions() { + return this.schemaOptions + } + + public getSourceServerName() { + return this.sourceServerName + } + + public getMetadataPathSQL() { + return this.metadataPathSQL + } + public getStatus() { return this.transformByQState } @@ -520,6 +585,10 @@ export class TransformByQState { return this.chatControllers } + public getChatMessenger() { + return this.chatMessenger + } + public getDependencyFolderInfo(): FolderInfo | undefined { return this.dependencyFolderInfo } @@ -560,6 +629,10 @@ export class TransformByQState { this.transformByQState = TransformByQStatus.PartiallySucceeded } + public setTransformationType(type: TransformationType) { + this.transformationType = type + } + public setProjectName(name: string) { this.projectName = name } @@ -588,6 +661,30 @@ export class TransformByQState { this.targetJDKVersion = version } + public setSourceDB(db: DB) { + this.sourceDB = db + } + + public setTargetDB(db: DB) { + this.targetDB = db + } + + public setSchema(schema: string) { + this.schema = schema + } + + public setSchemaOptions(schemaOptions: Set) { + this.schemaOptions = schemaOptions + } + + public setSourceServerName(serverName: string) { + this.sourceServerName = serverName + } + + public setMetadataPathSQL(path: string) { + this.metadataPathSQL = path + } + public setPlanFilePath(filePath: string) { this.planFilePath = filePath } @@ -636,6 +733,10 @@ export class TransformByQState { this.chatControllers = controllers } + public setChatMessenger(messenger: Messenger) { + this.chatMessenger = messenger + } + public setDependencyFolderInfo(folderInfo: FolderInfo) { this.dependencyFolderInfo = folderInfo } @@ -666,6 +767,14 @@ export class TransformByQState { this.jobFailureErrorChatMessage = undefined this.jobFailureMetadata = '' this.payloadFilePath = '' + this.metadataPathSQL = '' + this.sourceJDKVersion = undefined + this.targetJDKVersion = JDKVersion.JDK17 + this.sourceDB = undefined + this.targetDB = undefined + this.sourceServerName = '' + this.schemaOptions.clear() + this.schema = '' this.errorLog = '' this.customBuildCommand = '' this.intervalId = undefined diff --git a/packages/core/src/codewhisperer/service/recommendationHandler.ts b/packages/core/src/codewhisperer/service/recommendationHandler.ts index 1fd46541c11..f95801b297e 100644 --- a/packages/core/src/codewhisperer/service/recommendationHandler.ts +++ b/packages/core/src/codewhisperer/service/recommendationHandler.ts @@ -14,7 +14,7 @@ import { AWSError } from 'aws-sdk' import { isAwsError } from '../../shared/errors' import { TelemetryHelper } from '../util/telemetryHelper' import { getLogger } from '../../shared/logger' -import { isCloud9, isSageMaker } from '../../shared/extensionUtilities' +import { isCloud9 } from '../../shared/extensionUtilities' import { hasVendedIamCredentials } from '../../auth/auth' import { asyncCallWithTimeout, @@ -43,6 +43,7 @@ import { application } from '../util/codeWhispererApplication' import { openUrl } from '../../shared/utilities/vsCodeUtils' import { indent } from '../../shared/utilities/textUtilities' import path from 'path' +import { isIamConnection } from '../../auth/connection' /** * This class is for getRecommendation/listRecommendation API calls and its states @@ -158,8 +159,7 @@ export class RecommendationHandler { autoTriggerType?: CodewhispererAutomatedTriggerType, pagination: boolean = true, page: number = 0, - isSM: boolean = isSageMaker(), - retry: boolean = false + generate: boolean = isIamConnection(AuthUtil.instance.conn) ): Promise { let invocationResult: 'Succeeded' | 'Failed' = 'Failed' let errorMessage: string | undefined = undefined @@ -186,7 +186,7 @@ export class RecommendationHandler { ).language session.taskType = await this.getTaskTypeFromEditorFileName(editor.document.fileName) - if (pagination && !isSM) { + if (pagination && !generate) { if (page === 0) { session.requestContext = await EditorContext.buildListRecommendationRequest( editor as vscode.TextEditor, @@ -220,10 +220,7 @@ export class RecommendationHandler { * Validate request */ if (!EditorContext.validateRequest(request)) { - getLogger().verbose( - 'Invalid Request : ', - JSON.stringify(request, undefined, EditorContext.getTabSize()) - ) + getLogger().verbose('Invalid Request: %O', request) const languageName = request.fileContext.programmingLanguage.languageName if (!runtimeLanguageContext.isLanguageSupported(languageName)) { errorMessage = `${languageName} is currently not supported by Amazon Q inline suggestions` @@ -241,7 +238,9 @@ export class RecommendationHandler { this.lastInvocationTime = startTime const mappedReq = runtimeLanguageContext.mapToRuntimeLanguage(request) const codewhispererPromise = - pagination && !isSM ? client.listRecommendations(mappedReq) : client.generateRecommendations(mappedReq) + pagination && !generate + ? client.listRecommendations(mappedReq) + : client.generateRecommendations(mappedReq) const resp = await this.getServerResponse(triggerType, config.isManualTriggerEnabled, codewhispererPromise) TelemetryHelper.instance.setSdkApiCallEndTime() latency = startTime !== 0 ? performance.now() - startTime : 0 diff --git a/packages/core/src/codewhisperer/service/transformByQ/transformApiHandler.ts b/packages/core/src/codewhisperer/service/transformByQ/transformApiHandler.ts index 5556ae34f48..55cd7797e5e 100644 --- a/packages/core/src/codewhisperer/service/transformByQ/transformApiHandler.ts +++ b/packages/core/src/codewhisperer/service/transformByQ/transformApiHandler.ts @@ -16,6 +16,7 @@ import { jobPlanProgress, sessionJobHistory, StepProgress, + TransformationType, transformByQState, TransformByQStatus, TransformByQStoppedError, @@ -212,6 +213,11 @@ export async function uploadPayload(payloadFileName: string, uploadContext?: Upl transformByQState.setJobId(encodeHTML(response.uploadId)) } jobPlanProgress['uploadCode'] = StepProgress.Succeeded + if (transformByQState.getTransformationType() === TransformationType.SQL_CONVERSION) { + // if doing a SQL conversion, we don't build the code or generate a plan, so mark these steps as succeeded immediately so that next step renders + jobPlanProgress['buildCode'] = StepProgress.Succeeded + jobPlanProgress['generatePlan'] = StepProgress.Succeeded + } updateJobHistory() return response.uploadId } @@ -275,9 +281,9 @@ export function createZipManifest({ hilZipParams }: IZipManifestParams) { } interface IZipCodeParams { - dependenciesFolder: FolderInfo + dependenciesFolder?: FolderInfo humanInTheLoopFlag?: boolean - modulePath?: string + projectPath?: string zipManifest: ZipManifest | HilZipManifest } @@ -288,7 +294,7 @@ interface ZipCodeResult { } export async function zipCode( - { dependenciesFolder, humanInTheLoopFlag, modulePath, zipManifest }: IZipCodeParams, + { dependenciesFolder, humanInTheLoopFlag, projectPath, zipManifest }: IZipCodeParams, zip: AdmZip = new AdmZip() ) { let tempFilePath = undefined @@ -297,17 +303,17 @@ export async function zipCode( try { throwIfCancelled() - // If no modulePath is passed in, we are not uploaded the source folder - // NOTE: We only upload dependencies for human in the loop work - if (modulePath) { - const sourceFiles = getFilesRecursively(modulePath, false) + // if no project Path is passed in, we are not uploaded the source folder + // we only upload dependencies for human in the loop work + if (projectPath) { + const sourceFiles = getFilesRecursively(projectPath, false) let sourceFilesSize = 0 for (const file of sourceFiles) { if (nodefs.statSync(file).isDirectory()) { getLogger().info('CodeTransformation: Skipping directory, likely a symlink') continue } - const relativePath = path.relative(modulePath, file) + const relativePath = path.relative(projectPath, file) const paddedPath = path.join('sources', relativePath) zip.addLocalFile(file, path.dirname(paddedPath)) sourceFilesSize += (await nodefs.promises.stat(file)).size @@ -315,14 +321,40 @@ export async function zipCode( getLogger().info(`CodeTransformation: source code files size = ${sourceFilesSize}`) } + if ( + transformByQState.getTransformationType() === TransformationType.SQL_CONVERSION && + zipManifest instanceof ZipManifest + ) { + // note that zipManifest must be a ZipManifest since only other option is HilZipManifest which is not used for SQL conversions + const metadataZip = new AdmZip(transformByQState.getMetadataPathSQL()) + zipManifest.requestedConversions = { + sqlConversion: { + source: transformByQState.getSourceDB(), + target: transformByQState.getTargetDB(), + schema: transformByQState.getSchema(), + host: transformByQState.getSourceServerName(), + sctFileName: metadataZip.getEntries().filter((entry) => entry.entryName.endsWith('.sct'))[0] + .entryName, + }, + } + // TO-DO: later consider making this add to path.join(zipManifest.dependenciesRoot, 'qct-sct-metadata', entry.entryName) so that it's more organized + metadataZip + .getEntries() + .forEach((entry) => + zip.addFile(path.join(zipManifest.dependenciesRoot, entry.entryName), entry.getData()) + ) + const sqlMetadataSize = (await nodefs.promises.stat(transformByQState.getMetadataPathSQL())).size + getLogger().info(`CodeTransformation: SQL metadata file size = ${sqlMetadataSize}`) + } + throwIfCancelled() let dependencyFiles: string[] = [] - if (await fs.exists(dependenciesFolder.path)) { + if (dependenciesFolder && (await fs.exists(dependenciesFolder.path))) { dependencyFiles = getFilesRecursively(dependenciesFolder.path, true) } - if (dependencyFiles.length > 0) { + if (dependenciesFolder && dependencyFiles.length > 0) { let dependencyFilesSize = 0 for (const file of dependencyFiles) { if (isExcludedDependencyFile(file)) { @@ -336,10 +368,6 @@ export async function zipCode( } getLogger().info(`CodeTransformation: dependency files size = ${dependencyFilesSize}`) dependenciesCopied = true - } else { - if (zipManifest instanceof ZipManifest) { - zipManifest.dependenciesRoot = undefined - } } zip.addFile('manifest.json', Buffer.from(JSON.stringify(zipManifest)), 'utf-8') @@ -356,10 +384,11 @@ export async function zipCode( tempFilePath = path.join(os.tmpdir(), 'zipped-code.zip') await fs.writeFile(tempFilePath, zip.toBuffer()) - if (await fs.exists(dependenciesFolder.path)) { + if (dependenciesFolder && (await fs.exists(dependenciesFolder.path))) { await fs.delete(dependenciesFolder.path, { recursive: true, force: true }) } } catch (e: any) { + getLogger().error(`CodeTransformation: zipCode error = ${e}`) throw Error('Failed to zip project') } finally { if (logFilePath) { @@ -394,9 +423,9 @@ export async function startJob(uploadId: string) { programmingLanguage: { languageName: CodeWhispererConstants.defaultLanguage.toLowerCase() }, }, transformationSpec: { - transformationType: CodeWhispererConstants.transformationType, - source: { language: sourceLanguageVersion }, - target: { language: targetLanguageVersion }, + transformationType: CodeWhispererConstants.transformationType, // shared b/w language upgrades & sql conversions for now + source: { language: sourceLanguageVersion }, // dummy value of JDK8 used for SQL conversions just so that this API can be called + target: { language: targetLanguageVersion }, // always JDK17 }, }) if (response.$response.requestId) { diff --git a/packages/core/src/codewhisperer/service/transformByQ/transformProjectValidationHandler.ts b/packages/core/src/codewhisperer/service/transformByQ/transformProjectValidationHandler.ts index c0f47e88d4c..143f20af51a 100644 --- a/packages/core/src/codewhisperer/service/transformByQ/transformProjectValidationHandler.ts +++ b/packages/core/src/codewhisperer/service/transformByQ/transformProjectValidationHandler.ts @@ -17,7 +17,7 @@ import { checkBuildSystem } from './transformFileHandler' export async function getOpenProjects(): Promise { const folders = vscode.workspace.workspaceFolders - if (folders === undefined) { + if (folders === undefined || folders.length === 0) { throw new NoOpenProjectsError() } @@ -32,7 +32,7 @@ export async function getOpenProjects(): Promise= 1 + activeStepId >= 1 && transformByQState.getTransformationType() !== TransformationType.SQL_CONVERSION // for SQL conversions, don't show buildCode step ? simpleStep( this.getProgressIconMarkup(jobPlanProgress['buildCode']), CodeWhispererConstants.buildCodeStepMessage, @@ -339,7 +356,7 @@ export class TransformationHubViewProvider implements vscode.WebviewViewProvider ) : '' const planMarkup = - activeStepId >= 2 + activeStepId >= 2 && transformByQState.getTransformationType() !== TransformationType.SQL_CONVERSION // for SQL conversions, don't show generatePlan step ? simpleStep( this.getProgressIconMarkup(jobPlanProgress['generatePlan']), CodeWhispererConstants.generatePlanStepMessage, diff --git a/packages/core/src/codewhisperer/util/authUtil.ts b/packages/core/src/codewhisperer/util/authUtil.ts index c4d2c0109b8..ed2dfd66e6c 100644 --- a/packages/core/src/codewhisperer/util/authUtil.ts +++ b/packages/core/src/codewhisperer/util/authUtil.ts @@ -59,11 +59,8 @@ export const isValidCodeWhispererCoreConnection = (conn?: Connection): conn is C return isIamConnection(conn) } - if (isSageMaker()) { - return isIamConnection(conn) - } - return ( + (isSageMaker() && isIamConnection(conn)) || (isCloud9('codecatalyst') && isIamConnection(conn)) || (isSsoConnection(conn) && hasScopes(conn, codeWhispererCoreScopes)) ) @@ -71,9 +68,10 @@ export const isValidCodeWhispererCoreConnection = (conn?: Connection): conn is C /** Superset that includes all of CodeWhisperer + Amazon Q */ export const isValidAmazonQConnection = (conn?: Connection): conn is Connection => { return ( - (isSsoConnection(conn) || isBuilderIdConnection(conn)) && - isValidCodeWhispererCoreConnection(conn) && - hasScopes(conn, amazonQScopes) + (isSageMaker() && isIamConnection(conn)) || + ((isSsoConnection(conn) || isBuilderIdConnection(conn)) && + isValidCodeWhispererCoreConnection(conn) && + hasScopes(conn, amazonQScopes)) ) } @@ -442,7 +440,8 @@ export class AuthUtil { if (conn === undefined) { return buildFeatureAuthState(AuthStates.disconnected) } - if (!isSsoConnection(conn)) { + + if (!isSsoConnection(conn) && !isSageMaker()) { throw new ToolkitError(`Connection "${conn.id}" is not a valid type: ${conn.type}`) } @@ -453,7 +452,7 @@ export class AuthUtil { return state } - if (isBuilderIdConnection(conn) || isIdcSsoConnection(conn)) { + if (isBuilderIdConnection(conn) || isIdcSsoConnection(conn) || isSageMaker()) { if (isValidCodeWhispererCoreConnection(conn)) { state[Features.codewhispererCore] = AuthStates.connected } diff --git a/packages/core/src/codewhisperer/util/securityScanLanguageContext.ts b/packages/core/src/codewhisperer/util/securityScanLanguageContext.ts index 466a558a2eb..1966bbac402 100644 --- a/packages/core/src/codewhisperer/util/securityScanLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/securityScanLanguageContext.ts @@ -17,7 +17,9 @@ export class SecurityScanLanguageContext { java: 'java', python: 'python', javascript: 'javascript', + javascriptreact: 'javascript', typescript: 'typescript', + typescriptreact: 'typescript', csharp: 'csharp', go: 'go', golang: 'go', @@ -40,6 +42,11 @@ export class SecurityScanLanguageContext { 'java-properties': 'plaintext', 'go.mod': 'plaintext', 'go.sum': 'plaintext', + kotlin: 'kotlin', + scala: 'scala', + sh: 'shell', + shell: 'shell', + shellscript: 'shell', }) } diff --git a/packages/core/src/codewhispererChat/clients/chat/v0/chat.ts b/packages/core/src/codewhispererChat/clients/chat/v0/chat.ts index 00326ddd955..fc164ebb95c 100644 --- a/packages/core/src/codewhispererChat/clients/chat/v0/chat.ts +++ b/packages/core/src/codewhispererChat/clients/chat/v0/chat.ts @@ -3,10 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ +import { SendMessageCommandOutput, SendMessageRequest } from '@amzn/amazon-q-developer-streaming-client' import { GenerateAssistantResponseCommandOutput, GenerateAssistantResponseRequest } from '@amzn/codewhisperer-streaming' import * as vscode from 'vscode' import { ToolkitError } from '../../../../shared/errors' import { createCodeWhispererChatStreamingClient } from '../../../../shared/clients/codewhispererChatClient' +import { createQDeveloperStreamingClient } from '../../../../shared/clients/qDeveloperChatClient' export class ChatSession { private sessionId?: string @@ -28,8 +30,28 @@ export class ChatSession { public setSessionID(id?: string) { this.sessionId = id } + async chatIam(chatRequest: SendMessageRequest): Promise { + const client = await createQDeveloperStreamingClient() - async chat(chatRequest: GenerateAssistantResponseRequest): Promise { + const response = await client.sendMessage(chatRequest) + if (!response.sendMessageResponse) { + throw new ToolkitError( + `Empty chat response. Session id: ${this.sessionId} Request ID: ${response.$metadata.requestId}` + ) + } + + const responseStream = response.sendMessageResponse + for await (const event of responseStream) { + if ('messageMetadataEvent' in event) { + this.sessionId = event.messageMetadataEvent?.conversationId + break + } + } + + return response + } + + async chatSso(chatRequest: GenerateAssistantResponseRequest): Promise { const client = await createCodeWhispererChatStreamingClient() if (this.sessionId !== undefined && chatRequest.conversationState !== undefined) { diff --git a/packages/core/src/codewhispererChat/controllers/chat/chatRequest/converter.ts b/packages/core/src/codewhispererChat/controllers/chat/chatRequest/converter.ts index 5d884b24d1a..9ff56523379 100644 --- a/packages/core/src/codewhispererChat/controllers/chat/chatRequest/converter.ts +++ b/packages/core/src/codewhispererChat/controllers/chat/chatRequest/converter.ts @@ -4,9 +4,9 @@ */ import { + ConversationState, CursorState, DocumentSymbol, - GenerateAssistantResponseRequest, RelevantTextDocument, SymbolType, TextDocument, @@ -37,7 +37,7 @@ export const supportedLanguagesList = [ const filePathSizeLimit = 4_000 const customerMessageSizeLimit = 4_000 -export function triggerPayloadToChatRequest(triggerPayload: TriggerPayload): GenerateAssistantResponseRequest { +export function triggerPayloadToChatRequest(triggerPayload: TriggerPayload): { conversationState: ConversationState } { let document: TextDocument | undefined = undefined let cursorState: CursorState | undefined = undefined diff --git a/packages/core/src/codewhispererChat/controllers/chat/controller.ts b/packages/core/src/codewhispererChat/controllers/chat/controller.ts index 98d09ca3c7c..b605ce8698b 100644 --- a/packages/core/src/codewhispererChat/controllers/chat/controller.ts +++ b/packages/core/src/codewhispererChat/controllers/chat/controller.ts @@ -5,7 +5,7 @@ import { Event as VSCodeEvent, Uri } from 'vscode' import { EditorContextExtractor } from '../../editor/context/extractor' import { ChatSessionStorage } from '../../storages/chatSession' -import { Messenger, StaticTextResponseType } from './messenger/messenger' +import { Messenger, MessengerResponseType, StaticTextResponseType } from './messenger/messenger' import { PromptMessage, ChatTriggerType, @@ -34,10 +34,8 @@ import { EditorContentController } from '../../../amazonq/commons/controllers/co import { EditorContextCommand } from '../../commands/registerCommands' import { PromptsGenerator } from './prompts/promptsGenerator' import { TriggerEventsStorage } from '../../storages/triggerEvents' -import { - CodeWhispererStreamingServiceException, - GenerateAssistantResponseCommandOutput, -} from '@amzn/codewhisperer-streaming' +import { SendMessageRequest } from '@amzn/amazon-q-developer-streaming-client' +import { CodeWhispererStreamingServiceException } from '@amzn/codewhisperer-streaming' import { UserIntentRecognizer } from './userIntent/userIntentRecognizer' import { CWCTelemetryHelper, recordTelemetryChatRunCommand } from './telemetryHelper' import { CodeWhispererTracker } from '../../../codewhisperer/tracker/codewhispererTracker' @@ -54,6 +52,7 @@ import { getHttpStatusCode, AwsClientResponseError } from '../../../shared/error import { uiEventRecorder } from '../../../amazonq/util/eventRecorder' import { globals } from '../../../shared' import { telemetry } from '../../../shared/telemetry' +import { isSsoConnection } from '../../../auth/connection' export interface ChatControllerMessagePublishers { readonly processPromptChatMessage: MessagePublisher @@ -651,24 +650,33 @@ export class ChatController { const request = triggerPayloadToChatRequest(triggerPayload) const session = this.sessionStorage.getSession(tabID) - getLogger().info( - `request from tab: ${tabID} conversationID: ${session.sessionIdentifier} request: ${JSON.stringify( - request - )}` - ) - let response: GenerateAssistantResponseCommandOutput | undefined = undefined + getLogger().info(`request from tab: ${tabID} conversationID: ${session.sessionIdentifier} request: %O`, request) + let response: MessengerResponseType | undefined = undefined session.createNewTokenSource() try { this.messenger.sendInitalStream(tabID, triggerID) this.telemetryHelper.setConversationStreamStartTime(tabID) - response = await session.chat(request) + if (isSsoConnection(AuthUtil.instance.conn)) { + const { $metadata, generateAssistantResponseResponse } = await session.chatSso(request) + response = { + $metadata: $metadata, + message: generateAssistantResponseResponse, + } + } else { + const { $metadata, sendMessageResponse } = await session.chatIam(request as SendMessageRequest) + response = { + $metadata: $metadata, + message: sendMessageResponse, + } + } this.telemetryHelper.recordEnterFocusConversation(triggerEvent.tabID) this.telemetryHelper.recordStartConversation(triggerEvent, triggerPayload) getLogger().info( `response to tab: ${tabID} conversationID: ${session.sessionIdentifier} requestID: ${ response.$metadata.requestId - } metadata: ${JSON.stringify(response.$metadata)}` + } metadata: %O`, + response.$metadata ) await this.messenger.sendAIResponse(response, session, tabID, triggerID, triggerPayload) } catch (e: any) { diff --git a/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts b/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts index c011d0e5c51..3c377119747 100644 --- a/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts +++ b/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts @@ -13,9 +13,10 @@ import { QuickActionMessage, } from '../../../view/connector/connector' import { EditorContextCommandType } from '../../../commands/registerCommands' +import { ChatResponseStream as qdevChatResponseStream } from '@amzn/amazon-q-developer-streaming-client' import { + ChatResponseStream as cwChatResponseStream, CodeWhispererStreamingServiceException, - GenerateAssistantResponseCommandOutput, SupplementaryWebLink, } from '@amzn/codewhisperer-streaming' import { ChatMessage, ErrorMessage, FollowUp, Suggestion } from '../../../view/connector/connector' @@ -37,6 +38,11 @@ import { extractAuthFollowUp } from '../../../../amazonq/util/authUtils' export type StaticTextResponseType = 'quick-action-help' | 'onboarding-help' | 'transform' | 'help' +export type MessengerResponseType = { + $metadata: { requestId?: string; httpStatusCode?: number } + message?: AsyncIterable +} + export class Messenger { public constructor( private readonly dispatcher: AppToWebViewMessageDispatcher, @@ -103,7 +109,7 @@ export class Messenger { } public async sendAIResponse( - response: GenerateAssistantResponseCommandOutput, + response: MessengerResponseType, session: ChatSession, tabID: string, triggerID: string, @@ -116,7 +122,7 @@ export class Messenger { let relatedSuggestions: Suggestion[] = [] let codeBlockLanguage: string = 'plaintext' - if (response.generateAssistantResponseResponse === undefined) { + if (response.message === undefined) { throw new ToolkitError( `Empty response from CodeWhisperer Streaming service. Request ID: ${response.$metadata.requestId}` ) @@ -133,7 +139,7 @@ export class Messenger { const eventCounts = new Map() waitUntil( async () => { - for await (const chatEvent of response.generateAssistantResponseResponse!) { + for await (const chatEvent of response.message!) { for (const key of keys(chatEvent)) { if ((chatEvent[key] as any) !== undefined) { eventCounts.set(key, (eventCounts.get(key) ?? 0) + 1) @@ -432,7 +438,7 @@ export class Messenger { let message = '' switch (quickAction) { case 'help': - message = 'What can Amazon Q help me with?' + message = 'How can Amazon Q help me?' break } diff --git a/packages/core/src/codewhispererChat/controllers/chat/telemetryHelper.ts b/packages/core/src/codewhispererChat/controllers/chat/telemetryHelper.ts index 1f01f17bb33..c6e12d601c2 100644 --- a/packages/core/src/codewhispererChat/controllers/chat/telemetryHelper.ts +++ b/packages/core/src/codewhispererChat/controllers/chat/telemetryHelper.ts @@ -358,6 +358,10 @@ export class CWCTelemetryHelper { return 'UPVOTE' case 'downvote': return 'DOWNVOTE' + case 'acceptDiff': + return 'ACCEPT_DIFF' + case 'viewDiff': + return 'VIEW_DIFF' default: return 'UNKNOWN' } diff --git a/packages/core/src/dev/activation.ts b/packages/core/src/dev/activation.ts index 3c94e5d6d71..e676c426b12 100644 --- a/packages/core/src/dev/activation.ts +++ b/packages/core/src/dev/activation.ts @@ -4,7 +4,6 @@ */ import * as vscode from 'vscode' -import * as config from './config' import { createCommonButtons } from '../shared/ui/buttons' import { createQuickPick } from '../shared/ui/pickerPrompter' import { SkipPrompter } from '../shared/ui/common/skipPrompter' @@ -14,9 +13,6 @@ import { Commands } from '../shared/vscode/commands2' import { createInputBox } from '../shared/ui/inputPrompter' import { Wizard } from '../shared/wizards/wizard' import { deleteDevEnvCommand, installVsixCommand, openTerminalCommand } from './codecatalyst' -import { watchBetaVSIX } from './beta' -import { isCloud9 } from '../shared/extensionUtilities' -import { isReleaseVersion } from '../shared/vscode/env' import { isAnySsoConnection } from '../auth/connection' import { Auth } from '../auth/auth' import { getLogger } from '../shared/logger' @@ -194,10 +190,6 @@ export async function activate(ctx: vscode.ExtensionContext): Promise { const editor = new ObjectEditor() ctx.subscriptions.push(openStorageCommand.register(editor)) - - if (!isCloud9() && !isReleaseVersion() && config.betaUrl) { - ctx.subscriptions.push(watchBetaVSIX(config.betaUrl)) - } } async function openMenu(options: MenuOption[]): Promise { diff --git a/packages/core/src/dev/beta.ts b/packages/core/src/dev/beta.ts index 69935ace908..7718d1f49fc 100644 --- a/packages/core/src/dev/beta.ts +++ b/packages/core/src/dev/beta.ts @@ -18,6 +18,9 @@ import { isUserCancelledError, ToolkitError } from '../shared/errors' import { telemetry } from '../shared/telemetry/telemetry' import { cast } from '../shared/utilities/typeConstructors' import { CancellationError } from '../shared/utilities/timeoutUtils' +import { isAmazonQ, isCloud9, productName } from '../shared/extensionUtilities' +import * as config from './config' +import { isReleaseVersion } from '../shared/vscode/env' const localize = nls.loadMessageBundle() @@ -39,6 +42,16 @@ async function updateBetaToolkitData(vsixUrl: string, data: BetaToolkit) { }) } +/** + * Set up "beta" update monitoring. + */ +export async function activate(ctx: vscode.ExtensionContext) { + const betaUrl = isAmazonQ() ? config.betaUrl.amazonq : config.betaUrl.toolkit + if (!isCloud9() && !isReleaseVersion() && betaUrl) { + ctx.subscriptions.push(watchBetaVSIX(betaUrl)) + } +} + /** * Watch the beta VSIX daily for changes. * If this is the first time we are watching the beta version or if its been 24 hours since it was last checked then try to prompt for update @@ -75,11 +88,12 @@ async function runAutoUpdate(vsixUrl: string) { async function checkBetaUrl(vsixUrl: string): Promise { const resp = await got(vsixUrl).buffer() const latestBetaInfo = await getExtensionInfo(resp) - if (VSCODE_EXTENSION_ID.awstoolkit !== `${latestBetaInfo.publisher}.${latestBetaInfo.name}`) { + const extId = isAmazonQ() ? VSCODE_EXTENSION_ID.amazonq : VSCODE_EXTENSION_ID.awstoolkit + if (extId !== `${latestBetaInfo.publisher}.${latestBetaInfo.name}`) { throw new ToolkitError('URL does not point to an AWS Toolkit artifact', { code: 'InvalidExtensionName' }) } - const currentVersion = vscode.extensions.getExtension(VSCODE_EXTENSION_ID.awstoolkit)?.packageJSON.version + const currentVersion = vscode.extensions.getExtension(extId)?.packageJSON.version if (latestBetaInfo.version !== currentVersion) { const tmpFolder = await makeTemporaryToolkitFolder() const betaPath = vscode.Uri.joinPath(vscode.Uri.file(tmpFolder), path.basename(vsixUrl)) @@ -141,7 +155,7 @@ async function promptInstallToolkit(pluginPath: vscode.Uri, newVersion: string, const response = await vscode.window.showInformationMessage( localize( 'AWS.dev.beta.updatePrompt', - `New version of AWS Toolkit is available at the [beta URL]({0}). Install the new version "{1}" to continue using the beta.`, + `New version of ${productName()} is available at the [beta URL]({0}). Install the new version "{1}" to continue using the beta.`, vsixUrl, newVersion ), diff --git a/packages/core/src/dev/config.ts b/packages/core/src/dev/config.ts index 219f9b35fec..276732a72bf 100644 --- a/packages/core/src/dev/config.ts +++ b/packages/core/src/dev/config.ts @@ -3,7 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -// This file is strictly used for private development +// This file is for internal testing. // Nothing in this file should have a truthy value on mainline -export const betaUrl = '' +export const betaUrl = { + amazonq: '', + toolkit: '', +} + +// feature flag for SQL transformations +export const isSQLTransformReady = false diff --git a/packages/core/src/dev/index.ts b/packages/core/src/dev/index.ts index e69b1908875..111920c99ee 100644 --- a/packages/core/src/dev/index.ts +++ b/packages/core/src/dev/index.ts @@ -4,3 +4,4 @@ */ export { DevOptions, updateDevMode } from './activation' +export * as beta from './beta' diff --git a/packages/core/src/extension.ts b/packages/core/src/extension.ts index 778c90969b2..539178823d1 100644 --- a/packages/core/src/extension.ts +++ b/packages/core/src/extension.ts @@ -19,7 +19,7 @@ import { Commands } from './shared/vscode/commands2' import { endpointsFileUrl, githubCreateIssueUrl, githubUrl } from './shared/constants' import { getIdeProperties, aboutExtension, isCloud9, getDocUrl } from './shared/extensionUtilities' import { logAndShowError, logAndShowWebviewError } from './shared/utilities/logAndShowUtils' -import { AuthStatus, telemetry } from './shared/telemetry/telemetry' +import { telemetry } from './shared/telemetry/telemetry' import { openUrl } from './shared/utilities/vsCodeUtils' import { activateViewsShared } from './awsexplorer/activationShared' import fs from './shared/fs/fs' @@ -45,11 +45,6 @@ import { UriHandler } from './shared/vscode/uriHandler' import { disableAwsSdkWarning } from './shared/awsClientBuilder' import { FileResourceFetcher } from './shared/resourcefetcher/fileResourceFetcher' import { ResourceFetcher } from './shared/resourcefetcher/resourcefetcher' -import { ExtStartUpSources } from './shared/telemetry/util' -import { ExtensionUse, getAuthFormIdsFromConnection } from './auth/utils' -import { Auth } from './auth' -import { AuthFormId } from './login/webview/vue/types' -import { getTelemetryMetadataForConn, isSsoConnection } from './auth/connection' import { registerCommands } from './commands' // In web mode everything must be in a single file, so things like the endpoints file will not be available. @@ -258,51 +253,3 @@ function wrapWithProgressForCloud9(channel: vscode.OutputChannel): (typeof vscod }) } } - -export async function emitUserState() { - await telemetry.auth_userState.run(async () => { - telemetry.record({ passive: true }) - - const firstUse = ExtensionUse.instance.isFirstUse() - const wasUpdated = ExtensionUse.instance.wasUpdated() - - if (firstUse) { - telemetry.record({ source: ExtStartUpSources.firstStartUp }) - } else if (wasUpdated) { - telemetry.record({ source: ExtStartUpSources.update }) - } else { - telemetry.record({ source: ExtStartUpSources.reload }) - } - - let authStatus: AuthStatus = 'notConnected' - const enabledConnections: Set = new Set() - const enabledScopes: Set = new Set() - if (Auth.instance.hasConnections) { - authStatus = 'expired' - ;(await Auth.instance.listConnections()).forEach((conn) => { - const state = Auth.instance.getConnectionState(conn) - if (state === 'valid') { - authStatus = 'connected' - } - - getAuthFormIdsFromConnection(conn).forEach((id) => enabledConnections.add(id)) - if (isSsoConnection(conn)) { - conn.scopes?.forEach((s) => enabledScopes.add(s)) - } - }) - } - - // There may be other SSO connections in toolkit, but there is no use case for - // displaying registration info for non-active connections at this time. - const activeConn = Auth.instance.activeConnection - if (activeConn?.type === 'sso') { - telemetry.record(await getTelemetryMetadataForConn(activeConn)) - } - - telemetry.record({ - authStatus, - authEnabledConnections: [...enabledConnections].join(','), - authScopes: [...enabledScopes].join(','), - }) - }) -} diff --git a/packages/core/src/extensionNode.ts b/packages/core/src/extensionNode.ts index f5e580300e8..cef34e522df 100644 --- a/packages/core/src/extensionNode.ts +++ b/packages/core/src/extensionNode.ts @@ -7,10 +7,9 @@ import * as vscode from 'vscode' import * as nls from 'vscode-nls' import * as codecatalyst from './codecatalyst/activation' +import { activate as activateAppBuilder } from './awsService/appBuilder/activation' import { activate as activateAwsExplorer } from './awsexplorer/activation' import { activate as activateCloudWatchLogs } from './awsService/cloudWatchLogs/activation' -import { CredentialsProviderManager } from './auth/providers/credentialsProviderManager' -import { SharedCredentialsProviderFactory } from './auth/providers/sharedCredentialsProviderFactory' import { activate as activateSchemas } from './eventSchemas/activation' import { activate as activateLambda } from './lambda/activation' import { activate as activateCloudFormationTemplateRegistry } from './shared/cloudformation/activation' @@ -36,30 +35,31 @@ import { activate as activateEcs } from './awsService/ecs/activation' import { activate as activateAppRunner } from './awsService/apprunner/activation' import { activate as activateIot } from './awsService/iot/activation' import { activate as activateDev } from './dev/activation' +import * as beta from './dev/beta' import { activate as activateApplicationComposer } from './applicationcomposer/activation' import { activate as activateRedshift } from './awsService/redshift/activation' import { activate as activateIamPolicyChecks } from './awsService/accessanalyzer/activation' -import { Ec2CredentialsProvider } from './auth/providers/ec2CredentialsProvider' -import { EnvVarsCredentialsProvider } from './auth/providers/envVarsCredentialsProvider' -import { EcsCredentialsProvider } from './auth/providers/ecsCredentialsProvider' +import { activate as activateNotifications } from './notifications/activation' import { SchemaService } from './shared/schemas' import { AwsResourceManager } from './dynamicResources/awsResourceManager' import globals from './shared/extensionGlobals' import { Experiments, Settings, showSettingsFailedMsg } from './shared/settings' import { isReleaseVersion } from './shared/vscode/env' -import { telemetry } from './shared/telemetry/telemetry' +import { AuthStatus, AuthUserState, telemetry } from './shared/telemetry/telemetry' import { Auth, SessionSeparationPrompt } from './auth/auth' +import { getTelemetryMetadataForConn } from './auth/connection' import { registerSubmitFeedback } from './feedback/vue/submitFeedback' -import { activateCommon, deactivateCommon, emitUserState } from './extension' +import { activateCommon, deactivateCommon } from './extension' import { learnMoreAmazonQCommand, qExtensionPageCommand, dismissQTree } from './amazonq/explorer/amazonQChildrenNodes' import { AuthUtil, codeWhispererCoreScopes, isPreviousQUser } from './codewhisperer/util/authUtil' import { installAmazonQExtension } from './codewhisperer/commands/basicCommands' import { isExtensionInstalled, VSCODE_EXTENSION_ID } from './shared/utilities' -import { ExtensionUse } from './auth/utils' +import { ExtensionUse, getAuthFormIdsFromConnection, initializeCredentialsProviderManager } from './auth/utils' import { ExtStartUpSources } from './shared/telemetry' import { activate as activateThreatComposerEditor } from './threatComposer/activation' import { isSsoConnection, hasScopes } from './auth/connection' import { CrashMonitoring, setContext } from './shared' +import { AuthFormId } from './login/webview/vue/types' let localize: nls.LocalizeFunc @@ -110,6 +110,7 @@ export async function activate(context: vscode.ExtensionContext) { try { await activateDev(context) + await beta.activate(context) } catch (error) { getLogger().debug(`Developer Tools (internal): failed to activate: ${(error as Error).message}`) } @@ -208,6 +209,8 @@ export async function activate(context: vscode.ExtensionContext) { await activateRedshift(extContext) + await activateAppBuilder(extContext) + await activateIamPolicyChecks(extContext) context.subscriptions.push( @@ -233,7 +236,17 @@ export async function activate(context: vscode.ExtensionContext) { globals.telemetry.assertPassiveTelemetry(globals.didReload) } - await emitUserState() + // TODO: Should probably emit for web as well. + // Will the web metric look the same? + const authState = await getAuthState() + telemetry.auth_userState.emit({ + passive: true, + result: 'Succeeded', + source: ExtensionUse.instance.sourceForTelemetry(), + ...authState, + }) + + await activateNotifications(context, authState, getAuthState) } catch (error) { const stacktrace = (error as Error).stack?.split('\n') // truncate if the stacktrace is unusually long @@ -310,12 +323,6 @@ async function handleAmazonQInstall() { }) } -function initializeCredentialsProviderManager() { - const manager = CredentialsProviderManager.getInstance() - manager.addProviderFactory(new SharedCredentialsProviderFactory()) - manager.addProviders(new Ec2CredentialsProvider(), new EcsCredentialsProvider(), new EnvVarsCredentialsProvider()) -} - function recordToolkitInitialization(activationStartedOn: number, settingsValid: boolean, logger?: Logger) { try { const activationFinishedOn = Date.now() @@ -330,3 +337,36 @@ function recordToolkitInitialization(activationStartedOn: number, settingsValid: logger?.error(err as Error) } } + +async function getAuthState(): Promise> { + let authStatus: AuthStatus = 'notConnected' + const enabledConnections: Set = new Set() + const enabledScopes: Set = new Set() + if (Auth.instance.hasConnections) { + authStatus = 'expired' + ;(await Auth.instance.listConnections()).forEach((conn) => { + const state = Auth.instance.getConnectionState(conn) + if (state === 'valid') { + authStatus = 'connected' + } + + getAuthFormIdsFromConnection(conn).forEach((id) => enabledConnections.add(id)) + if (isSsoConnection(conn)) { + conn.scopes?.forEach((s) => enabledScopes.add(s)) + } + }) + } + + // There may be other SSO connections in toolkit, but there is no use case for + // displaying registration info for non-active connections at this time. + const activeConn = Auth.instance.activeConnection + if (activeConn?.type === 'sso') { + telemetry.record(await getTelemetryMetadataForConn(activeConn)) + } + + return { + authStatus, + authEnabledConnections: [...enabledConnections].sort().join(','), + authScopes: [...enabledScopes].sort().join(','), + } +} diff --git a/packages/core/src/lambda/activation.ts b/packages/core/src/lambda/activation.ts index 911f3f9be44..4a21b2e9611 100644 --- a/packages/core/src/lambda/activation.ts +++ b/packages/core/src/lambda/activation.ts @@ -11,25 +11,36 @@ import { downloadLambdaCommand } from './commands/downloadLambda' import { tryRemoveFolder } from '../shared/filesystemUtilities' import { ExtContext } from '../shared/extensions' import { invokeRemoteLambda } from './vue/remoteInvoke/invokeLambda' -import { registerSamInvokeVueCommand } from './vue/configEditor/samInvokeBackend' +import { registerSamDebugInvokeVueCommand, registerSamInvokeVueCommand } from './vue/configEditor/samInvokeBackend' import { Commands } from '../shared/vscode/commands2' import { DefaultLambdaClient } from '../shared/clients/lambdaClient' import { copyLambdaUrl } from './commands/copyLambdaUrl' +import { ResourceNode } from '../awsService/appBuilder/explorer/nodes/resourceNode' +import { isTreeNode, TreeNode } from '../shared/treeview/resourceTreeDataProvider' +import { getSourceNode } from '../shared/utilities/treeNodeUtils' /** * Activates Lambda components. */ export async function activate(context: ExtContext): Promise { context.extensionContext.subscriptions.push( - Commands.register('aws.deleteLambda', async (node: LambdaFunctionNode) => { - await deleteLambda(node.configuration, new DefaultLambdaClient(node.regionCode)) - await vscode.commands.executeCommand('aws.refreshAwsExplorerNode', node.parent) + Commands.register('aws.deleteLambda', async (node: LambdaFunctionNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await deleteLambda(sourceNode.configuration, new DefaultLambdaClient(sourceNode.regionCode)) + await vscode.commands.executeCommand('aws.refreshAwsExplorerNode', sourceNode.parent) + }), + Commands.register('aws.invokeLambda', async (node: LambdaFunctionNode | TreeNode) => { + let source: string = 'AwsExplorerRemoteInvoke' + if (isTreeNode(node)) { + node = getSourceNode(node) + source = 'AppBuilderRemoteInvoke' + } + await invokeRemoteLambda(context, { + outputChannel: context.outputChannel, + functionNode: node, + source: source, + }) }), - Commands.register( - 'aws.invokeLambda', - async (node: LambdaFunctionNode) => - await invokeRemoteLambda(context, { outputChannel: context.outputChannel, functionNode: node }) - ), // Capture debug finished events, and delete the temporary directory if it exists vscode.debug.onDidTerminateDebugSession(async (session) => { if ( @@ -39,7 +50,10 @@ export async function activate(context: ExtContext): Promise { await tryRemoveFolder(session.configuration.baseBuildDir) } }), - Commands.register('aws.downloadLambda', async (node: LambdaFunctionNode) => await downloadLambdaCommand(node)), + Commands.register('aws.downloadLambda', async (node: LambdaFunctionNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await downloadLambdaCommand(sourceNode) + }), Commands.register({ id: 'aws.uploadLambda', autoconnect: true }, async (arg?: unknown) => { if (arg instanceof LambdaFunctionNode) { await uploadLambdaCommand({ @@ -53,10 +67,15 @@ export async function activate(context: ExtContext): Promise { await uploadLambdaCommand() } }), - Commands.register( - 'aws.copyLambdaUrl', - async (node: LambdaFunctionNode) => await copyLambdaUrl(node, new DefaultLambdaClient(node.regionCode)) - ), - registerSamInvokeVueCommand(context) + Commands.register('aws.copyLambdaUrl', async (node: LambdaFunctionNode | TreeNode) => { + const sourceNode = getSourceNode(node) + await copyLambdaUrl(sourceNode, new DefaultLambdaClient(sourceNode.regionCode)) + }), + + registerSamInvokeVueCommand(context), + + Commands.register('aws.launchDebugConfigForm', async (node: ResourceNode) => + registerSamDebugInvokeVueCommand(context, { resource: node }) + ) ) } diff --git a/packages/core/src/lambda/commands/deploySamApplication.ts b/packages/core/src/lambda/commands/deploySamApplication.ts deleted file mode 100644 index 4231b2b614e..00000000000 --- a/packages/core/src/lambda/commands/deploySamApplication.ts +++ /dev/null @@ -1,326 +0,0 @@ -/*! - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -import * as path from 'path' -import * as vscode from 'vscode' -import * as nls from 'vscode-nls' - -import { asEnvironmentVariables } from '../../auth/credentials/utils' -import { AwsContext } from '../../shared/awsContext' -import globals from '../../shared/extensionGlobals' - -import { makeTemporaryToolkitFolder, tryRemoveFolder } from '../../shared/filesystemUtilities' -import { checklogs } from '../../shared/localizedText' -import { getLogger } from '../../shared/logger' -import { SamCliBuildInvocation } from '../../shared/sam/cli/samCliBuild' -import { SamCliSettings } from '../../shared/sam/cli/samCliSettings' -import { getSamCliContext, SamCliContext, getSamCliVersion } from '../../shared/sam/cli/samCliContext' -import { runSamCliDeploy } from '../../shared/sam/cli/samCliDeploy' -import { SamCliProcessInvoker } from '../../shared/sam/cli/samCliInvokerUtils' -import { runSamCliPackage } from '../../shared/sam/cli/samCliPackage' -import { throwAndNotifyIfInvalid } from '../../shared/sam/cli/samCliValidationUtils' -import { Result } from '../../shared/telemetry/telemetry' -import { addCodiconToString } from '../../shared/utilities/textUtilities' -import { SamDeployWizardResponse } from '../wizards/samDeployWizard' -import { telemetry } from '../../shared/telemetry/telemetry' - -const localize = nls.loadMessageBundle() - -interface DeploySamApplicationParameters { - sourceTemplatePath: string - deployRootFolder: string - environmentVariables: NodeJS.ProcessEnv - region: string - packageBucketName: string - ecrRepo?: string - destinationStackName: string - parameterOverrides: Map -} - -export interface WindowFunctions { - showInformationMessage: typeof vscode.window.showInformationMessage - showErrorMessage: typeof vscode.window.showErrorMessage - setStatusBarMessage(text: string, hideWhenDone: Thenable): vscode.Disposable -} - -export async function deploySamApplication( - { - samCliContext = getSamCliContext(), - samDeployWizard, - }: { - samCliContext?: SamCliContext - samDeployWizard: () => Promise - }, - { - awsContext, - settings, - window = getDefaultWindowFunctions(), - refreshFn = () => { - // no need to await, doesn't need to block further execution (true -> no telemetry) - void vscode.commands.executeCommand('aws.refreshAwsExplorer', true) - }, - }: { - awsContext: Pick - settings: SamCliSettings - window?: WindowFunctions - refreshFn?: () => void - } -): Promise { - let deployResult: Result = 'Succeeded' - let samVersion: string | undefined - let deployFolder: string | undefined - try { - const credentials = await awsContext.getCredentials() - if (!credentials) { - throw new Error('No AWS profile selected') - } - - throwAndNotifyIfInvalid(await samCliContext.validator.detectValidSamCli()) - - const deployWizardResponse = await samDeployWizard() - - if (!deployWizardResponse) { - return - } - - deployFolder = await makeTemporaryToolkitFolder('samDeploy') - samVersion = await getSamCliVersion(samCliContext) - - const deployParameters: DeploySamApplicationParameters = { - deployRootFolder: deployFolder, - destinationStackName: deployWizardResponse.stackName, - packageBucketName: deployWizardResponse.s3Bucket, - ecrRepo: deployWizardResponse.ecrRepo?.repositoryUri, - parameterOverrides: deployWizardResponse.parameterOverrides, - environmentVariables: asEnvironmentVariables(credentials), - region: deployWizardResponse.region, - sourceTemplatePath: deployWizardResponse.template.fsPath, - } - - const deployApplicationPromise = deploy({ - deployParameters, - invoker: samCliContext.invoker, - window, - }) - - window.setStatusBarMessage( - addCodiconToString( - 'cloud-upload', - localize( - 'AWS.samcli.deploy.statusbar.message', - 'Deploying SAM Application to {0}...', - deployWizardResponse.stackName - ) - ), - deployApplicationPromise - ) - - await deployApplicationPromise - refreshFn() - - // successful deploy: retain S3 bucket for quick future access - const profile = awsContext.getCredentialProfileName() - if (profile) { - await settings.updateSavedBuckets(profile, deployWizardResponse.region, deployWizardResponse.s3Bucket) - } else { - getLogger().warn('Profile not provided; cannot write recent buckets.') - } - } catch (err) { - deployResult = 'Failed' - outputDeployError(err as Error) - void vscode.window.showErrorMessage( - localize('AWS.samcli.deploy.workflow.error', 'Failed to deploy SAM application.') - ) - } finally { - await tryRemoveFolder(deployFolder) - telemetry.sam_deploy.emit({ result: deployResult, version: samVersion }) - } -} - -function getBuildRootFolder(deployRootFolder: string): string { - return path.join(deployRootFolder, 'build') -} - -function getBuildTemplatePath(deployRootFolder: string): string { - // Assumption: sam build will always produce a template.yaml file. - // If that is not the case, revisit this logic. - return path.join(getBuildRootFolder(deployRootFolder), 'template.yaml') -} - -function getPackageTemplatePath(deployRootFolder: string): string { - return path.join(deployRootFolder, 'template.yaml') -} - -async function buildOperation(params: { - deployParameters: DeploySamApplicationParameters - invoker: SamCliProcessInvoker -}): Promise { - try { - getLogger().info(localize('AWS.samcli.deploy.workflow.init', 'Building SAM Application...')) - - const buildDestination = getBuildRootFolder(params.deployParameters.deployRootFolder) - - const build = new SamCliBuildInvocation({ - buildDir: buildDestination, - baseDir: undefined, - templatePath: params.deployParameters.sourceTemplatePath, - invoker: params.invoker, - }) - - await build.execute() - - return true - } catch (err) { - getLogger().warn( - localize( - 'AWS.samcli.build.failedBuild', - '"sam build" failed: {0}', - params.deployParameters.sourceTemplatePath - ) - ) - return false - } -} - -async function packageOperation( - params: { - deployParameters: DeploySamApplicationParameters - invoker: SamCliProcessInvoker - }, - buildSuccessful: boolean -): Promise { - if (!buildSuccessful) { - void vscode.window.showInformationMessage( - localize( - 'AWS.samcli.deploy.workflow.packaging.noBuild', - 'Attempting to package source template directory directly since "sam build" failed' - ) - ) - } - - getLogger().info( - localize( - 'AWS.samcli.deploy.workflow.packaging', - 'Packaging SAM Application to S3 Bucket: {0}', - params.deployParameters.packageBucketName - ) - ) - - // HACK: Attempt to package the initial template if the build fails. - const buildTemplatePath = buildSuccessful - ? getBuildTemplatePath(params.deployParameters.deployRootFolder) - : params.deployParameters.sourceTemplatePath - const packageTemplatePath = getPackageTemplatePath(params.deployParameters.deployRootFolder) - - await runSamCliPackage( - { - sourceTemplateFile: buildTemplatePath, - destinationTemplateFile: packageTemplatePath, - environmentVariables: params.deployParameters.environmentVariables, - region: params.deployParameters.region, - s3Bucket: params.deployParameters.packageBucketName, - ecrRepo: params.deployParameters.ecrRepo, - }, - params.invoker - ) -} - -async function deployOperation(params: { - deployParameters: DeploySamApplicationParameters - invoker: SamCliProcessInvoker -}): Promise { - try { - getLogger().info( - localize( - 'AWS.samcli.deploy.workflow.stackName.initiated', - 'Deploying SAM Application to CloudFormation Stack: {0}', - params.deployParameters.destinationStackName - ) - ) - - const packageTemplatePath = getPackageTemplatePath(params.deployParameters.deployRootFolder) - - await runSamCliDeploy( - { - parameterOverrides: params.deployParameters.parameterOverrides, - environmentVariables: params.deployParameters.environmentVariables, - templateFile: packageTemplatePath, - region: params.deployParameters.region, - stackName: params.deployParameters.destinationStackName, - s3Bucket: params.deployParameters.packageBucketName, - ecrRepo: params.deployParameters.ecrRepo, - }, - params.invoker - ) - } catch (err) { - // Handle sam deploy Errors to supplement the error message prior to writing it out - const error = err as Error - - getLogger().error(error) - - const errorMessage = enhanceAwsCloudFormationInstructions(String(err), params.deployParameters) - globals.outputChannel.appendLine(errorMessage) - - throw new Error('Deploy failed') - } -} - -async function deploy(params: { - deployParameters: DeploySamApplicationParameters - invoker: SamCliProcessInvoker - window: WindowFunctions -}): Promise { - globals.outputChannel.show(true) - getLogger().info(localize('AWS.samcli.deploy.workflow.start', 'Starting SAM Application deployment...')) - - const buildSuccessful = await buildOperation(params) - await packageOperation(params, buildSuccessful) - await deployOperation(params) - - getLogger().info( - localize( - 'AWS.samcli.deploy.workflow.success', - 'Deployed SAM Application to CloudFormation Stack: {0}', - params.deployParameters.destinationStackName - ) - ) - - void params.window.showInformationMessage( - localize('AWS.samcli.deploy.workflow.success.general', 'SAM Application deployment succeeded.') - ) -} - -function enhanceAwsCloudFormationInstructions( - message: string, - deployParameters: DeploySamApplicationParameters -): string { - // detect error message from https://github.com/aws/aws-cli/blob/4ff0cbacbac69a21d4dd701921fe0759cf7852ed/awscli/customizations/cloudformation/exceptions.py#L42 - // and append region to assist in troubleshooting the error - // (command uses CLI configured value--users that don't know this and omit region won't see error) - if ( - message.includes( - `aws cloudformation describe-stack-events --stack-name ${deployParameters.destinationStackName}` - ) - ) { - message += ` --region ${deployParameters.region}` - } - - return message -} - -function outputDeployError(error: Error) { - getLogger().error(error) - - globals.outputChannel.show(true) - getLogger().error('AWS.samcli.deploy.general.error', 'Error deploying a SAM Application. {0}', checklogs()) -} - -function getDefaultWindowFunctions(): WindowFunctions { - return { - setStatusBarMessage: vscode.window.setStatusBarMessage, - showErrorMessage: vscode.window.showErrorMessage, - showInformationMessage: vscode.window.showInformationMessage, - } -} diff --git a/packages/core/src/lambda/commands/listSamResources.ts b/packages/core/src/lambda/commands/listSamResources.ts new file mode 100644 index 00000000000..5a0d1678c9b --- /dev/null +++ b/packages/core/src/lambda/commands/listSamResources.ts @@ -0,0 +1,43 @@ +/*! + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as vscode from 'vscode' +import { getLogger } from '../../shared/logger' +import { runSamCliListResource } from '../../shared/sam/cli/samCliListResources' + +export interface StackResource { + LogicalResourceId: string + PhysicalResourceId: string +} + +/* +This function return exclusively the deployed resources +Newly added but yet-to-be deployed resources are not included in this result +*/ +export async function getDeployedResources(params: any) { + try { + const samCliListResourceOutput = await runSamCliListResource(params.listResourcesParams, params.invoker).then( + (output) => parseSamListResourceOutput(output) + ) + // Filter out resources that are not deployed + return samCliListResourceOutput.filter((resource) => resource.PhysicalResourceId !== '-') + } catch (err) { + const error = err as Error + getLogger().error(error) + } +} + +function parseSamListResourceOutput(output: any): StackResource[] { + try { + if ((Array.isArray(output) && output.length === 0) || '[]' === output) { + // Handle if the output is instance or stringify version of an empty array to avoid parsing error + return [] + } + return JSON.parse(output) as StackResource[] + } catch (error: any) { + void vscode.window.showErrorMessage(`Failed to parse SAM CLI output: ${error.message}`) + return [] + } +} diff --git a/packages/core/src/lambda/models/samLambdaRuntime.ts b/packages/core/src/lambda/models/samLambdaRuntime.ts index 754d910a24e..5b97ef06e2a 100644 --- a/packages/core/src/lambda/models/samLambdaRuntime.ts +++ b/packages/core/src/lambda/models/samLambdaRuntime.ts @@ -22,6 +22,7 @@ export enum RuntimeFamily { DotNet, Go, Java, + Ruby, } export type RuntimePackageType = 'Image' | 'Zip' @@ -57,8 +58,15 @@ export const pythonRuntimes: ImmutableSet = ImmutableSet([ 'python3.7', ]) export const goRuntimes: ImmutableSet = ImmutableSet(['go1.x']) -export const javaRuntimes: ImmutableSet = ImmutableSet(['java17', 'java11', 'java8', 'java8.al2']) -export const dotNetRuntimes: ImmutableSet = ImmutableSet(['dotnet6']) +export const javaRuntimes: ImmutableSet = ImmutableSet([ + 'java17', + 'java11', + 'java8', + 'java8.al2', + 'java21', +]) +export const dotNetRuntimes: ImmutableSet = ImmutableSet(['dotnet6', 'dotnet8']) +export const rubyRuntimes: ImmutableSet = ImmutableSet(['ruby3.2', 'ruby3.3']) /** * Deprecated runtimes can be found at https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html @@ -77,6 +85,8 @@ export const deprecatedRuntimes: ImmutableSet = ImmutableSet([ 'nodejs8.10', 'nodejs10.x', 'nodejs12.x', + 'ruby2.5', + 'ruby2.7', ]) const defaultRuntimes = ImmutableMap([ [RuntimeFamily.NodeJS, 'nodejs20.x'], @@ -84,6 +94,7 @@ const defaultRuntimes = ImmutableMap([ [RuntimeFamily.DotNet, 'dotnet6'], [RuntimeFamily.Go, 'go1.x'], [RuntimeFamily.Java, 'java17'], + [RuntimeFamily.Ruby, 'ruby3.3'], ]) export const samZipLambdaRuntimes: ImmutableSet = ImmutableSet.union([ @@ -157,6 +168,8 @@ export function getFamily(runtime: string): RuntimeFamily { return RuntimeFamily.Go } else if (javaRuntimes.has(runtime)) { return RuntimeFamily.Java + } else if (rubyRuntimes.has(runtime)) { + return RuntimeFamily.Ruby } return RuntimeFamily.Unknown } @@ -206,6 +219,10 @@ export function getRuntimeFamily(langId: string): RuntimeFamily { return RuntimeFamily.Python case 'go': return RuntimeFamily.Go + case 'java': + return RuntimeFamily.Java + case 'ruby': + return RuntimeFamily.Ruby default: return RuntimeFamily.Unknown } diff --git a/packages/core/src/lambda/vue/configEditor/samInvoke.css b/packages/core/src/lambda/vue/configEditor/samInvoke.css index d248e071a90..9ca2c8ef452 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvoke.css +++ b/packages/core/src/lambda/vue/configEditor/samInvoke.css @@ -1,7 +1,3 @@ -form { - padding: 15px; -} - .section-header { margin: 0px; margin-bottom: 10px; @@ -10,7 +6,9 @@ form { } textarea { - max-width: 100%; + color: var(--vscode-settings-textInputForeground); + background: var(--vscode-settings-textInputBackground); + border: 1px solid var(--vscode-settings-textInputBorder); } .config-item { @@ -47,7 +45,133 @@ textarea { margin-bottom: 16px; } +.header-buttons { + display: flex; + align-items: center; + margin-bottom: 20px; +} + #target-type-selector { margin-bottom: 15px; margin-left: 8px; } + +.form-row { + display: grid; + grid-template-columns: 150px 1fr; + margin-bottom: 10px; +} + +.form-control { + min-width: 170%; /* Set a minimum width */ + width: 100%; /* Allow the width to adjust based on content */ + display: inline-block; + flex-grow: 1; + margin-right: 0.5rem; +} + +.payload-options-button { + display: grid; + align-items: center; + border: none; + padding: 5px 10px; + cursor: pointer; + font-size: 0.9em; + margin-bottom: 10px; +} + +.payload-options-buttons { + display: flex; + align-items: center; + margin-top: 10px; + margin-bottom: 10px; +} + +.Icontainer { + margin-inline: auto; + margin-top: 5rem; +} + +.container { + width: 574px; + height: 824px; + top: 18px; + gap: 20px; + margin: auto; + left: 688px; + background-color: var(--vscode-editor-background); +} + +.container em { + display: block; + text-align: justify; +} + +.button-theme-primary { + color: var(--vscode-button-foreground); + background: var(--vscode-button-background); + border: 1px solid var(--vscode-button-border); + padding: 8px 12px; +} +.button-theme-primary:hover:not(:disabled) { + background: var(--vscode-button-hoverBackground); + cursor: pointer; +} +.button-theme-secondary { + color: var(--vscode-button-secondaryForeground); + background: var(--vscode-button-secondaryBackground); + border: 1px solid var(--vscode-button-border); + padding: 8px 12px; +} +.button-theme-secondary:hover:not(:disabled) { + background: var(--vscode-button-secondaryHoverBackground); + cursor: pointer; +} + +.formfield { + display: flex; + align-items: center; + margin-bottom: 0.5rem; +} + +.payload-options-buttons { + display: flex; + align-items: center; + margin-top: 10px; + margin-bottom: 10px; +} + +.radio-selector { + width: 15px; + height: 15px; + border-radius: 50%; +} + +.label-selector { + padding-left: 7px; + font-weight: 500; + font-size: 13px; + line-height: 15.51px; + text-align: center; +} + +.form-row-select { + width: 387px; + height: 28px; + border: 1px; + border-radius: 5px; + gap: 4px; + padding: 2px 8px; +} + +.form-row-event-select { + width: 244px; + height: 28px; + margin-bottom: 15px; + margin-left: 8px; +} + +.runtime-description { + font-size: 12px; + margin-top: 5px; +} diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts index 7ae941d72e1..9e3eed9980b 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts @@ -36,9 +36,22 @@ import { VueWebview } from '../../../webviews/main' import { Commands } from '../../../shared/vscode/commands2' import { telemetry } from '../../../shared/telemetry/telemetry' import { fs } from '../../../shared' +import { ToolkitError } from '../../../shared' +import { ResourceNode } from '../../../awsService/appBuilder/explorer/nodes/resourceNode' const localize = nls.loadMessageBundle() +export interface ResourceData { + logicalId: string + region: string + arn: string + location: string + handler: string + runtime: string + stackName: string + source: string +} + export type AwsSamDebuggerConfigurationLoose = AwsSamDebuggerConfiguration & { invokeTarget: Omit< AwsSamDebuggerConfiguration['invokeTarget'], @@ -55,7 +68,7 @@ interface SampleQuickPickItem extends vscode.QuickPickItem { filename: string } -interface LaunchConfigPickItem extends vscode.QuickPickItem { +export interface LaunchConfigPickItem extends vscode.QuickPickItem { index: number config?: AwsSamDebuggerConfiguration } @@ -66,7 +79,8 @@ export class SamInvokeWebview extends VueWebview { public constructor( private readonly extContext: ExtContext, // TODO(sijaden): get rid of `ExtContext` - private readonly config?: AwsSamDebuggerConfiguration + private readonly config?: AwsSamDebuggerConfiguration, + private readonly data?: ResourceData ) { super(SamInvokeWebview.sourcePath) } @@ -79,11 +93,11 @@ export class SamInvokeWebview extends VueWebview { return this.config } - /** - * Open a quick pick containing the names of launch configs in the `launch.json` array. - * Filter out non-supported launch configs. - */ - public async loadSamLaunchConfig(): Promise { + public getResourceData() { + return this.data + } + + public async getSamLaunchConfigs(): Promise { // TODO: Find a better way to infer this. Might need another arg from the frontend (depends on the context in which the launch config is made?) const workspaceFolder = vscode.workspace.workspaceFolders?.length ? vscode.workspace.workspaceFolders[0] @@ -94,7 +108,17 @@ export class SamInvokeWebview extends VueWebview { } const uri = workspaceFolder.uri const launchConfig = new LaunchConfiguration(uri) - const pickerItems = await getLaunchConfigQuickPickItems(launchConfig, uri) + const pickerItems = await this.getLaunchConfigQuickPickItems(launchConfig, uri) + return pickerItems + } + + /** + * Open a quick pick containing the names of launch configs in the `launch.json` array. + * Filter out non-supported launch configs. + */ + public async loadSamLaunchConfig(): Promise { + const pickerItems: LaunchConfigPickItem[] = (await this.getSamLaunchConfigs()) || [] + if (pickerItems.length === 0) { pickerItems.push({ index: -1, @@ -151,9 +175,14 @@ export class SamInvokeWebview extends VueWebview { return sample } catch (err) { getLogger().error('Error getting manifest data..: %O', err as Error) + throw ToolkitError.chain(err, 'getting manifest data') } } + protected getTemplateRegistry() { + return globals.templateRegistry + } + /** * Get all templates in the registry. * Call back into the webview with the registry contents. @@ -161,7 +190,7 @@ export class SamInvokeWebview extends VueWebview { public async getTemplate() { const items: (vscode.QuickPickItem & { templatePath: string })[] = [] const noTemplate = 'NOTEMPLATEFOUND' - for (const template of (await globals.templateRegistry).items) { + for (const template of (await this.getTemplateRegistry()).items) { const resources = template.item.Resources if (resources) { for (const resource of Object.keys(resources)) { @@ -213,6 +242,41 @@ export class SamInvokeWebview extends VueWebview { } } + // This method serves as a wrapper around the backend function `openLaunchJsonFile`. + // The frontend cannot directly import and invoke backend functions like `openLaunchJsonFile` + // because doing so would break the webview environment by introducing server-side logic + // into client-side code. Instead, this method acts as an interface or bridge, allowing + // the frontend to request the backend to open the launch configuration file without + // directly coupling the frontend to backend-specific implementations. + public async openLaunchConfig() { + await openLaunchJsonFile() + } + + public async promptFile() { + const fileLocations = await vscode.window.showOpenDialog({ + openLabel: 'Open', + }) + + if (!fileLocations || fileLocations.length === 0) { + return undefined + } + + try { + const fileContent = await fs.readFileBytes(fileLocations[0].fsPath) + return { + sample: fileContent, + selectedFilePath: fileLocations[0].fsPath, + selectedFile: this.getFileName(fileLocations[0].fsPath), + } + } catch (e) { + getLogger().error('readFileSync: Failed to read file at path %O', fileLocations[0].fsPath, e) + throw ToolkitError.chain(e, 'Failed to read selected file') + } + } + + public getFileName(filePath: string): string { + return path.basename(filePath) + } /** * Open a quick pick containing the names of launch configs in the `launch.json` array, plus a "Create New Entry" entry. * On selecting a name, overwrite the existing entry in the `launch.json` array and resave the file. @@ -220,7 +284,7 @@ export class SamInvokeWebview extends VueWebview { * @param config Config to save */ public async saveLaunchConfig(config: AwsSamDebuggerConfiguration): Promise { - const uri = await getUriFromLaunchConfig(config) + const uri = await this.getUriFromLaunchConfig(config) if (!uri) { // TODO Localize void vscode.window.showErrorMessage( @@ -228,13 +292,14 @@ export class SamInvokeWebview extends VueWebview { ) return } + const launchConfig = new LaunchConfiguration(uri) - const launchConfigItems = await getLaunchConfigQuickPickItems(launchConfig, uri) + const launchConfigItems = await this.getLaunchConfigQuickPickItems(launchConfig, uri) const pickerItems = [ { label: addCodiconToString( 'add', - localize('AWS.command.addSamDebugConfiguration', 'Add Debug Configuration') + localize('AWS.command.addSamDebugConfiguration', 'Add Local Invoke and Debug Configuration') ), index: -1, alwaysShow: true, @@ -267,7 +332,7 @@ export class SamInvokeWebview extends VueWebview { const response = await input.promptUser({ inputBox: ib }) if (response) { await launchConfig.addDebugConfiguration(finalizeConfig(config, response)) - await openLaunchJsonFile() + await this.openLaunchConfig() } } else { // use existing label @@ -275,7 +340,7 @@ export class SamInvokeWebview extends VueWebview { finalizeConfig(config, pickerResponse.label), pickerResponse.index ) - await openLaunchJsonFile() + await this.openLaunchConfig() } } @@ -284,12 +349,12 @@ export class SamInvokeWebview extends VueWebview { * TODO: Post validation failures back to webview? * @param config Config to invoke */ - public async invokeLaunchConfig(config: AwsSamDebuggerConfiguration): Promise { + public async invokeLaunchConfig(config: AwsSamDebuggerConfiguration, source?: string): Promise { const finalConfig = finalizeConfig( resolveWorkspaceFolderVariable(undefined, config), 'Editor-Created Debug Config' ) - const targetUri = await getUriFromLaunchConfig(finalConfig) + const targetUri = await this.getUriFromLaunchConfig(finalConfig) const folder = targetUri ? vscode.workspace.getWorkspaceFolder(targetUri) : undefined // Cloud9 currently can't resolve the `aws-sam` debug config provider. @@ -298,12 +363,65 @@ export class SamInvokeWebview extends VueWebview { // (Cloud9 also doesn't currently have variable resolution support anyways) if (isCloud9()) { const provider = new SamDebugConfigProvider(this.extContext) - await provider.resolveDebugConfiguration(folder, finalConfig) + await provider.resolveDebugConfiguration(folder, finalConfig, undefined, source) } else { // startDebugging on VS Code goes through the whole resolution chain await vscode.debug.startDebugging(folder, finalConfig) } } + public async getLaunchConfigQuickPickItems( + launchConfig: LaunchConfiguration, + uri: vscode.Uri + ): Promise { + const existingConfigs = launchConfig.getDebugConfigurations() + const samValidator = new DefaultAwsSamDebugConfigurationValidator(vscode.workspace.getWorkspaceFolder(uri)) + const registry = await globals.templateRegistry + const mapped = existingConfigs.map((val, index) => { + return { + config: val as AwsSamDebuggerConfiguration, + index: index, + label: val.name, + } + }) + // XXX: can't use filter() with async predicate. + const filtered: LaunchConfigPickItem[] = [] + for (const c of mapped) { + const valid = await samValidator.validate(c.config, registry, true) + if (valid?.isValid) { + filtered.push(c) + } + } + return filtered + } + + public async getUriFromLaunchConfig(config: AwsSamDebuggerConfiguration): Promise { + let targetPath: string + if (isTemplateTargetProperties(config.invokeTarget)) { + targetPath = config.invokeTarget.templatePath + } else if (isCodeTargetProperties(config.invokeTarget)) { + targetPath = config.invokeTarget.projectRoot + } else { + // error + return undefined + } + if (path.isAbsolute(targetPath)) { + return vscode.Uri.file(targetPath) + } + // TODO: rework this logic (and config variables in general) + // we have too many places where we try to resolve these paths when it realistically can be + // in a single place. Much less bug-prone when it's centralized. + // the following line is a quick-fix for a very narrow edge-case + targetPath = targetPath.replace('${workspaceFolder}/', '') + const workspaceFolders = vscode.workspace.workspaceFolders || [] + for (const workspaceFolder of workspaceFolders) { + const absolutePath = tryGetAbsolutePath(workspaceFolder, targetPath) + if (await fs.exists(absolutePath)) { + return vscode.Uri.file(absolutePath) + } + } + + return undefined + } } const WebviewPanel = VueWebview.compilePanel(SamInvokeWebview) @@ -313,7 +431,7 @@ export function registerSamInvokeVueCommand(context: ExtContext): vscode.Disposa const webview = new WebviewPanel(context.extensionContext, context, launchConfig) await telemetry.sam_openConfigUi.run(async (span) => { await webview.show({ - title: localize('AWS.command.launchConfigForm.title', 'Edit SAM Debug Configuration'), + title: localize('AWS.command.launchConfigForm.title', 'Local Invoke and Debug Configuration'), // TODO: make this only open `Beside` when executed via CodeLens viewColumn: vscode.ViewColumn.Beside, }) @@ -321,58 +439,28 @@ export function registerSamInvokeVueCommand(context: ExtContext): vscode.Disposa }) } -async function getUriFromLaunchConfig(config: AwsSamDebuggerConfiguration): Promise { - let targetPath: string - if (isTemplateTargetProperties(config.invokeTarget)) { - targetPath = config.invokeTarget.templatePath - } else if (isCodeTargetProperties(config.invokeTarget)) { - targetPath = config.invokeTarget.projectRoot - } else { - // error - return undefined - } - if (path.isAbsolute(targetPath)) { - return vscode.Uri.file(targetPath) - } - // TODO: rework this logic (and config variables in general) - // we have too many places where we try to resolve these paths when it realistically can be - // in a single place. Much less bug-prone when it's centralized. - // the following line is a quick-fix for a very narrow edge-case - targetPath = targetPath.replace('${workspaceFolder}/', '') - const workspaceFolders = vscode.workspace.workspaceFolders || [] - for (const workspaceFolder of workspaceFolders) { - const absolutePath = tryGetAbsolutePath(workspaceFolder, targetPath) - if (await fs.exists(absolutePath)) { - return vscode.Uri.file(absolutePath) - } - } - - return undefined -} - -async function getLaunchConfigQuickPickItems( - launchConfig: LaunchConfiguration, - uri: vscode.Uri -): Promise { - const existingConfigs = launchConfig.getDebugConfigurations() - const samValidator = new DefaultAwsSamDebugConfigurationValidator(vscode.workspace.getWorkspaceFolder(uri)) - const registry = await globals.templateRegistry - const mapped = existingConfigs.map((val, index) => { - return { - config: val as AwsSamDebuggerConfiguration, - index: index, - label: val.name, - } +export async function registerSamDebugInvokeVueCommand(context: ExtContext, params: { resource: ResourceNode }) { + const launchConfig: AwsSamDebuggerConfiguration | undefined = undefined + const resource = params?.resource.resource + const source = 'AppBuilderLocalInvoke' + const webview = new WebviewPanel(context.extensionContext, context, launchConfig, { + logicalId: resource.resource.Id ?? '', + region: resource.region ?? '', + location: resource.location.fsPath, + handler: resource.resource.Handler!, + runtime: resource.resource.Runtime!, + arn: resource.functionArn ?? '', + stackName: resource.stackName ?? '', + source: source, + }) + await telemetry.sam_openConfigUi.run(async (span) => { + telemetry.record({ source: 'AppBuilderDebugger' }), + await webview.show({ + title: localize('AWS.command.launchConfigForm.title', 'Local Invoke and Debug Configuration'), + // TODO: make this only open `Beside` when executed via CodeLens + viewColumn: vscode.ViewColumn.Beside, + }) }) - // XXX: can't use filter() with async predicate. - const filtered: LaunchConfigPickItem[] = [] - for (const c of mapped) { - const valid = await samValidator.validate(c.config, registry, true) - if (valid?.isValid) { - filtered.push(c) - } - } - return filtered } export function finalizeConfig(config: AwsSamDebuggerConfiguration, name: string): AwsSamDebuggerConfiguration { diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue b/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue index 8d958ff8206..468d7393ac6 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue +++ b/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue @@ -4,277 +4,388 @@ diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts index 4bae01fd7dd..95f0fa9a14f 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts @@ -8,7 +8,12 @@ import { defineComponent } from 'vue' import { AwsSamDebuggerConfiguration } from '../../../shared/sam/debugger/awsSamDebugConfiguration' -import { AwsSamDebuggerConfigurationLoose, SamInvokeWebview } from './samInvokeBackend' +import { + AwsSamDebuggerConfigurationLoose, + LaunchConfigPickItem, + ResourceData, + SamInvokeWebview, +} from './samInvokeBackend' import settingsPanel from '../../../webviews/components/settingsPanel.vue' import { WebviewClientFactory } from '../../../webviews/client' import saveData from '../../../webviews/mixins/saveData' @@ -34,6 +39,15 @@ interface SamInvokeVueData { parameters: VueDataLaunchPropertyObject containerBuild: boolean skipNewImageCheck: boolean + selectedConfig: LaunchConfigPickItem + payloadOption: string + selectedFile: string + selectedFilePath: string + selectedTestEvent: string + TestEvents: string[] + showNameInput: boolean + newTestEventName: string + resourceData: ResourceData | undefined } function newLaunchConfig(existingConfig?: AwsSamDebuggerConfiguration): AwsSamDebuggerConfigurationLoose { @@ -105,6 +119,11 @@ function initData() { parameters: { value: '', errorMsg: '' }, headers: { value: '', errorMsg: '' }, stageVariables: { value: '', errorMsg: '' }, + selectedConfig: { index: 0, config: undefined, label: 'new-config' }, + selectedTestEvent: '', + TestEvents: [], + showNameInput: false, + newTestEventName: '', } } @@ -114,30 +133,7 @@ export default defineComponent({ settingsPanel, }, created() { - client.init().then( - (config) => this.parseConfig(config), - (e) => { - console.error('client.init failed: %s', (e as Error).message) - } - ) - - client.getRuntimes().then( - (runtimes) => { - this.runtimes = runtimes - }, - (e) => { - console.error('client.getRuntimes failed: %s', (e as Error).message) - } - ) - - client.getCompanyName().then( - (o) => { - this.company = o - }, - (e) => { - console.error('client.getCompanyName failed: %s', (e as Error).message) - } - ) + this.setUpWebView() }, mixins: [saveData], data(): SamInvokeVueData { @@ -152,6 +148,10 @@ export default defineComponent({ ], runtimes: [], httpMethods: ['GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS', 'PATCH'], + payloadOption: 'sampleEvents', + selectedFile: '', + selectedFilePath: '', + resourceData: undefined, } }, methods: { @@ -161,12 +161,18 @@ export default defineComponent({ this.headers.errorMsg = '' this.stageVariables.errorMsg = '' }, - launch() { + async launch() { const config = this.formatConfig() - config && - client.invokeLaunchConfig(config).catch((e) => { - console.error('invokeLaunchConfig failed: %s', (e as Error).message) - }) + + if (!config) { + return // Exit early if config is not available + } + + const source = this.resourceData?.source + + client.invokeLaunchConfig(config, source).catch((e: Error) => { + console.error(`invokeLaunchConfig failed: ${e.message}`) + }) }, save() { const config = this.formatConfig() @@ -183,16 +189,34 @@ export default defineComponent({ } ) }, - parseConfig(config?: AwsSamDebuggerConfiguration) { + async parseConfig(config?: AwsSamDebuggerConfiguration) { if (!config) { return } const company = this.company this.clearForm() this.launchConfig = newLaunchConfig(config) + if (config.lambda?.payload) { this.payload.value = JSON.stringify(config.lambda.payload.json, undefined, 4) } + + const localArgs = config.sam?.localArguments + + if (!localArgs && this.payload.value) { + this.payloadOption = 'sampleEvents' + this.selectedFile = '' + } + + if (localArgs?.includes('-e') || localArgs?.includes('--event')) { + const index = localArgs.findIndex((arg) => arg === '-e' || arg === '--event') + + if (index !== -1 && localArgs[index + 1]) { + this.payloadOption = 'localFile' + this.selectedFile = await client.getFileName(localArgs[index + 1]) + } + } + if (config.lambda?.environmentVariables) { this.environmentVariables.value = JSON.stringify(config.lambda?.environmentVariables) } @@ -259,6 +283,95 @@ export default defineComponent({ } } }, + async openLaunchJson() { + await client.openLaunchConfig() + }, + onFileChange(event: Event) { + const input = event.target as HTMLInputElement + if (input.files && input.files.length > 0) { + const file = input.files[0] + this.selectedFile = file.name + + // Use Blob.text() to read the file as text + file.text() + .then((text) => { + this.payload.value = text + }) + .catch((error) => { + console.error('Error reading file:', error) + }) + } + }, + async promptForFileLocation() { + const resp = await client.promptFile() + + if (resp) { + this.selectedFile = resp.selectedFile + this.launchConfig.sam = this.launchConfig.sam || {} + this.launchConfig.sam.localArguments = this.launchConfig.sam.localArguments || [] + + // Ensure only one '-e ' or '--event ' exists + const eventArgIndex = this.launchConfig.sam.localArguments.findIndex( + (arg) => arg === '-e' || arg === '--event' + ) + + if (eventArgIndex !== -1 && this.launchConfig.sam.localArguments[eventArgIndex + 1]) { + // Replace the existing file path for either '-e' or '--event' + this.launchConfig.sam.localArguments[eventArgIndex + 1] = resp.selectedFilePath + } else { + // Add '-e ' if not already present + this.launchConfig.sam.localArguments.push('-e', resp.selectedFilePath) + } + } + }, + showNameField() { + this.showNameInput = true + }, + setUpWebView() { + client.init().then( + (config) => this.parseConfig(config), + (e) => { + console.error('client.init failed: %s', (e as Error).message) + } + ) + + if (this.launchConfig.invokeTarget.templatePath === '') { + client.getResourceData().then( + (data) => { + this.resourceData = data + if (this.launchConfig && this.resourceData) { + this.launchConfig.invokeTarget.logicalId = this.resourceData.logicalId + this.launchConfig.invokeTarget.templatePath = this.resourceData.location + this.launchConfig.invokeTarget.lambdaHandler = this.resourceData.handler + if (this.launchConfig.lambda) { + this.launchConfig.lambda.runtime = this.resourceData.runtime + } + } + }, + (e) => { + console.error('client.getResourceData failed: %s', (e as Error).message) + } + ) + } + + client.getRuntimes().then( + (runtimes) => { + this.runtimes = runtimes + }, + (e) => { + console.error('client.getRuntimes failed: %s', (e as Error).message) + } + ) + + client.getCompanyName().then( + (o) => { + this.company = o + }, + (e) => { + console.error('client.getCompanyName failed: %s', (e as Error).message) + } + ) + }, formatConfig() { this.resetJsonErrors() @@ -279,6 +392,27 @@ export default defineComponent({ // propagate those through to the `postMessage` command, causing an error. We can stop // this by recursively accessing all primitive fields (which is what this line does) const launchConfig: AwsSamDebuggerConfigurationLoose = JSON.parse(JSON.stringify(this.launchConfig)) + const localArgs = launchConfig.sam?.localArguments + + const removeEventArg = () => { + if (localArgs) { + const eventArgIndex = localArgs?.findIndex((arg) => arg === '-e' || arg === '--event') + if (eventArgIndex !== -1) { + // Remove the event argument and its value + localArgs?.splice(eventArgIndex, 2) + } + } + } + + if (localArgs) { + if (this.payload && this.payloadOption !== 'localFile') { + removeEventArg() + } else if (this.payloadOption === 'localFile' && this.selectedFile) { + payloadJson = undefined + } else { + removeEventArg() + } + } return { ...launchConfig, @@ -314,7 +448,9 @@ export default defineComponent({ }, clearForm() { const init = initData() - Object.keys(init).forEach((k) => (this.$data[k as keyof typeof init] = init[k as keyof typeof init] as any)) + Object.keys(init).forEach((k) => { + ;(this as any)[k] = init[k as keyof typeof init] + }) }, }, }) diff --git a/packages/core/src/lambda/vue/remoteInvoke/invokeLambda.ts b/packages/core/src/lambda/vue/remoteInvoke/invokeLambda.ts index b75dd9477ba..36ea36a55c5 100644 --- a/packages/core/src/lambda/vue/remoteInvoke/invokeLambda.ts +++ b/packages/core/src/lambda/vue/remoteInvoke/invokeLambda.ts @@ -8,6 +8,7 @@ import { readFileSync } from 'fs' // eslint-disable-line no-restricted-imports import * as _ from 'lodash' import * as vscode from 'vscode' import { DefaultLambdaClient, LambdaClient } from '../../../shared/clients/lambdaClient' +import * as picker from '../../../shared/ui/picker' import { ExtContext } from '../../../shared/extensions' import { getLogger } from '../../../shared/logger' @@ -18,17 +19,35 @@ import { getSampleLambdaPayloads, SampleRequest } from '../../utils' import * as nls from 'vscode-nls' import { VueWebview } from '../../../webviews/main' -import { telemetry } from '../../../shared/telemetry/telemetry' -import { Result } from '../../../shared/telemetry/telemetry' +import { telemetry, Result } from '../../../shared/telemetry/telemetry' import { decodeBase64 } from '../../../shared' +import { + runSamCliRemoteTestEvents, + SamCliRemoteTestEventsParameters, + TestEventsOperation, +} from '../../../shared/sam/cli/samCliRemoteTestEvent' +import { getSamCliContext } from '../../../shared/sam/cli/samCliContext' +import { ToolkitError } from '../../../shared' +import { basename } from 'path' const localize = nls.loadMessageBundle() +type Event = { + name: string + region: string + arn: string + event?: string +} + export interface InitialData { FunctionName: string FunctionArn: string FunctionRegion: string InputSamples: SampleRequest[] + TestEvents?: string[] + Source?: string + StackName?: string + LogicalId?: string } export interface RemoteInvokeData { @@ -36,6 +55,15 @@ export interface RemoteInvokeData { selectedSampleRequest: string sampleText: string selectedFile: string + selectedFilePath: string + selectedTestEvent: string + payload: string + showNameInput: boolean + newTestEventName: string + selectedFunction: string +} +interface SampleQuickPickItem extends vscode.QuickPickItem { + filename: string } export class RemoteInvokeWebview extends VueWebview { @@ -54,7 +82,7 @@ export class RemoteInvokeWebview extends VueWebview { return this.data } - public async invokeLambda(input: string): Promise { + public async invokeLambda(input: string, source?: string): Promise { let result: Result = 'Succeeded' this.channel.show() @@ -79,17 +107,10 @@ export class RemoteInvokeWebview extends VueWebview { this.channel.appendLine('') result = 'Failed' } finally { - telemetry.lambda_invokeRemote.emit({ result, passive: false }) + telemetry.lambda_invokeRemote.emit({ result, passive: false, source: source }) } } - public async getSample(requestName: string) { - const sampleUrl = `${sampleRequestPath}${requestName}` - const sample = (await new HttpResourceFetcher(sampleUrl, { showUrl: true }).get()) ?? '' - - return sample - } - public async promptFile() { const fileLocations = await vscode.window.showOpenDialog({ openLabel: 'Open', @@ -101,14 +122,109 @@ export class RemoteInvokeWebview extends VueWebview { try { const fileContent = readFileSync(fileLocations[0].fsPath, { encoding: 'utf8' }) - return { sample: fileContent, - selectedFile: fileLocations[0].path, + selectedFilePath: fileLocations[0].fsPath, + selectedFile: this.getFileName(fileLocations[0].fsPath), } } catch (e) { getLogger().error('readFileSync: Failed to read file at path %O', fileLocations[0].fsPath, e) - void vscode.window.showErrorMessage((e as Error).message) + throw ToolkitError.chain(e, 'Failed to read selected file') + } + } + + public async loadFile(fileLocations: string) { + return await this.readFile(fileLocations) + } + + private async readFile(filePath: string) { + if (!filePath) { + return undefined + } + const fileLocation = vscode.Uri.file(filePath) + try { + const fileContent = readFileSync(fileLocation.fsPath, { encoding: 'utf8' }) + + return { + sample: fileContent, + selectedFilePath: fileLocation.fsPath, + selectedFile: this.getFileName(fileLocation.fsPath), + } + } catch (e) { + getLogger().error('readFileSync: Failed to read file at path %O', fileLocation.fsPath, e) + throw ToolkitError.chain(e, 'Failed to read selected file') + } + } + + private getFileName(filePath: string): string { + return basename(filePath) + } + + public async listRemoteTestEvents(functionArn: string, region: string): Promise { + const params: SamCliRemoteTestEventsParameters = { + functionArn: functionArn, + operation: TestEventsOperation.List, + region: region, + } + const result = await this.remoteTestEvents(params) + return result.split('\n') + } + + public async createRemoteTestEvents(putEvent: Event) { + const params: SamCliRemoteTestEventsParameters = { + functionArn: putEvent.arn, + operation: TestEventsOperation.Put, + name: putEvent.name, + eventSample: putEvent.event, + region: putEvent.region, + } + return await this.remoteTestEvents(params) + } + public async getRemoteTestEvents(getEvents: Event) { + const params: SamCliRemoteTestEventsParameters = { + name: getEvents.name, + operation: TestEventsOperation.Get, + functionArn: getEvents.arn, + region: getEvents.region, + } + return await this.remoteTestEvents(params) + } + + private async remoteTestEvents(params: SamCliRemoteTestEventsParameters) { + return await runSamCliRemoteTestEvents(params, getSamCliContext().invoker) + } + + public async getSamplePayload(): Promise { + try { + const inputs: SampleQuickPickItem[] = (await getSampleLambdaPayloads()).map((entry) => { + return { label: entry.name ?? '', filename: entry.filename ?? '' } + }) + + const qp = picker.createQuickPick({ + items: inputs, + options: { + title: localize( + 'AWS.lambda.form.pickSampleInput', + 'Enter keywords to filter the list of sample events' + ), + }, + }) + + const choices = await picker.promptUser({ + picker: qp, + }) + const pickerResponse = picker.verifySinglePickerOutput(choices) + + if (!pickerResponse) { + return + } + const sampleUrl = `${sampleRequestPath}${pickerResponse.filename}` + const sample = (await new HttpResourceFetcher(sampleUrl, { showUrl: true }).get()) ?? '' + + return sample + } catch (err) { + getLogger().error('Error getting manifest data..: %O', err as Error) + throw ToolkitError.chain(err, 'getting manifest data') } } } @@ -126,17 +242,23 @@ export async function invokeRemoteLambda( */ outputChannel: vscode.OutputChannel functionNode: LambdaFunctionNode + source?: string } ) { const inputs = await getSampleLambdaPayloads() - const client = new DefaultLambdaClient(params.functionNode.regionCode) - + const resource: any = params.functionNode + const source: string = params.source || 'AwsExplorerRemoteInvoke' + const client = new DefaultLambdaClient(resource.regionCode) const wv = new Panel(context.extensionContext, context.outputChannel, client, { - FunctionName: params.functionNode.configuration.FunctionName ?? '', - FunctionArn: params.functionNode.configuration.FunctionArn ?? '', - FunctionRegion: params.functionNode.regionCode, + FunctionName: resource.configuration.FunctionName ?? '', + FunctionArn: resource.configuration.FunctionArn ?? '', + FunctionRegion: resource.regionCode, InputSamples: inputs, + TestEvents: [], + Source: source, }) - await wv.show({ title: localize('AWS.invokeLambda.title', 'Invoke Lambda {0}', params.functionNode.functionName) }) + await wv.show({ + title: localize('AWS.invokeLambda.title', 'Invoke Lambda {0}', resource.configuration.FunctionName), + }) } diff --git a/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.css b/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.css new file mode 100644 index 00000000000..99f124e6b0c --- /dev/null +++ b/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.css @@ -0,0 +1,132 @@ +.Icontainer { + margin-inline: auto; + margin-top: 5rem; +} + +h1 { + text-align: left; + margin-bottom: 20px; +} + +div { + width: 521px; +} + +.form-row { + display: grid; + grid-template-columns: 150px 1fr; + margin-bottom: 10px; +} +.form-row-select { + width: 387px; + height: 28px; + border: 1px; + border-radius: 5px; + gap: 4px; + padding: 2px 8px; +} + +.dynamic-span { + white-space: nowrap; + text-overflow: initial; + overflow: scroll; + width: 381px; + height: 28px; + font-weight: 500; + font-size: 13px; + line-height: 15.51px; +} + +.form-row-event-select { + width: 244px; + height: 28px; + margin-bottom: 15px; + margin-left: 8px; +} + +.payload-options { + display: grid; + grid-template-columns: 150px 1fr; + align-items: center; + margin-bottom: 10px; +} + +label { + margin-right: 10px; +} + +span, +select, +.payload-options { + display: block; +} + +textarea { + color: var(--vscode-settings-textInputForeground); + background: var(--vscode-settings-textInputBackground); + border: 1px solid var(--vscode-settings-textInputBorder); +} + +.payload-options-button { + display: grid; + align-items: center; + border: none; + padding: 5px 10px; + cursor: pointer; + font-size: 0.9em; + margin-bottom: 10px; +} + +.button-theme-primary { + color: var(--vscode-button-foreground); + background: var(--vscode-button-background); + border: 1px solid var(--vscode-button-border); + padding: 8px 12px; +} +.button-theme-primary:hover:not(:disabled) { + background: var(--vscode-button-hoverBackground); + cursor: pointer; +} +.button-theme-secondary { + color: var(--vscode-button-secondaryForeground); + background: var(--vscode-button-secondaryBackground); + border: 1px solid var(--vscode-button-border); + padding: 8px 12px; +} +.button-theme-secondary:hover:not(:disabled) { + background: var(--vscode-button-secondaryHoverBackground); + cursor: pointer; +} + +.payload-options-buttons { + display: flex; + align-items: center; + margin-top: 10px; + margin-bottom: 10px; +} + +.radio-selector { + width: 15px; + height: 15px; + border-radius: 50%; +} + +.label-selector { + padding-left: 7px; + font-weight: 500; + font-size: 13px; + line-height: 15.51px; + text-align: center; +} + +.form-row-select { + display: grid; + grid-template-columns: 150px 1fr; + margin-bottom: 10px; +} + +.formfield { + display: flex; + align-items: center; + margin-bottom: 0.5rem; +} diff --git a/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.vue b/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.vue index a6e0d70d0f3..9e06ef590ba 100644 --- a/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.vue +++ b/packages/core/src/lambda/vue/remoteInvoke/remoteInvoke.vue @@ -1,75 +1,128 @@ /*! * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ -