From 59c6169e7b6d243eb150f080630a12bb64dcb102 Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Tue, 16 Jan 2024 10:45:51 -0800 Subject: [PATCH 01/13] credential dialog --- .../ui/s3CredentialsDialog.ts | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts diff --git a/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts b/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts new file mode 100644 index 000000000000..61baa729ca99 --- /dev/null +++ b/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts @@ -0,0 +1,74 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as azdata from 'azdata'; +import * as vscode from 'vscode'; +import * as localizedConstants from '../localizedConstants'; +import { DialogBase } from '../../ui/dialogBase'; + +export interface S3CredentialsDialogResult { + s3Url: vscode.Uri; + secretKey: string; + accessKey: string; +} + +export class S3CredentialsDialog extends DialogBase { + private s3UrlInputBox: azdata.InputBoxComponent; + private secretKeyInputBox: azdata.InputBoxComponent; + private accessKeyInputBox: azdata.InputBoxComponent; + private result: S3CredentialsDialogResult; + + constructor() { + super(localizedConstants.AddS3CredentialsDialogTitle, localizedConstants.AddS3CredentialsDialogTitle); + this.result = { + s3Url: undefined, + secretKey: undefined, + accessKey: undefined + }; + + // Relabel Cancel button to Back, since clicking cancel on an inner dialog makes it seem like it would close the whole dialog overall + this.dialogObject.cancelButton.label = localizedConstants.BackButtonLabel; + } + + protected async initialize(): Promise { + this.s3UrlInputBox = this.createInputBox(async (value) => { + this.result.s3Url = vscode.Uri.parse(value); + }, { + ariaLabel: localizedConstants.NameText, + inputType: 'text', + placeHolder: "s3://endpoint:port/bucketName/filePath.bak" + }); + const s3UrlContainer = this.createLabelInputContainer(localizedConstants.S3UrlLabel, this.s3UrlInputBox, true); + + this.secretKeyInputBox = this.createInputBox(async (value) => { + this.result.secretKey = value; + }, { + ariaLabel: localizedConstants.NameText, + inputType: 'password', + }); + const secretKeyContainer = this.createLabelInputContainer(localizedConstants.SecretKeyText, this.secretKeyInputBox, true); + + this.accessKeyInputBox = this.createInputBox(async (value) => { + this.result.accessKey = value; + }, { + ariaLabel: localizedConstants.NameText, + inputType: 'password', + }); + const accessKeyContainer = this.createLabelInputContainer(localizedConstants.AccessKeyText, this.accessKeyInputBox, true); + this.formContainer.addItems([s3UrlContainer, secretKeyContainer, accessKeyContainer]); + } + + protected override async validateInput(): Promise { + const errors = await super.validateInput(); + if (this.result.s3Url.scheme !== 's3') { + errors.push(localizedConstants.InvalidS3UrlError); + } + return errors; + } + + public override get dialogResult(): S3CredentialsDialogResult | undefined { + return this.result; + } +} From ca5b985ab6baa6dba8aaa978518f5ed084038906 Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Tue, 16 Jan 2024 11:13:34 -0800 Subject: [PATCH 02/13] add s3 support --- extensions/mssql/src/contracts.ts | 18 ++++ extensions/mssql/src/mssql.d.ts | 11 +++ .../objectManagement/localizedConstants.ts | 8 ++ .../objectManagementService.ts | 19 ++++ .../ui/restoreDatabaseDialog.ts | 90 +++++++++++++++---- src/sql/azdata.d.ts | 2 + 6 files changed, 129 insertions(+), 19 deletions(-) diff --git a/extensions/mssql/src/contracts.ts b/extensions/mssql/src/contracts.ts index fda925cca78a..5b4a1c3f06ac 100644 --- a/extensions/mssql/src/contracts.ts +++ b/extensions/mssql/src/contracts.ts @@ -10,6 +10,7 @@ import { ConnectParams } from 'dataprotocol-client/lib/protocol'; import * as mssql from 'mssql'; import { DatabaseFileData } from 'mssql'; import { BackupResponse } from 'azdata'; +import { CredentialInfo } from 'azdata'; // ------------------------------- < Telemetry Sent Event > ------------------------------------ @@ -1725,6 +1726,23 @@ export interface PurgeQueryStoreDataRequestParams { database: string; } +export namespace CreateCredentialRequest { + export const type = new RequestType('objectManagement/createCredentialRequest'); +} + +export interface CreateCredentialRequestParams { + credentialInfo: CredentialInfo; + connectionUri: string; +} + +export namespace GetCredentialNamesRequest { + export const type = new RequestType('objectManagement/getCredentialNamesRequest'); +} + +export interface GetCredentialNamesRequestParams { + connectionUri: string; +} + // ------------------------------- < Object Management > ------------------------------------ // ------------------------------- < Encryption IV/KEY updation Event > ------------------------------------ diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts index c15789a1867e..b40efbdd07fc 100644 --- a/extensions/mssql/src/mssql.d.ts +++ b/extensions/mssql/src/mssql.d.ts @@ -1038,6 +1038,17 @@ declare module 'mssql' { * @param database The target database. */ purgeQueryStoreData(connectionUri: string, database: string): Thenable; + /** + * Create a new credential + * @param connectionUri The URI of the server connection. + * @param credentialInfo + */ + createCredential(connectionUri: string, credentialInfo: azdata.CredentialInfo): Thenable; + /** + * Gets all the credentials that exist in the current server + * @param connectionUri The URI of the server connection. + */ + getCredentialNames(connectionUri: string): Thenable; } /** diff --git a/extensions/mssql/src/objectManagement/localizedConstants.ts b/extensions/mssql/src/objectManagement/localizedConstants.ts index b6a31951296d..e953b729f324 100644 --- a/extensions/mssql/src/objectManagement/localizedConstants.ts +++ b/extensions/mssql/src/objectManagement/localizedConstants.ts @@ -343,6 +343,7 @@ export const RestorePlanSectionText = localize('objectManagement.restoreDatabase export const RestoreFromBackupFileOptionText = localize('objectManagement.restoreDatabase.restoreFromBackupFileOptionText', "Backup file"); export const RestoreFromDatabaseOptionText = localize('objectManagement.restoreDatabase.restoreFromDatabaseOptionText', "Database"); export const RestoreFromUrlText = localize('objectManagement.restoreDatabase.restoreFromUrlText', "URL"); +export const RestoreFromS3UrlText = localize('objectManagement.restoreDatabase.restoreFromS3UrlText', "S3 URL"); export const BackupFolderPathTitle = localize('objectManagement.restoreDatabase.backupFolderPathTitle', "Please enter one or more file paths separated by commas"); export const RestoreDatabaseFilesAsText = localize('objectManagement.restoreDatabase.restoreDatabaseFilesAsText', "Restore database files as"); export const RestoreDatabaseFileDetailsText = localize('objectManagement.restoreDatabase.restoreDatabaseFileDetailsText', "Restore database file Details"); @@ -599,6 +600,13 @@ export const NotAvailableText = localize('objectManagement.databaseProperties.no export const PurgeQueryStoreDataMessage = (databaseName: string) => localize('objectManagement.databaseProperties.purgeQueryStoreDataMessage', "Are you sure you want to purge the Query Store data from '{0}'?", databaseName); export const fileGroupsNameInput = localize('objectManagement.filegroupsNameInput', "Filegroup Name"); +// S3 credentials +export const AddS3CredentialsDialogTitle = localize('objectManagement.addS3CredentialsDialogTitle', "Add S3 Credentials"); +export const S3UrlLabel = localize('objectManagement.s3UrlLabel', "S3 Url"); +export const SecretKeyText = localize('objectManagement.secretKey', "Secret Key"); +export const AccessKeyText = localize('objectManagement.accessKey', "Access Key"); +export const InvalidS3UrlError = localize('objectManagement.InvalidS3UrlError', "Invalid S3 URL"); + // Util functions export function getNodeTypeDisplayName(type: string, inTitle: boolean = false): string { switch (type) { diff --git a/extensions/mssql/src/objectManagement/objectManagementService.ts b/extensions/mssql/src/objectManagement/objectManagementService.ts index f7087291987f..560de8419af3 100644 --- a/extensions/mssql/src/objectManagement/objectManagementService.ts +++ b/extensions/mssql/src/objectManagement/objectManagementService.ts @@ -12,6 +12,7 @@ import { ObjectManagement, IObjectManagementService, DatabaseFileData, BackupInf import { ClientCapabilities } from 'vscode-languageclient'; import { AppContext } from '../appContext'; import { BackupResponse } from 'azdata'; +import { CredentialInfo } from 'azdata'; export class ObjectManagementService extends BaseService implements IObjectManagementService { public static asFeature(context: AppContext): ISqlOpsFeature { @@ -106,6 +107,16 @@ export class ObjectManagementService extends BaseService implements IObjectManag const params: contracts.PurgeQueryStoreDataRequestParams = { connectionUri, database }; return this.runWithErrorHandling(contracts.PurgeQueryStoreDataRequest.type, params); } + + async createCredential(connectionUri: string, credentialInfo: azdata.CredentialInfo): Promise { + const params: contracts.CreateCredentialRequestParams = { connectionUri, credentialInfo }; + return this.runWithErrorHandling(contracts.CreateCredentialRequest.type, params); + } + + async getCredentialNames(connectionUri: string): Promise { + const params: contracts.GetCredentialNamesRequestParams = { connectionUri }; + return this.runWithErrorHandling(contracts.GetCredentialNamesRequest.type, params); + } } const ServerLevelSecurableTypes: SecurableTypeMetadata[] = [ @@ -305,6 +316,14 @@ export class TestObjectManagementService implements IObjectManagementService { return this.delayAndResolve([]); } + async createCredential(connectionUri: string, credentialInfo: CredentialInfo): Promise { + return this.delayAndResolve(); + } + + async getCredentialNames(connectionUri: string): Promise { + return this.delayAndResolve([]); + } + private generateSearchResult(objectType: ObjectManagement.NodeType, schema: string | undefined, count: number): ObjectManagement.SearchResultItem[] { let items: ObjectManagement.SearchResultItem[] = []; for (let i = 0; i < count; i++) { diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index da03f60ac976..c6d4a42c174d 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -13,8 +13,7 @@ import { IObjectManagementService, ObjectManagement } from 'mssql'; import { RestoreDatabaseFilesTabDocUrl, RestoreDatabaseGeneralTabDocUrl, RestoreDatabaseOptionsTabDocUrl } from '../constants'; import { isUndefinedOrNull } from '../../types'; import { MediaDeviceType } from '../constants'; - - +import { S3CredentialsDialog } from './s3CredentialsDialog'; const Dialog_Width = '1150px'; const RestoreInputsWidth = DefaultInputWidth + 650; @@ -32,7 +31,7 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase { if (newValue === localizedConstants.RestoreFromBackupFileOptionText || newValue === localizedConstants.RestoreFromUrlText) { this.backupFilePathContainer.display = 'inline-flex'; this.restoreDatabase.enabled = false; - this.backupFilePathInput.value = newValue === localizedConstants.RestoreFromUrlText ? this.backupURLPath : this.backupFilePath; + this.backupFilePathInput.enabled = false; + await this.backupFilePathInput.updateProperties({ + value: newValue === localizedConstants.RestoreFromUrlText ? this.backupURLPath : this.backupFilePath + }); } else if (newValue === localizedConstants.RestoreFromDatabaseOptionText) { this.backupFilePathContainer.display = 'none'; this.restoreDatabase.enabled = true; } + if (newValue === localizedConstants.RestoreFromS3UrlText) { + this.backupFilePathInput.enabled = true; + this.backupFilePathContainer.display = 'inline-flex'; + this.restoreDatabase.enabled = false; + const credentials = (await this.objectManagementService.getCredentialNames(this.options.connectionUri)).filter(url => url.startsWith('s3://')); + credentials.unshift(''); + await this.backupFilePathInput.updateProperties({ + value: '', + values: credentials + }); + } await this.updateNewRestorePlanToDialog(); }, restoreFromDropdownOptions, restoreFromDropdownOptions[0], !this.isManagedInstance, RestoreInputsWidth); containers.push(this.createLabelInputContainer(localizedConstants.RestoreFromText, this.restoreFrom)); // Backup file path - this.backupFilePathInput = this.createInputBox(async (newValue) => { + this.backupFilePathInput = this.createDropdown(localizedConstants.BackupFilePathText, async (newValue) => { await this.updateNewRestorePlanToDialog(); - }, { - ariaLabel: localizedConstants.BackupFilePathText, - inputType: 'text', - enabled: true, - value: '', - width: RestoreInputsWidth - 30, - placeHolder: localizedConstants.BackupFolderPathTitle - }); + }, [''], localizedConstants.BackupFolderPathTitle, false, RestoreInputsWidth - 30, false, true) + this.backupFilePathButton = this.createButton('...', '...', async () => { - this.restoreFrom.value === localizedConstants.RestoreFromUrlText - ? await this.createBackupUrlFileBrowser() : await this.createBackupFileBrowser() + switch (this.restoreFrom.value) { + case localizedConstants.RestoreFromUrlText: + await this.createBackupUrlFileBrowser(); + break; + case localizedConstants.RestoreFromBackupFileOptionText: + await this.createBackupFileBrowser(); + break; + case localizedConstants.RestoreFromS3UrlText: + await this.createRestoreS3Url(); + break; + } + await this.updateNewRestorePlanToDialog(); }); this.backupFilePathButton.width = SelectFolderButtonWidth; this.backupFilePathContainer = this.createLabelInputContainer(localizedConstants.BackupFilePathText, this.backupFilePathInput); @@ -441,7 +458,10 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase 0) { - this.backupFilePathInput.value = this.backupFilePath = filePath; + this.backupFilePath = filePath; + await this.backupFilePathInput.updateProperties({ + value: this.backupFilePath + }); } } @@ -462,16 +482,48 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase { let backupPath = await azdata.window.openBackupUrlBrowserDialog(this.options.connectionUri, '', true); if (backupPath && !backupPath.includes('undefined')) { - this.backupFilePathInput.value = this.backupURLPath = backupPath; + this.backupURLPath = backupPath; + await this.backupFilePathInput.updateProperties({ + value: this.backupURLPath + }); } } + /** + * Creates a file browser and sets the path to the backup url Path + */ + private async createRestoreS3Url(): Promise { + const dialog = new S3CredentialsDialog(); + await dialog.open(); + await dialog.waitForClose(); + const result = dialog.dialogResult; + + const credentialInfo: azdata.CredentialInfo = { + secret: `${result.accessKey}:${result.secretKey}`, + url: result.s3Url.toString(), + identity: 'S3 Access Key', + name: result.s3Url.toString(), + createDate: undefined, + dateLastModified: undefined, + providerName: 'MSSQL', + id: undefined + } + await this.objectManagementService.createCredential(this.options.connectionUri, credentialInfo); + this.backupURLPath = result.s3Url.toString(); + const options = this.backupFilePathInput.values.map(s => s.toString()); + options.push(this.backupURLPath); + await this.backupFilePathInput.updateProperties({ + value: this.backupURLPath, + values: options + }); + } + /** * Gets current media devide type for database/backupFile or URL types * @returns Media device type */ private getRestoreMediaDeviceType(): MediaDeviceType { - return this.restoreFrom.value === localizedConstants.RestoreFromUrlText ? MediaDeviceType.Url : MediaDeviceType.File; + return this.restoreFrom.value === localizedConstants.RestoreFromBackupFileOptionText ? MediaDeviceType.File : MediaDeviceType.Url; } /** diff --git a/src/sql/azdata.d.ts b/src/sql/azdata.d.ts index 6cff3b69769c..d0dc83f5b62f 100644 --- a/src/sql/azdata.d.ts +++ b/src/sql/azdata.d.ts @@ -2021,6 +2021,8 @@ declare module 'azdata' { dateLastModified: string; createDate: string; providerName: string; + url?: string; + secret?: string; } export interface GetCredentialsResult extends ResultStatus { From 34e74314990ca0df52b4fc5eb18a24eb7f55bac8 Mon Sep 17 00:00:00 2001 From: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com> Date: Tue, 16 Jan 2024 12:18:18 -0800 Subject: [PATCH 03/13] Update extensions/mssql/src/objectManagement/localizedConstants.ts Co-authored-by: Cory Rivera --- extensions/mssql/src/objectManagement/localizedConstants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/mssql/src/objectManagement/localizedConstants.ts b/extensions/mssql/src/objectManagement/localizedConstants.ts index e953b729f324..3c82d9ee0676 100644 --- a/extensions/mssql/src/objectManagement/localizedConstants.ts +++ b/extensions/mssql/src/objectManagement/localizedConstants.ts @@ -602,7 +602,7 @@ export const fileGroupsNameInput = localize('objectManagement.filegroupsNameInpu // S3 credentials export const AddS3CredentialsDialogTitle = localize('objectManagement.addS3CredentialsDialogTitle', "Add S3 Credentials"); -export const S3UrlLabel = localize('objectManagement.s3UrlLabel', "S3 Url"); +export const S3UrlLabel = localize('objectManagement.s3UrlLabel', "S3 URL"); export const SecretKeyText = localize('objectManagement.secretKey', "Secret Key"); export const AccessKeyText = localize('objectManagement.accessKey', "Access Key"); export const InvalidS3UrlError = localize('objectManagement.InvalidS3UrlError', "Invalid S3 URL"); From 56dad78ec142d57801ff63694df15126d4acb722 Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Tue, 16 Jan 2024 13:43:08 -0800 Subject: [PATCH 04/13] remvoe url definition --- .../mssql/src/objectManagement/ui/restoreDatabaseDialog.ts | 1 - src/sql/azdata.d.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index c6d4a42c174d..8a9c03b2cb7c 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -500,7 +500,6 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase Date: Tue, 23 Jan 2024 14:21:51 -0800 Subject: [PATCH 05/13] add aws library --- extensions/mssql/package.json | 1 + .../ui/restoreDatabaseDialog.ts | 1 - extensions/mssql/yarn.lock | 1072 +++++++++++++++++ 3 files changed, 1073 insertions(+), 1 deletion(-) diff --git a/extensions/mssql/package.json b/extensions/mssql/package.json index 7c34ca41217f..e191363df160 100644 --- a/extensions/mssql/package.json +++ b/extensions/mssql/package.json @@ -1714,6 +1714,7 @@ } }, "dependencies": { + "@aws-sdk/client-s3": "^3.490.0", "@microsoft/ads-extension-telemetry": "^3.0.1", "@microsoft/ads-service-downloader": "^1.2.1", "dataprotocol-client": "github:Microsoft/sqlops-dataprotocolclient#2.0.0", diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index 8a9c03b2cb7c..59a46b00cb37 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -497,7 +497,6 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase Date: Fri, 26 Jan 2024 09:28:45 -0800 Subject: [PATCH 06/13] add select file dialog --- .../objectManagement/localizedConstants.ts | 14 +- .../ui/restoreDatabaseDialog.ts | 17 +- .../ui/s3CredentialsDialog.ts | 125 ++- extensions/mssql/src/ui/dialogBase.ts | 5 +- extensions/mssql/yarn.lock | 748 ++++++++++++++++++ 5 files changed, 877 insertions(+), 32 deletions(-) diff --git a/extensions/mssql/src/objectManagement/localizedConstants.ts b/extensions/mssql/src/objectManagement/localizedConstants.ts index 3c82d9ee0676..f0e2f88cd355 100644 --- a/extensions/mssql/src/objectManagement/localizedConstants.ts +++ b/extensions/mssql/src/objectManagement/localizedConstants.ts @@ -601,11 +601,15 @@ export const PurgeQueryStoreDataMessage = (databaseName: string) => localize('ob export const fileGroupsNameInput = localize('objectManagement.filegroupsNameInput', "Filegroup Name"); // S3 credentials -export const AddS3CredentialsDialogTitle = localize('objectManagement.addS3CredentialsDialogTitle', "Add S3 Credentials"); -export const S3UrlLabel = localize('objectManagement.s3UrlLabel', "S3 URL"); -export const SecretKeyText = localize('objectManagement.secretKey', "Secret Key"); -export const AccessKeyText = localize('objectManagement.accessKey', "Access Key"); -export const InvalidS3UrlError = localize('objectManagement.InvalidS3UrlError', "Invalid S3 URL"); +export const SelectS3BackupFileDialogTitle = localize('objectManagement.selectS3BackupFileDialogTitle', "Select S3 Storage Backup File"); +export const RegionSpecificEndpointText = localize('objectManagement.regionSpecificEndpointLabel', "Region-specific endpoint"); +export const SecretKeyText = localize('objectManagement.secretKeyLabel', "Secret Key"); +export const AccessKeyText = localize('objectManagement.accessKeyLabel', "Access Key"); +export const RegionText = localize('objectManagement.regionLabel', "Region"); +export const AddCredentialsText = localize('objectManagement.addCredentialsLabel', "Add Credentials"); +export const SelectS3BucketText = localize('objectManagement.SelectS3BucketLabel', "Select S3 Bucket"); +export const SelectBackupFileText = localize('objectManagement.SelectBackupFileLabel', "Select Backup File"); +export const InvalidS3UrlError = localize('objectManagement.InvalidS3UrlError', "Invalid S3 endpoint"); // Util functions export function getNodeTypeDisplayName(type: string, inTitle: boolean = false): string { diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index 59a46b00cb37..38b884401882 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -493,21 +493,10 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase { - const dialog = new S3CredentialsDialog(); + const dialog = new S3CredentialsDialog(this.objectManagementService, this.options.connectionUri); await dialog.open(); - await dialog.waitForClose(); - const result = dialog.dialogResult; - const credentialInfo: azdata.CredentialInfo = { - secret: `${result.accessKey}:${result.secretKey}`, - identity: 'S3 Access Key', - name: result.s3Url.toString(), - createDate: undefined, - dateLastModified: undefined, - providerName: 'MSSQL', - id: undefined - } - await this.objectManagementService.createCredential(this.options.connectionUri, credentialInfo); - this.backupURLPath = result.s3Url.toString(); + let result = await dialog.waitForClose() + this.backupURLPath = result.backupFilePath; const options = this.backupFilePathInput.values.map(s => s.toString()); options.push(this.backupURLPath); await this.backupFilePathInput.updateProperties({ diff --git a/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts b/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts index 61baa729ca99..1da4d5712b0f 100644 --- a/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts @@ -6,69 +6,172 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; import * as localizedConstants from '../localizedConstants'; -import { DialogBase } from '../../ui/dialogBase'; +import { DefaultInputWidth, DialogBase } from '../../ui/dialogBase'; +import * as awsClient from '@aws-sdk/client-s3'; +import { IObjectManagementService } from 'mssql'; export interface S3CredentialsDialogResult { s3Url: vscode.Uri; secretKey: string; accessKey: string; + backupFilePath: string; } export class S3CredentialsDialog extends DialogBase { private s3UrlInputBox: azdata.InputBoxComponent; private secretKeyInputBox: azdata.InputBoxComponent; private accessKeyInputBox: azdata.InputBoxComponent; + private credentialButton: azdata.ButtonComponent; + private regionInputBox: azdata.InputBoxComponent; + private bucketDropdown: azdata.DropDownComponent; + private backupFilesDropdown: azdata.DropDownComponent; private result: S3CredentialsDialogResult; + private objectManagementService: IObjectManagementService; + private credentialInfo: azdata.CredentialInfo; + private connectionUri: string; + private s3Client: awsClient.S3Client; - constructor() { - super(localizedConstants.AddS3CredentialsDialogTitle, localizedConstants.AddS3CredentialsDialogTitle); + constructor(objectManagementService: IObjectManagementService, connectionUri: string) { + super(localizedConstants.SelectS3BackupFileDialogTitle, localizedConstants.SelectS3BackupFileDialogTitle); this.result = { s3Url: undefined, secretKey: undefined, - accessKey: undefined + accessKey: undefined, + backupFilePath: undefined }; // Relabel Cancel button to Back, since clicking cancel on an inner dialog makes it seem like it would close the whole dialog overall this.dialogObject.cancelButton.label = localizedConstants.BackButtonLabel; + this.dialogObject.okButton.label = localizedConstants.AddButton; + + this.objectManagementService = objectManagementService; + this.connectionUri = connectionUri; + + this.dialogObject.okButton.onClick(async () => { + if (this.result.backupFilePath) { + this.credentialInfo = { + secret: `${this.result.accessKey}:${this.result.secretKey}`, + identity: 'S3 Access Key', + name: this.result.backupFilePath, + createDate: undefined, + dateLastModified: undefined, + providerName: 'MSSQL', + id: undefined + } + await this.objectManagementService.createCredential(this.connectionUri, this.credentialInfo); + } + }); } protected async initialize(): Promise { this.s3UrlInputBox = this.createInputBox(async (value) => { this.result.s3Url = vscode.Uri.parse(value); + this.regionInputBox.value = this.result.s3Url.toString().split(".")[1]; + this.enableCredentialButton(); }, { - ariaLabel: localizedConstants.NameText, + ariaLabel: localizedConstants.RegionSpecificEndpointText, inputType: 'text', - placeHolder: "s3://endpoint:port/bucketName/filePath.bak" + placeHolder: 'https://s3.{region}.amazonaws.com' }); - const s3UrlContainer = this.createLabelInputContainer(localizedConstants.S3UrlLabel, this.s3UrlInputBox, true); + const s3UrlContainer = this.createLabelInputContainer(localizedConstants.RegionSpecificEndpointText, this.s3UrlInputBox, true); this.secretKeyInputBox = this.createInputBox(async (value) => { this.result.secretKey = value; + this.enableCredentialButton(); }, { - ariaLabel: localizedConstants.NameText, + ariaLabel: localizedConstants.SecretKeyText, inputType: 'password', }); const secretKeyContainer = this.createLabelInputContainer(localizedConstants.SecretKeyText, this.secretKeyInputBox, true); this.accessKeyInputBox = this.createInputBox(async (value) => { this.result.accessKey = value; + this.enableCredentialButton(); }, { - ariaLabel: localizedConstants.NameText, + ariaLabel: localizedConstants.AccessKeyText, inputType: 'password', }); const accessKeyContainer = this.createLabelInputContainer(localizedConstants.AccessKeyText, this.accessKeyInputBox, true); - this.formContainer.addItems([s3UrlContainer, secretKeyContainer, accessKeyContainer]); + + this.credentialButton = this.createButton(localizedConstants.AddCredentialsText, localizedConstants.AddCredentialsText, async () => { + this.createS3Client(); + await this.setBucketDropdown(); + + }, false, DefaultInputWidth); + const credentialButtonContainer = this.createLabelInputContainer(' ', this.credentialButton); + + this.regionInputBox = this.createInputBox(async () => { }, { + ariaLabel: localizedConstants.RegionText, + inputType: 'text', + enabled: false + }); + const regionInputContainer = this.createLabelInputContainer(localizedConstants.RegionText, this.regionInputBox, true); + + this.bucketDropdown = this.createDropdown(localizedConstants.SelectS3BucketText, async (newValue) => { + await this.setBackupFilesDropdown(newValue); + }, [], '', false); + const bucketContainer = this.createLabelInputContainer(localizedConstants.SelectS3BucketText, this.bucketDropdown, true); + + this.backupFilesDropdown = this.createDropdown(localizedConstants.SelectBackupFileText, async () => { + }, [], '', false); + const backupFilesContainer = this.createLabelInputContainer(localizedConstants.SelectBackupFileText, this.backupFilesDropdown, true); + + this.formContainer.addItems([s3UrlContainer, secretKeyContainer, accessKeyContainer, credentialButtonContainer, regionInputContainer, bucketContainer, backupFilesContainer]); } protected override async validateInput(): Promise { const errors = await super.validateInput(); - if (this.result.s3Url.scheme !== 's3') { + if (!this.result.s3Url.toString().includes('s3') && (this.result.s3Url.scheme !== 'https' || this.result.s3Url.scheme !== 'https')) { errors.push(localizedConstants.InvalidS3UrlError); } return errors; } + private createS3Client(): void { + this.s3Client = new awsClient.S3Client({ + forcePathStyle: true, + region: this.regionInputBox.value, + endpoint: this.result.s3Url.toString(), + credentials: { + accessKeyId: this.dialogResult.accessKey, + secretAccessKey: this.dialogResult.secretKey + } + }); + } + + private async getBucketList(): Promise { + let command = new awsClient.ListBucketsCommand({}); + let response = await this.s3Client.send(command); + return response.Buckets.map(r => r.Name); + } + /** + * Gets a list of all the backup files in S3 storage bucket + */ + private async getBackupFiles(bucket: string): Promise { + const input: awsClient.ListObjectVersionsCommandInput = { + Bucket: bucket + }; + let command = new awsClient.ListObjectsV2Command(input); + let response = await this.s3Client.send(command); + return response.Contents.filter(r => r.Key.endsWith('.bak')).map(r => r.Key); + } + + private async setBackupFilesDropdown(bucket: string): Promise { + this.backupFilesDropdown.values = await this.getBackupFiles(bucket); + this.backupFilesDropdown.enabled = true; + } + + private async setBucketDropdown(): Promise { + this.bucketDropdown.values = await this.getBucketList(); + this.bucketDropdown.enabled = true; + } + + private enableCredentialButton(): void { + this.credentialButton.enabled = (this.result.s3Url && this.result.accessKey && this.result.secretKey) !== undefined; + } + public override get dialogResult(): S3CredentialsDialogResult | undefined { + this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.amazonaws.com/${this.backupFilesDropdown.value}`; return this.result; } } diff --git a/extensions/mssql/src/ui/dialogBase.ts b/extensions/mssql/src/ui/dialogBase.ts index 9cf0b071d9c3..3aaeb4efb7de 100644 --- a/extensions/mssql/src/ui/dialogBase.ts +++ b/extensions/mssql/src/ui/dialogBase.ts @@ -368,13 +368,14 @@ export abstract class DialogBase { return dropdown; } - protected createButton(label: string, ariaLabel: string, handler: () => Promise, enabled: boolean = true): azdata.ButtonComponent { + protected createButton(label: string, ariaLabel: string, handler: () => Promise, enabled: boolean = true, width?: number): azdata.ButtonComponent { const button = this.modelView.modelBuilder.button().withProps({ label: label, ariaLabel: ariaLabel, enabled: enabled, secondary: true, - CSSStyles: { 'min-width': '70px', 'margin-left': '5px' } + CSSStyles: { 'min-width': '70px', 'margin-left': '5px' }, + width: width }).component(); this.disposables.push(button.onDidClick(async () => { await handler(); diff --git a/extensions/mssql/yarn.lock b/extensions/mssql/yarn.lock index 76a4ad33123f..d17a57d2f55d 100644 --- a/extensions/mssql/yarn.lock +++ b/extensions/mssql/yarn.lock @@ -151,6 +151,53 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" +"@aws-sdk/client-secrets-manager@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.499.0.tgz#77a4860457c5d02f4898960109fc00563147d6cc" + integrity sha512-PJnUw50jA1bqeOsa4sKupE4MQFkbPyhuZebLeCgJWv7IjYa1uWyS75Jgi0HgFUDXz5MwMhL1X7uQy8ctBZOfqA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.499.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/credential-provider-node" "3.499.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-signing" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + uuid "^8.3.2" + "@aws-sdk/client-sso@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.490.0.tgz#f18720d6301b83de858afd9b7dd4a2452b18e8ad" @@ -194,6 +241,49 @@ "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" +"@aws-sdk/client-sso@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz#765cbfb3afcbe7bc8f2430e40afd4d542a0d58fb" + integrity sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + "@aws-sdk/client-sts@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.490.0.tgz#17bf245705790fd632e4fa5d0cf0f312069f8a4d" @@ -240,6 +330,52 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" +"@aws-sdk/client-sts@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.499.0.tgz#4c8260ed1fda7ad2c4e5fe12e4eaa5849da77d92" + integrity sha512-Eyj9STw2DXMtXL5V/v0HYHO6+JjGPi257M5IYyxwqlvRchq6jbOsedobfxclB/gBUyBRtZdnyAIS8uCKjb4kpA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/credential-provider-node" "3.499.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + "@aws-sdk/core@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.490.0.tgz#387013cb6e4060b421c6b45bd33f419c5c8e4a76" @@ -252,6 +388,18 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/core@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.496.0.tgz#ec1394753b6b2f6e38aea593e30b2db5c7390969" + integrity sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A== + dependencies: + "@smithy/core" "^1.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/signature-v4" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-env@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.489.0.tgz#69aeee7251047dbf3b1533514cb87c5fae333a47" @@ -262,6 +410,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-env@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz#5055bd2e3a169e5c10b37c40e0f356046947e707" + integrity sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-ini@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.490.0.tgz#8a907f85a5d88614bc63eac15d0f86a6074fb9fe" @@ -278,6 +436,22 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-ini@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.496.0.tgz#4de82fc173ba1581af4bf6fcad610f2fc0fd8ca1" + integrity sha512-2nD1jp1sIwcQaWK1y/9ruQOkW16RUxZpzgjbW/gnK3iiUXwx+/FNQWxshud+GTSx3Q4x6eIhqsbjtP4VVPPuUA== + dependencies: + "@aws-sdk/credential-provider-env" "3.496.0" + "@aws-sdk/credential-provider-process" "3.496.0" + "@aws-sdk/credential-provider-sso" "3.496.0" + "@aws-sdk/credential-provider-web-identity" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-node@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.490.0.tgz#fc1051f30e25eb00d63e40be79f5fd4b66d3bdfb" @@ -295,6 +469,23 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-node@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.499.0.tgz#7980144fdd04e1e39af850084444ec29d2918473" + integrity sha512-EsiSevVmcVSMIq7D9siSH/XVc5I0vMntg1rx6KQdng1Fq8X/RBL5t9wSWEwOl7KFo5HlEsWrLWIpo1WHuzIL/w== + dependencies: + "@aws-sdk/credential-provider-env" "3.496.0" + "@aws-sdk/credential-provider-ini" "3.496.0" + "@aws-sdk/credential-provider-process" "3.496.0" + "@aws-sdk/credential-provider-sso" "3.496.0" + "@aws-sdk/credential-provider-web-identity" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-process@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.489.0.tgz#f0c2b5b22a1ca364ec89cd7e469673824606dec4" @@ -306,6 +497,17 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-process@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz#1d623bed61229767f389feab560e3a3117bf2d26" + integrity sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-sso@3.490.0": version "3.490.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.490.0.tgz#0cb15aebf72bc7d253aa51dee6a888a2af38acda" @@ -319,6 +521,19 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-sso@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.496.0.tgz#1c5f2d25b64936b79095f49cabbcd7832fb87087" + integrity sha512-eP7GxpT2QYubSDG7uk1GJW4eNymZCq65IxDyEFCXOP/kfqkxriCY+iVEFG6/Mo3LxvgrgHXU4jxrCAXMAWN43g== + dependencies: + "@aws-sdk/client-sso" "3.496.0" + "@aws-sdk/token-providers" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/credential-provider-web-identity@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.489.0.tgz#28e2ba4d1ee4de4d055875028ed205a2264611c1" @@ -329,6 +544,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-web-identity@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz#7ad6d755445d1616a80dfa286a78c84dc1c3f14b" + integrity sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/middleware-bucket-endpoint@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.489.0.tgz#80a06f1c229fae364b5916e47178d118340e0f51" @@ -376,6 +601,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/middleware-host-header@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz#e17de11d553548872566c72669c5ea2e7164722b" + integrity sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/middleware-location-constraint@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.489.0.tgz#aa00bc9b2d7ab857b1b8405b1a688684f2c44ae7" @@ -394,6 +629,15 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/middleware-logger@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz#96f867ae50144eb6bae91a427e315a0f0eb783b0" + integrity sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/middleware-recursion-detection@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.489.0.tgz#bdcbfcebd3d27aad2e0b2808af7c1d3d380c52a2" @@ -404,6 +648,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/middleware-recursion-detection@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz#c14e1bbe609e4af3ec9037c2379e2b64d660e4dd" + integrity sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/middleware-sdk-s3@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.489.0.tgz#45c57501427f789cf8701b282e5e5136eb320c8b" @@ -432,6 +686,19 @@ "@smithy/util-middleware" "^2.0.9" tslib "^2.5.0" +"@aws-sdk/middleware-signing@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz#265cb5a9d7825c111c53bb555e5cb2619f804dd1" + integrity sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/signature-v4" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" + tslib "^2.5.0" + "@aws-sdk/middleware-ssec@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.489.0.tgz#9991f6189fa1d3bf360e24f8d958f5456e4da7ce" @@ -452,6 +719,17 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/middleware-user-agent@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz#82b49fd8613ae5a9ceafc9117c34271615d0f002" + integrity sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w== + dependencies: + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/region-config-resolver@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.489.0.tgz#58bd9dfbe148e2de8bfd0e5e4a3719d56b594c85" @@ -464,6 +742,18 @@ "@smithy/util-middleware" "^2.0.9" tslib "^2.5.0" +"@aws-sdk/region-config-resolver@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz#133c8a4a6d5e7672077ba124751f40b2d6efc3ed" + integrity sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.1" + tslib "^2.5.0" + "@aws-sdk/signature-v4-multi-region@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.489.0.tgz#d36574d34bc084f29c19d3bc51acbd821767dda0" @@ -519,6 +809,49 @@ "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" +"@aws-sdk/token-providers@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.496.0.tgz#5b5baf0801fd591de4a28146afbdc8250197f9fa" + integrity sha512-fyi8RcObEa1jNETJdc2H6q9VHrrdKCj/b6+fbLvymb7mUVRd0aWUn+24SNUImnSOnrwYnwaMfyyEC388X4MbFQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + "@aws-sdk/types@3.489.0", "@aws-sdk/types@^3.222.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.489.0.tgz#0fa29adaace3e407ac15428524aa67e9bd229f65" @@ -527,6 +860,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/types@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.496.0.tgz#cdde44a94a57cf8f97cf05e4d0bdce2f56ce4eeb" + integrity sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/util-arn-parser@3.465.0": version "3.465.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.465.0.tgz#2896f6b06f69770378586853c97a0f283cbb2e20" @@ -544,6 +885,16 @@ "@smithy/util-endpoints" "^1.0.8" tslib "^2.5.0" +"@aws-sdk/util-endpoints@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz#5ce7d3efd7ab67db556e2c199e73826c44d22ecd" + integrity sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" + "@smithy/util-endpoints" "^1.1.1" + tslib "^2.5.0" + "@aws-sdk/util-locate-window@^3.0.0": version "3.465.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz#0471428fb5eb749d4b72c427f5726f7b61fb90eb" @@ -561,6 +912,16 @@ bowser "^2.11.0" tslib "^2.5.0" +"@aws-sdk/util-user-agent-browser@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz#494b086dd8b07acdd6be65034c51545e5bcee37b" + integrity sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" + bowser "^2.11.0" + tslib "^2.5.0" + "@aws-sdk/util-user-agent-node@3.489.0": version "3.489.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.489.0.tgz#bc8f96710aadec4f5e327817cf5945c473150621" @@ -571,6 +932,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@aws-sdk/util-user-agent-node@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz#db14e02cf82af556c826570efc7db1e57de3262d" + integrity sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg== + dependencies: + "@aws-sdk/types" "3.496.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@aws-sdk/util-utf8-browser@^3.0.0": version "3.259.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" @@ -858,6 +1229,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/abort-controller@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.1.tgz#bb68596a7c8213c2ef259bc7fb0f0c118c67ea9d" + integrity sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/chunked-blob-reader-native@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.1.tgz#0599eaed8c2cd15c7ab43a1838cef1258ff27133" @@ -884,6 +1263,17 @@ "@smithy/util-middleware" "^2.0.9" tslib "^2.5.0" +"@smithy/config-resolver@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.1.tgz#fc6b036084b98fd26a8ff01a5d7eb676e41749c7" + integrity sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw== + dependencies: + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.1" + tslib "^2.5.0" + "@smithy/core@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.2.2.tgz#9e10d6055f2a05c2c677737b9b0c4f7507a80c75" @@ -898,6 +1288,20 @@ "@smithy/util-middleware" "^2.0.9" tslib "^2.5.0" +"@smithy/core@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.1.tgz#ecedc564e68453b02c20db9e8435d59005c066d8" + integrity sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q== + dependencies: + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" + tslib "^2.5.0" + "@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.5.tgz#18e238067c0d9c5598a12fabb13ce1545554e691" @@ -909,6 +1313,17 @@ "@smithy/url-parser" "^2.0.16" tslib "^2.5.0" +"@smithy/credential-provider-imds@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz#4805bf5e104718b959cf8699113fa9de6ddeeafa" + integrity sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA== + dependencies: + "@smithy/node-config-provider" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + tslib "^2.5.0" + "@smithy/eventstream-codec@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.16.tgz#c213e25d7f05f1e6b40675835a141d23d3f3b6ca" @@ -919,6 +1334,16 @@ "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" +"@smithy/eventstream-codec@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz#4405ab0f9c77d439c575560c4886e59ee17d6d38" + integrity sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@smithy/types" "^2.9.1" + "@smithy/util-hex-encoding" "^2.1.1" + tslib "^2.5.0" + "@smithy/eventstream-serde-browser@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.16.tgz#f265c3605a861d7f4feaa8657f475c8da7c9f45e" @@ -965,6 +1390,17 @@ "@smithy/util-base64" "^2.0.1" tslib "^2.5.0" +"@smithy/fetch-http-handler@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz#b4d73bbc1449f61234077d58c705b843a8587bf0" + integrity sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg== + dependencies: + "@smithy/protocol-http" "^3.1.1" + "@smithy/querystring-builder" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-base64" "^2.1.1" + tslib "^2.5.0" + "@smithy/hash-blob-browser@^2.0.17": version "2.0.17" resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.17.tgz#4249f1fba27cb7c40dbf1fa38a31e61dbf9149b9" @@ -985,6 +1421,16 @@ "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" +"@smithy/hash-node@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.1.tgz#0f8a22d97565ca948724f72267e4d3a2f33740a8" + integrity sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg== + dependencies: + "@smithy/types" "^2.9.1" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + "@smithy/hash-stream-node@^2.0.18": version "2.0.18" resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.18.tgz#6f7b214e785b8cf445e5095f9a9b9b38e689e7ce" @@ -1002,6 +1448,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/invalid-dependency@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz#bd69fa24dd35e9bc65a160bd86becdf1399e4463" + integrity sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/is-array-buffer@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" @@ -1009,6 +1463,13 @@ dependencies: tslib "^2.5.0" +"@smithy/is-array-buffer@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz#07b4c77ae67ed58a84400c76edd482271f9f957b" + integrity sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ== + dependencies: + tslib "^2.5.0" + "@smithy/md5-js@^2.0.18": version "2.0.18" resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.18.tgz#85f26fc83e75b440144341292cbb75ddf69dd0de" @@ -1027,6 +1488,15 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/middleware-content-length@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz#df767de12d594bc5622009fb0fc8343522697d8c" + integrity sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g== + dependencies: + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/middleware-endpoint@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.3.0.tgz#135c30f38087ba52e692a73212854d0809ce1168" @@ -1040,6 +1510,19 @@ "@smithy/util-middleware" "^2.0.9" tslib "^2.5.0" +"@smithy/middleware-endpoint@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz#9e500df4d944741808e92018ccd2e948b598a49f" + integrity sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q== + dependencies: + "@smithy/middleware-serde" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-middleware" "^2.1.1" + tslib "^2.5.0" + "@smithy/middleware-retry@^2.0.26": version "2.0.26" resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.26.tgz#894cf86b0f5bc742e09c52df8df4c2941fbd9883" @@ -1055,6 +1538,21 @@ tslib "^2.5.0" uuid "^8.3.2" +"@smithy/middleware-retry@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz#ddc749dd927f136714f76ca5a52dcfb0993ee162" + integrity sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA== + dependencies: + "@smithy/node-config-provider" "^2.2.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/service-error-classification" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-retry" "^2.1.1" + tslib "^2.5.0" + uuid "^8.3.2" + "@smithy/middleware-serde@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.16.tgz#a127e7fa48c0106bd7a81e1ea27e7193cb08e701" @@ -1063,6 +1561,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/middleware-serde@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz#2c5750f76e276a5249720f6c3c24fac29abbee16" + integrity sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/middleware-stack@^2.0.10": version "2.0.10" resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.10.tgz#fb7c660dcc921b61a77e6cb39ed3eada9ed38585" @@ -1071,6 +1577,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/middleware-stack@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz#67f992dc36e8a6861f881f80a81c1c30956a0396" + integrity sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/node-config-provider@^2.1.9": version "2.1.9" resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.9.tgz#2e9e5ee7c4412be6696a74b26f9ed2a66e2a5fb4" @@ -1081,6 +1595,16 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/node-config-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz#c440c7948d58d72f0e212aa1967aa12f0729defd" + integrity sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg== + dependencies: + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/node-http-handler@^2.2.2": version "2.2.2" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.2.2.tgz#f9f8cd49f270bc50a0de8a4587bbdaae1c7c4e80" @@ -1092,6 +1616,17 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/node-http-handler@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz#77d23279ff0a12cbe7cde93c5e7c0e86ad56dd20" + integrity sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA== + dependencies: + "@smithy/abort-controller" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/querystring-builder" "^2.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.17": version "2.0.17" resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.17.tgz#288475021613649811dc79a9fab4894be01cd069" @@ -1100,6 +1635,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/property-provider@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.1.tgz#0f7ffc5e43829eaca5b2b5aae8554807a52b30f3" + integrity sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/protocol-http@^3.0.12": version "3.0.12" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.12.tgz#9f606efd191593f6dbde58fa822465b92b8afbca" @@ -1108,6 +1651,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/protocol-http@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.1.1.tgz#eee522d0ed964a72b735d64925e07bcfb7a7806f" + integrity sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/querystring-builder@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.16.tgz#1a9a02b1fb938688cdab5e585cb7c62c8054bc41" @@ -1117,6 +1668,15 @@ "@smithy/util-uri-escape" "^2.0.0" tslib "^2.5.0" +"@smithy/querystring-builder@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz#b9693448ad3f8e0767d84cf5cae29f35514591fb" + integrity sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg== + dependencies: + "@smithy/types" "^2.9.1" + "@smithy/util-uri-escape" "^2.1.1" + tslib "^2.5.0" + "@smithy/querystring-parser@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.16.tgz#90d9589539ffe8fb4864c8bf6f1f1c9def962a40" @@ -1125,6 +1685,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/querystring-parser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz#a4282a66cc56844317dbff824e573f469bbfc032" + integrity sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/service-error-classification@^2.0.9": version "2.0.9" resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.9.tgz#4459433f6727f1b7e953a9bab189672b3b157224" @@ -1132,6 +1700,13 @@ dependencies: "@smithy/types" "^2.8.0" +"@smithy/service-error-classification@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz#dd24e1ec529ae9ec8e87d8b15f0fc8f7e17f3d02" + integrity sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw== + dependencies: + "@smithy/types" "^2.9.1" + "@smithy/shared-ini-file-loader@^2.0.6", "@smithy/shared-ini-file-loader@^2.2.8": version "2.2.8" resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.8.tgz#b5fa153d4920a3c740215c60ad1667972d67a164" @@ -1140,6 +1715,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/shared-ini-file-loader@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz#a2e28b4d85f8a8262a84403fa2b74a086b3a7703" + integrity sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/signature-v4@^2.0.0": version "2.0.19" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.19.tgz#2b926fc00b2e61ec586289fe28927e10766a3afd" @@ -1154,6 +1737,20 @@ "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" +"@smithy/signature-v4@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.1.tgz#6080171e3d694f40d3f553bbc236c5c433efd4d2" + integrity sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg== + dependencies: + "@smithy/eventstream-codec" "^2.1.1" + "@smithy/is-array-buffer" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-uri-escape" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + "@smithy/smithy-client@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.2.1.tgz#ed1aa11f36dae2ca9b3eabcbc498bcc96d79fdfd" @@ -1166,6 +1763,18 @@ "@smithy/util-stream" "^2.0.24" tslib "^2.5.0" +"@smithy/smithy-client@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.3.1.tgz#0c3a4a0d3935c7ad2240cc23181f276705212b1f" + integrity sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA== + dependencies: + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-stream" "^2.1.1" + tslib "^2.5.0" + "@smithy/types@^2.8.0": version "2.8.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.8.0.tgz#bdbaa0a54c9c3538d6c763c6f32d3e4f76fe0df9" @@ -1173,6 +1782,13 @@ dependencies: tslib "^2.5.0" +"@smithy/types@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.9.1.tgz#ed04d4144eed3b8bd26d20fc85aae8d6e357ebb9" + integrity sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw== + dependencies: + tslib "^2.5.0" + "@smithy/url-parser@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.16.tgz#25f860effe465acbbe61beb69b6def052878ee58" @@ -1182,6 +1798,15 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/url-parser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.1.tgz#a30de227b6734650d740b6dff74d488b874e85e3" + integrity sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q== + dependencies: + "@smithy/querystring-parser" "^2.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/util-base64@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.1.tgz#57f782dafc187eddea7c8a1ff2a7c188ed1a02c4" @@ -1190,6 +1815,14 @@ "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" +"@smithy/util-base64@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.1.tgz#af729085cc9d92ebd54a5d2c5d0aa5a0c31f83bf" + integrity sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g== + dependencies: + "@smithy/util-buffer-from" "^2.1.1" + tslib "^2.5.0" + "@smithy/util-body-length-browser@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.1.tgz#424485cc81c640d18c17c683e0e6edb57e8e2ab9" @@ -1197,6 +1830,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-body-length-browser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz#1fc77072768013ae646415eedb9833cd252d055d" + integrity sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag== + dependencies: + tslib "^2.5.0" + "@smithy/util-body-length-node@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz#313a5f7c5017947baf5fa018bfc22628904bbcfa" @@ -1204,6 +1844,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-body-length-node@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz#a6f5c9911f1c3e23efb340d5ce7a590b62f2056e" + integrity sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg== + dependencies: + tslib "^2.5.0" + "@smithy/util-buffer-from@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" @@ -1212,6 +1859,14 @@ "@smithy/is-array-buffer" "^2.0.0" tslib "^2.5.0" +"@smithy/util-buffer-from@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz#f9346bf8b23c5ba6f6bdb61dd9db779441ba8d08" + integrity sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg== + dependencies: + "@smithy/is-array-buffer" "^2.1.1" + tslib "^2.5.0" + "@smithy/util-config-provider@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.1.0.tgz#c733a862892772aaeb373a3e8af5182556da0ef9" @@ -1219,6 +1874,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-config-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz#aea0a80236d6cedaee60473802899cff4a8cc0ba" + integrity sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw== + dependencies: + tslib "^2.5.0" + "@smithy/util-defaults-mode-browser@^2.0.24": version "2.0.24" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.24.tgz#bfa8fa441db0d0d309c11d091ca9746f2b8e4797" @@ -1230,6 +1892,17 @@ bowser "^2.11.0" tslib "^2.5.0" +"@smithy/util-defaults-mode-browser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz#be9ac82acee6ec4821b610e7187b0e147f0ba8ff" + integrity sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA== + dependencies: + "@smithy/property-provider" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + bowser "^2.11.0" + tslib "^2.5.0" + "@smithy/util-defaults-mode-node@^2.0.32": version "2.0.32" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.32.tgz#a0665ef2feed845de7825059072e312e22393698" @@ -1243,6 +1916,19 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/util-defaults-mode-node@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.1.tgz#0910ee00aac3e8a08aac3e6ae8794e52f3efef02" + integrity sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA== + dependencies: + "@smithy/config-resolver" "^2.1.1" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/util-endpoints@^1.0.8": version "1.0.8" resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.0.8.tgz#10ec9b228e96fc67b42ed06dabdab118a5869532" @@ -1252,6 +1938,15 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/util-endpoints@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz#45426dba6fb42282a0ad955600b2b3ba050d118f" + integrity sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw== + dependencies: + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/util-hex-encoding@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" @@ -1259,6 +1954,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-hex-encoding@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz#978252b9fb242e0a59bae4ead491210688e0d15f" + integrity sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg== + dependencies: + tslib "^2.5.0" + "@smithy/util-middleware@^2.0.9": version "2.0.9" resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.9.tgz#54a372fa723ace66046cdf91439fb1648a246d5c" @@ -1267,6 +1969,14 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/util-middleware@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.1.tgz#903ba19bb17704f4b476fb9ade9bf9eb0174bc3d" + integrity sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA== + dependencies: + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/util-retry@^2.0.9": version "2.0.9" resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.9.tgz#ef6d6e41bcc5df330b76cca913d5e637c70497fc" @@ -1276,6 +1986,15 @@ "@smithy/types" "^2.8.0" tslib "^2.5.0" +"@smithy/util-retry@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.1.tgz#f2d3566b6e5b841028c7240c852007d4037e49b2" + integrity sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA== + dependencies: + "@smithy/service-error-classification" "^2.1.1" + "@smithy/types" "^2.9.1" + tslib "^2.5.0" + "@smithy/util-stream@^2.0.24": version "2.0.24" resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.24.tgz#fa896c8df828ce7758963b758c1f374407d812be" @@ -1290,6 +2009,20 @@ "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" +"@smithy/util-stream@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.1.tgz#3ae0e88c3a1a45899e29c1655d2e5a3865b6c0a6" + integrity sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ== + dependencies: + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + "@smithy/util-uri-escape@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" @@ -1297,6 +2030,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-uri-escape@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz#7eedc93b73ecda68f12fb9cf92e9fa0fbbed4d83" + integrity sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw== + dependencies: + tslib "^2.5.0" + "@smithy/util-utf8@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.2.tgz#626b3e173ad137208e27ed329d6bea70f4a1a7f7" @@ -1305,6 +2045,14 @@ "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" +"@smithy/util-utf8@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.1.tgz#690018dd28f47f014114497735e51417ea5900a6" + integrity sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A== + dependencies: + "@smithy/util-buffer-from" "^2.1.1" + tslib "^2.5.0" + "@smithy/util-waiter@^2.0.16": version "2.0.16" resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.16.tgz#3065566dd81951e24d843979ed1e6278794a955c" From d172582ae88b919f78ea3884561d1b561a70e21b Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Fri, 26 Jan 2024 09:31:53 -0800 Subject: [PATCH 07/13] rename dialog --- .../{s3CredentialsDialog.ts => S3AddBackupFileDialog.ts} | 8 ++++---- .../src/objectManagement/ui/restoreDatabaseDialog.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) rename extensions/mssql/src/objectManagement/ui/{s3CredentialsDialog.ts => S3AddBackupFileDialog.ts} (96%) diff --git a/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts similarity index 96% rename from extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts rename to extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts index 1da4d5712b0f..5e1446eebdb1 100644 --- a/extensions/mssql/src/objectManagement/ui/s3CredentialsDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts @@ -10,14 +10,14 @@ import { DefaultInputWidth, DialogBase } from '../../ui/dialogBase'; import * as awsClient from '@aws-sdk/client-s3'; import { IObjectManagementService } from 'mssql'; -export interface S3CredentialsDialogResult { +export interface S3AddBackupFileDialogResult { s3Url: vscode.Uri; secretKey: string; accessKey: string; backupFilePath: string; } -export class S3CredentialsDialog extends DialogBase { +export class S3AddBackupFileDialog extends DialogBase { private s3UrlInputBox: azdata.InputBoxComponent; private secretKeyInputBox: azdata.InputBoxComponent; private accessKeyInputBox: azdata.InputBoxComponent; @@ -25,7 +25,7 @@ export class S3CredentialsDialog extends DialogBase { private regionInputBox: azdata.InputBoxComponent; private bucketDropdown: azdata.DropDownComponent; private backupFilesDropdown: azdata.DropDownComponent; - private result: S3CredentialsDialogResult; + private result: S3AddBackupFileDialogResult; private objectManagementService: IObjectManagementService; private credentialInfo: azdata.CredentialInfo; private connectionUri: string; @@ -170,7 +170,7 @@ export class S3CredentialsDialog extends DialogBase { this.credentialButton.enabled = (this.result.s3Url && this.result.accessKey && this.result.secretKey) !== undefined; } - public override get dialogResult(): S3CredentialsDialogResult | undefined { + public override get dialogResult(): S3AddBackupFileDialogResult | undefined { this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.amazonaws.com/${this.backupFilesDropdown.value}`; return this.result; } diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index 38b884401882..bdbcf31e5795 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -13,7 +13,7 @@ import { IObjectManagementService, ObjectManagement } from 'mssql'; import { RestoreDatabaseFilesTabDocUrl, RestoreDatabaseGeneralTabDocUrl, RestoreDatabaseOptionsTabDocUrl } from '../constants'; import { isUndefinedOrNull } from '../../types'; import { MediaDeviceType } from '../constants'; -import { S3CredentialsDialog } from './s3CredentialsDialog'; +import { S3AddBackupFileDialog } from './S3AddBackupFileDialog'; const Dialog_Width = '1150px'; const RestoreInputsWidth = DefaultInputWidth + 650; @@ -493,7 +493,7 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase { - const dialog = new S3CredentialsDialog(this.objectManagementService, this.options.connectionUri); + const dialog = new S3AddBackupFileDialog(this.objectManagementService, this.options.connectionUri); await dialog.open(); let result = await dialog.waitForClose() this.backupURLPath = result.backupFilePath; From 685a48da9ab37bd8bf4638aef25fd9b0de1462c7 Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Wed, 31 Jan 2024 09:30:29 -0800 Subject: [PATCH 08/13] pr comments --- .../ui/S3AddBackupFileDialog.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts index 5e1446eebdb1..eb3c7f337497 100644 --- a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts @@ -43,23 +43,23 @@ export class S3AddBackupFileDialog extends DialogBase { - if (this.result.backupFilePath) { - this.credentialInfo = { - secret: `${this.result.accessKey}:${this.result.secretKey}`, - identity: 'S3 Access Key', - name: this.result.backupFilePath, - createDate: undefined, - dateLastModified: undefined, - providerName: 'MSSQL', - id: undefined - } - await this.objectManagementService.createCredential(this.connectionUri, this.credentialInfo); + this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.amazonaws.com/${this.backupFilesDropdown.value}`; + this.credentialInfo = { + secret: `${this.result.accessKey}:${this.result.secretKey}`, + identity: 'S3 Access Key', + name: this.result.backupFilePath, + createDate: undefined, + dateLastModified: undefined, + providerName: 'MSSQL', + id: undefined } + await this.objectManagementService.createCredential(this.connectionUri, this.credentialInfo); }); } @@ -96,7 +96,6 @@ export class S3AddBackupFileDialog extends DialogBase { this.createS3Client(); await this.setBucketDropdown(); - }, false, DefaultInputWidth); const credentialButtonContainer = this.createLabelInputContainer(' ', this.credentialButton); @@ -113,6 +112,8 @@ export class S3AddBackupFileDialog extends DialogBase { + // enable ok button once we have a backup file to restore + this.dialogObject.okButton.enabled = true; }, [], '', false); const backupFilesContainer = this.createLabelInputContainer(localizedConstants.SelectBackupFileText, this.backupFilesDropdown, true); @@ -171,7 +172,6 @@ export class S3AddBackupFileDialog extends DialogBase Date: Wed, 31 Jan 2024 13:30:48 -0800 Subject: [PATCH 09/13] fix endpoint name --- .../mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts index eb3c7f337497..967152bf470c 100644 --- a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts @@ -49,7 +49,7 @@ export class S3AddBackupFileDialog extends DialogBase { - this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.amazonaws.com/${this.backupFilesDropdown.value}`; + this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.{server}.com/${this.backupFilesDropdown.value}`; this.credentialInfo = { secret: `${this.result.accessKey}:${this.result.secretKey}`, identity: 'S3 Access Key', @@ -71,7 +71,7 @@ export class S3AddBackupFileDialog extends DialogBase Date: Wed, 31 Jan 2024 14:49:58 -0800 Subject: [PATCH 10/13] reset url path --- extensions/mssql/package.json | 2 + .../ui/S3AddBackupFileDialog.ts | 2 +- .../ui/restoreDatabaseDialog.ts | 1 + extensions/mssql/yarn.lock | 253 +++++++++++++++++- 4 files changed, 256 insertions(+), 2 deletions(-) diff --git a/extensions/mssql/package.json b/extensions/mssql/package.json index e191363df160..6804151295bf 100644 --- a/extensions/mssql/package.json +++ b/extensions/mssql/package.json @@ -1723,9 +1723,11 @@ "vscode-nls": "^4.0.0" }, "devDependencies": { + "@types/aws-sdk":"^2.7.0", "@types/mocha": "^7.0.2", "@microsoft/vscodetestcover": "^1.2.2", "@microsoft/azdata-test": "^3.0.4", + "aws-sdk": "2.1548.0", "mocha": "^9.2.2", "should": "^13.2.3", "typemoq": "^2.1.0" diff --git a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts index 967152bf470c..1c2c50462fbf 100644 --- a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts @@ -49,7 +49,7 @@ export class S3AddBackupFileDialog extends DialogBase { - this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.{server}.com/${this.backupFilesDropdown.value}`; + this.result.backupFilePath = `s3://${this.bucketDropdown.value}.s3.${this.regionInputBox.value}.amazonaws.com/${this.backupFilesDropdown.value}`; this.credentialInfo = { secret: `${this.result.accessKey}:${this.result.secretKey}`, identity: 'S3 Access Key', diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index 98af2317ce1a..bb7da49c3463 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -232,6 +232,7 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase { + this.backupFilePath = this.backupURLPath = ''; if (newValue === localizedConstants.RestoreFromBackupFileOptionText || newValue === localizedConstants.RestoreFromUrlText) { this.backupFilePathContainer.display = 'inline-flex'; this.restoreDatabase.enabled = false; diff --git a/extensions/mssql/yarn.lock b/extensions/mssql/yarn.lock index 76a4ad33123f..f6c4a4e014df 100644 --- a/extensions/mssql/yarn.lock +++ b/extensions/mssql/yarn.lock @@ -1319,6 +1319,13 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@types/aws-sdk@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@types/aws-sdk/-/aws-sdk-2.7.0.tgz#83588b3d14ebdca1d4ce5e023387577568ce82f3" + integrity sha512-bF6brnwPN9+kheqdKCpinMgCkj+sJIUEj+0v0LPug9OQwL5/1jy+kiJwl+Nkw4Kh+7oaL1phhC4gMz6Oq60jMg== + dependencies: + aws-sdk "*" + "@types/mocha@^7.0.2": version "7.0.2" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce" @@ -1392,11 +1399,37 @@ async-retry@^1.2.3: dependencies: retry "0.13.1" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sdk@*, aws-sdk@2.1548.0: + version "2.1548.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1548.0.tgz#f888f266b0675e5021f48704df7a56de9856caa1" + integrity sha512-kmo3FvO7xKuB7WfLKm6ABuecZeUTFtfwrbrGjWMiCC/yNwP1S3oSm/j/Yy7LO8sQfukWSOXpnPfMk5yhhqq3UQ== + 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.6.2" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -1449,6 +1482,24 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +call-bind@^1.0.2, call-bind@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + callsite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" @@ -1598,6 +1649,15 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -1633,6 +1693,11 @@ eventemitter2@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" integrity sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg== +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== + fast-xml-parser@4.2.5: version "4.2.5" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" @@ -1680,6 +1745,13 @@ fmerge@1.2.0: resolved "https://registry.yarnpkg.com/fmerge/-/fmerge-1.2.0.tgz#36e99d2ae255e3ee1af666b4df780553671cf692" integrity sha512-ByFA9Pg++TFyB+MlYTEQ/FF/hpEVYjr56xWOpSzCxsjkwfWC7miNIgJAFj3cNbhtn/vusqyen55M8Bg7t3lYiA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -1697,6 +1769,11 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -1707,6 +1784,16 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1743,6 +1830,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -1758,6 +1852,37 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -1785,6 +1910,16 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: agent-base "6" debug "4" +ieee754@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1793,11 +1928,19 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -1810,6 +1953,11 @@ is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-callable@^1.1.3: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1820,6 +1968,13 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -1837,11 +1992,23 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-typed-array@^1.1.3: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1902,6 +2069,11 @@ istanbul-reports@^3.0.0: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2200,6 +2372,16 @@ postinstall-build@^5.0.1: resolved "https://registry.yarnpkg.com/postinstall-build/-/postinstall-build-5.0.3.tgz#238692f712a481d8f5bc8960e94786036241efc7" integrity sha512-vPvPe8TKgp4FLgY3+DfxCE5PIfoXBK2lyLfNCxsRbDsV6vS4oU5RG/IWxrblMn6heagbnMED3MemUQllQ2bQUg== +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -2243,6 +2425,16 @@ safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== + +sax@>=0.6.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -2267,6 +2459,17 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + should-equal@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" @@ -2426,6 +2629,30 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +util@^0.12.4: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + 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" + +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== + uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -2462,6 +2689,17 @@ vscode-nls@^4.0.0: resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167" integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw== +which-typed-array@^1.1.11, which-typed-array@^1.1.2: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + which@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -2493,11 +2731,24 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +xml2js@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499" + integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + xml@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" From 7d96516227ab813685ee7d03801ab49dfe9505eb Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Fri, 2 Feb 2024 10:04:44 -0800 Subject: [PATCH 11/13] encode uri --- .../mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts index 1c2c50462fbf..25b9cbeea8ae 100644 --- a/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/S3AddBackupFileDialog.ts @@ -65,7 +65,7 @@ export class S3AddBackupFileDialog extends DialogBase { this.s3UrlInputBox = this.createInputBox(async (value) => { - this.result.s3Url = vscode.Uri.parse(value); + this.result.s3Url = vscode.Uri.parse(encodeURI(value)); this.regionInputBox.value = this.result.s3Url.toString().split(".")[1]; this.enableCredentialButton(); }, { From 92f99459e7efbf36cf28faf01eb4666ffc4098ed Mon Sep 17 00:00:00 2001 From: Barbara Valdez Mireles Date: Mon, 5 Feb 2024 02:20:12 -0800 Subject: [PATCH 12/13] pr comments --- .../src/objectManagement/ui/restoreDatabaseDialog.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts index bb7da49c3463..76d7f096a251 100644 --- a/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts +++ b/extensions/mssql/src/objectManagement/ui/restoreDatabaseDialog.ts @@ -237,8 +237,10 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase 0) { this.backupFilePath = filePath; await this.backupFilePathInput.updateProperties({ - value: this.backupFilePath + value: this.backupFilePath, + values: [this.backupFilePath] }); } } @@ -485,7 +488,8 @@ export class RestoreDatabaseDialog extends ObjectManagementDialogBase Date: Mon, 5 Feb 2024 11:15:49 -0800 Subject: [PATCH 13/13] remove unused dependencies --- extensions/mssql/package.json | 2 - extensions/mssql/yarn.lock | 253 +--------------------------------- 2 files changed, 1 insertion(+), 254 deletions(-) diff --git a/extensions/mssql/package.json b/extensions/mssql/package.json index 6804151295bf..e191363df160 100644 --- a/extensions/mssql/package.json +++ b/extensions/mssql/package.json @@ -1723,11 +1723,9 @@ "vscode-nls": "^4.0.0" }, "devDependencies": { - "@types/aws-sdk":"^2.7.0", "@types/mocha": "^7.0.2", "@microsoft/vscodetestcover": "^1.2.2", "@microsoft/azdata-test": "^3.0.4", - "aws-sdk": "2.1548.0", "mocha": "^9.2.2", "should": "^13.2.3", "typemoq": "^2.1.0" diff --git a/extensions/mssql/yarn.lock b/extensions/mssql/yarn.lock index f6c4a4e014df..76a4ad33123f 100644 --- a/extensions/mssql/yarn.lock +++ b/extensions/mssql/yarn.lock @@ -1319,13 +1319,6 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@types/aws-sdk@^2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@types/aws-sdk/-/aws-sdk-2.7.0.tgz#83588b3d14ebdca1d4ce5e023387577568ce82f3" - integrity sha512-bF6brnwPN9+kheqdKCpinMgCkj+sJIUEj+0v0LPug9OQwL5/1jy+kiJwl+Nkw4Kh+7oaL1phhC4gMz6Oq60jMg== - dependencies: - aws-sdk "*" - "@types/mocha@^7.0.2": version "7.0.2" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce" @@ -1399,37 +1392,11 @@ async-retry@^1.2.3: dependencies: retry "0.13.1" -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sdk@*, aws-sdk@2.1548.0: - version "2.1548.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1548.0.tgz#f888f266b0675e5021f48704df7a56de9856caa1" - integrity sha512-kmo3FvO7xKuB7WfLKm6ABuecZeUTFtfwrbrGjWMiCC/yNwP1S3oSm/j/Yy7LO8sQfukWSOXpnPfMk5yhhqq3UQ== - 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.6.2" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -1482,24 +1449,6 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -call-bind@^1.0.2, call-bind@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - callsite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" @@ -1649,15 +1598,6 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" -define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -1693,11 +1633,6 @@ eventemitter2@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" integrity sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg== -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== - fast-xml-parser@4.2.5: version "4.2.5" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" @@ -1745,13 +1680,6 @@ fmerge@1.2.0: resolved "https://registry.yarnpkg.com/fmerge/-/fmerge-1.2.0.tgz#36e99d2ae255e3ee1af666b4df780553671cf692" integrity sha512-ByFA9Pg++TFyB+MlYTEQ/FF/hpEVYjr56xWOpSzCxsjkwfWC7miNIgJAFj3cNbhtn/vusqyen55M8Bg7t3lYiA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -1769,11 +1697,6 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -1784,16 +1707,6 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1830,13 +1743,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -1852,37 +1758,6 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -1910,16 +1785,6 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: agent-base "6" debug "4" -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1928,19 +1793,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -1953,11 +1810,6 @@ is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1968,13 +1820,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -1992,23 +1837,11 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-typed-array@^1.1.3: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -2069,11 +1902,6 @@ istanbul-reports@^3.0.0: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jmespath@0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" - integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2372,16 +2200,6 @@ postinstall-build@^5.0.1: resolved "https://registry.yarnpkg.com/postinstall-build/-/postinstall-build-5.0.3.tgz#238692f712a481d8f5bc8960e94786036241efc7" integrity sha512-vPvPe8TKgp4FLgY3+DfxCE5PIfoXBK2lyLfNCxsRbDsV6vS4oU5RG/IWxrblMn6heagbnMED3MemUQllQ2bQUg== -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -2425,16 +2243,6 @@ safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== - -sax@>=0.6.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -2459,17 +2267,6 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== - dependencies: - define-data-property "^1.1.1" - function-bind "^1.1.2" - get-intrinsic "^1.2.2" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - should-equal@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" @@ -2629,30 +2426,6 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -util@^0.12.4: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - 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" - -uuid@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" - integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -2689,17 +2462,6 @@ vscode-nls@^4.0.0: resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167" integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw== -which-typed-array@^1.1.11, which-typed-array@^1.1.2: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - which@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -2731,24 +2493,11 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -xml2js@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499" - integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - xml@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"