From e9d070b761db8485ac61bfc22133aff7521b869f Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Fri, 12 Mar 2021 17:05:26 -0800 Subject: [PATCH 01/41] release: 1.4.0-rc0 --- Composer/packages/client/config/env.js | 4 ++-- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 44abd13c3c..73be038683 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -87,8 +87,8 @@ function getClientEnvironment(publicUrl) { // images into the `src` and `import` them in code to get their paths. PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), - SDK_PACKAGE_VERSION: '4.11.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.3.1', + SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime + COMPOSER_VERSION: '1.4.0-rc0', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index 73900c0645..ec3ac5c23c 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.3.1", + "version": "1.4.0-rc0", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index 7f2cd28c9e..02b98da1a5 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.3.1'; +export const COMPOSER_VERSION = '1.4.0-rc0'; From 86b92bf731c4ffbd903ed8b8d6c4fc0748b8525b Mon Sep 17 00:00:00 2001 From: leileizhang Date: Tue, 16 Mar 2021 01:29:21 +0800 Subject: [PATCH 02/41] fix: lg create error with multi-language (#6412) Co-authored-by: Ben Yackley <61990921+beyackle@users.noreply.github.com> --- Composer/packages/client/src/recoilModel/dispatchers/lg.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/src/recoilModel/dispatchers/lg.ts b/Composer/packages/client/src/recoilModel/dispatchers/lg.ts index 05fc443736..b9bf94143b 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/lg.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/lg.ts @@ -56,12 +56,12 @@ const updateLgFiles = ( // adds if (adds?.length) { - set(lgFileIdsState(projectId), (ids) => ids.concat(adds.map((file) => file.id))); adds.forEach((lgFile) => { set(lgFileState({ projectId, lgFileId: lgFile.id }), (preFile) => needUpdate ? (needUpdate(preFile, lgFile) ? lgFile : preFile) : lgFile ); }); + set(lgFileIdsState(projectId), (ids) => ids.concat(adds.map((file) => file.id))); } }; From 44ca9035330b98ebbfd649d2c5ee96d589b665aa Mon Sep 17 00:00:00 2001 From: TJ Durnford Date: Fri, 12 Mar 2021 22:09:23 -0700 Subject: [PATCH 03/41] fix: Remove Attachment Lg template when they are deleted in the Response Editor (#6405) * fix: Remove Attachment Lg template when they are deleted in the Response Editor * strings Co-authored-by: Soroush --- .../modalityEditors/AttachmentArrayEditor.tsx | 12 ++- .../AttachmentModalityEditor.tsx | 2 + .../lg/modalityEditors/StringArrayItem.tsx | 97 ++++++++++++------- .../packages/server/src/locales/en-US.json | 12 +-- 4 files changed, 73 insertions(+), 50 deletions(-) diff --git a/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentArrayEditor.tsx b/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentArrayEditor.tsx index 0a2d61f295..c76db86a65 100644 --- a/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentArrayEditor.tsx +++ b/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentArrayEditor.tsx @@ -67,6 +67,7 @@ type AttachmentArrayEditorProps = { memoryVariables?: readonly string[]; lgOption?: LGOption; onChange: (items: string[]) => void; + onRemoveTemplate: (templateId: string) => void; onTemplateChange: (templateId: string, body?: string) => void; telemetryClient: TelemetryClient; codeEditorSettings?: Partial; @@ -80,6 +81,7 @@ export const AttachmentArrayEditor = React.memo( memoryVariables, onChange, onTemplateChange, + onRemoveTemplate, telemetryClient, codeEditorSettings, }: AttachmentArrayEditorProps) => { @@ -108,11 +110,12 @@ export const AttachmentArrayEditor = React.memo( ); const onRemove = React.useCallback( - (index: number) => () => { - const newItems = items.filter((_, idx) => idx !== index); + (templateId: string) => () => { + const newItems = items.filter((id) => id !== templateId); onChange(newItems); + onRemoveTemplate(templateId); }, - [items, onChange] + [items, onChange, onRemoveTemplate] ); const onAddTemplateClick = React.useCallback( @@ -239,11 +242,12 @@ export const AttachmentArrayEditor = React.memo( lgTemplates={lgTemplates} memoryVariables={memoryVariables} mode={idx === currentIndex ? 'edit' : 'view'} + removeTooltipTextContent={formatMessage('Remove attachment')} telemetryClient={telemetryClient} value={body} onFocus={onFocus(idx)} onLgChange={onLgCodeChange(name)} - onRemove={onRemove(idx)} + onRemove={onRemove(name)} onRenderDisplayText={onRenderDisplayText(idx)} /> ))} diff --git a/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentModalityEditor.tsx b/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentModalityEditor.tsx index a622f61eb9..2d4548c11c 100644 --- a/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentModalityEditor.tsx +++ b/Composer/packages/lib/code-editor/src/lg/modalityEditors/AttachmentModalityEditor.tsx @@ -33,6 +33,7 @@ const AttachmentModalityEditor = React.memo( onAttachmentLayoutChange, onUpdateResponseTemplate, onRemoveModality, + onRemoveTemplate, onTemplateChange, telemetryClient, editorSettings, @@ -108,6 +109,7 @@ const AttachmentModalityEditor = React.memo( selectedKey="text" telemetryClient={telemetryClient} onChange={handleChange} + onRemoveTemplate={onRemoveTemplate} onTemplateChange={onTemplateChange} /> diff --git a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx index 3134e252e5..10c886de61 100644 --- a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx +++ b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx @@ -99,6 +99,7 @@ type Props = { value: string; codeEditorSettings?: Partial; telemetryClient: TelemetryClient; + removeTooltipTextContent?: string; onRenderDisplayText?: () => React.ReactNode; onBlur?: () => void; onJumpTo?: (direction: 'next' | 'previous') => void; @@ -109,47 +110,62 @@ type Props = { onShowCallout?: (target: HTMLTextAreaElement) => void; }; -type TextViewItemProps = Pick; +type TextViewItemProps = Pick< + Props, + 'value' | 'onRemove' | 'onFocus' | 'onRenderDisplayText' | 'codeEditorSettings' | 'removeTooltipTextContent' +>; -const TextViewItem = React.memo(({ value, onRemove, onFocus, onRenderDisplayText }: TextViewItemProps) => { - const remove = useCallback( - (e: React.MouseEvent) => { - e.stopPropagation(); - e.preventDefault(); - onRemove(); - }, - [onRemove] - ); +const TextViewItem = React.memo( + ({ removeTooltipTextContent, value, onRemove, onFocus, onRenderDisplayText }: TextViewItemProps) => { + const remove = useCallback( + (e: React.MouseEvent) => { + e.stopPropagation(); + e.preventDefault(); + onRemove(); + }, + [onRemove] + ); - const focus = React.useCallback( - (e: React.FocusEvent) => { - e.stopPropagation(); - onFocus(); - }, - [onFocus] - ); + const focus = React.useCallback( + (e: React.FocusEvent) => { + e.stopPropagation(); + onFocus(); + }, + [onFocus] + ); - const click = React.useCallback( - (e: React.MouseEvent) => { - e.stopPropagation(); - onFocus(); - }, - [onFocus] - ); + const click = React.useCallback( + (e: React.MouseEvent) => { + e.stopPropagation(); + onFocus(); + }, + [onFocus] + ); - const RemoveIcon = React.useMemo(() => withTooltip({ content: formatMessage('Remove variation') }, IconButton), []); + const RemoveIcon = React.useMemo( + () => withTooltip({ content: removeTooltipTextContent ?? formatMessage('Remove variation') }, IconButton), + [removeTooltipTextContent] + ); - return ( - - - - {onRenderDisplayText?.() ?? value} - - - - - ); -}); + return ( + + + + {onRenderDisplayText?.() ?? value} + + + + + ); + } +); type TextFieldItemProps = Omit; @@ -226,6 +242,7 @@ export const StringArrayItem = (props: Props) => { value, telemetryClient, codeEditorSettings, + removeTooltipTextContent, } = props; const onEditorDidMount = React.useCallback( @@ -259,7 +276,13 @@ export const StringArrayItem = (props: Props) => { ) ) : ( - + )} ); diff --git a/Composer/packages/server/src/locales/en-US.json b/Composer/packages/server/src/locales/en-US.json index 4f8cfc963f..9bbb489103 100644 --- a/Composer/packages/server/src/locales/en-US.json +++ b/Composer/packages/server/src/locales/en-US.json @@ -1568,9 +1568,6 @@ "getting_template_910a4116": { "message": "Getting template" }, - "getting_yeoman_environment_4f50aae3": { - "message": "Getting Yeoman environment" - }, "go_to_qna_all_up_view_page_d475333d": { "message": "Go to QnA all-up view page." }, @@ -1721,12 +1718,6 @@ "install_the_update_and_restart_composer_fac30a61": { "message": "Install the update and restart Composer." }, - "installing_yeoman_template_38cf1e48": { - "message": "Installing Yeoman template" - }, - "instantiating_yeoman_template_5acf7e3f": { - "message": "Instantiating Yeoman template" - }, "integer_7f378275": { "message": "integer" }, @@ -2711,6 +2702,9 @@ "remove_all_text_responses_77592d1a": { "message": "Remove all text responses" }, + "remove_attachment_81f30aa3": { + "message": "Remove attachment" + }, "remove_f47dc62a": { "message": "Remove" }, From 3228d97bb26146992cadc1124f9468c9c1442186 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Mon, 15 Mar 2021 10:32:39 -0700 Subject: [PATCH 04/41] 1.4.0-rc1 --- Composer/packages/client/config/env.js | 2 +- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 73be038683..613bc597fb 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -88,7 +88,7 @@ function getClientEnvironment(publicUrl) { PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0-rc0', + COMPOSER_VERSION: '1.4.0-rc1', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index ec3ac5c23c..df7de47a7a 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0-rc0", + "version": "1.4.0-rc1", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index 02b98da1a5..443fcae729 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0-rc0'; +export const COMPOSER_VERSION = '1.4.0-rc1'; From 7d4b2bd2ba441bcd0cc711c86425ec4353efe8b8 Mon Sep 17 00:00:00 2001 From: Tony Anziano Date: Mon, 15 Mar 2021 11:50:41 -0700 Subject: [PATCH 05/41] Added gray Composer icon to 'no triggers' dialog state (#6414) Co-authored-by: Ben Yackley <61990921+beyackle@users.noreply.github.com> --- Composer/packages/client/src/pages/design/VisualEditor.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/Composer/packages/client/src/pages/design/VisualEditor.tsx b/Composer/packages/client/src/pages/design/VisualEditor.tsx index 430652d915..c4ae4d10f1 100644 --- a/Composer/packages/client/src/pages/design/VisualEditor.tsx +++ b/Composer/packages/client/src/pages/design/VisualEditor.tsx @@ -33,6 +33,7 @@ function onRenderBlankVisual(isTriggerEmpty, onClickAddTrigger, isRemoteSkill) { ) : isTriggerEmpty ? ( + {formatMessage('bot {formatMessage(`This dialog has no trigger yet.`)} Date: Mon, 15 Mar 2021 19:48:40 -0700 Subject: [PATCH 06/41] Get an ARM token only when publishing to Azure (#6418) Co-authored-by: Chris Whitten --- .../client/src/pages/publish/Publish.tsx | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/Composer/packages/client/src/pages/publish/Publish.tsx b/Composer/packages/client/src/pages/publish/Publish.tsx index eae9ad1c63..2f8374350d 100644 --- a/Composer/packages/client/src/pages/publish/Publish.tsx +++ b/Composer/packages/client/src/pages/publish/Publish.tsx @@ -220,19 +220,39 @@ const Publish: React.FC { + for (const bot of items) { + const setting = botPropertyData[bot.id].setting; + const publishTargets = botPropertyData[bot.id].publishTargets; + if (!(bot.publishTarget && publishTargets && setting)) { + continue; + } + if (bot.publishTarget && publishTargets) { + const selectedTarget = publishTargets.find((target) => target.name === bot.publishTarget); + if (selectedTarget?.type === 'azurePublish' || selectedTarget?.type === 'azureFunctionsPublish') { + return true; + } + } + } + return false; + }; + const publish = async (items: BotStatus[]) => { // get token let token = ''; - if (isGetTokenFromUser()) { - token = getTokenFromCache('accessToken'); - } else { - let tenant = getTenantIdFromCache(); - if (!tenant) { - const tenants = await AuthClient.getTenants(); - tenant = tenants?.[0]?.tenantId; - setTenantId(tenant); + if (isPublishingToAzure(items)) { + // TODO: this logic needs to be moved into the Azure publish extensions + if (isGetTokenFromUser()) { + token = getTokenFromCache('accessToken'); + } else { + let tenant = getTenantIdFromCache(); + if (!tenant) { + const tenants = await AuthClient.getTenants(); + tenant = tenants?.[0]?.tenantId; + setTenantId(tenant); + } + token = await AuthClient.getARMTokenForTenant(tenant); } - token = await AuthClient.getARMTokenForTenant(tenant); } setPublishDialogVisiblity(false); From 17c2f7d4df9d22da7c1e8a0d65f6bb2f65c960d8 Mon Sep 17 00:00:00 2001 From: leileizhang Date: Tue, 16 Mar 2021 15:14:15 +0800 Subject: [PATCH 07/41] fix: composer doesn't see component dialogs that are in subfolders (#6420) * fix: composer doesn't see component dialogs that are in subfolders * clean unused code --- .../server/src/models/bot/botProject.ts | 49 +++++++++---------- .../server/src/models/bot/botStructure.ts | 21 ++------ 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/Composer/packages/server/src/models/bot/botProject.ts b/Composer/packages/server/src/models/bot/botProject.ts index 0d0824734a..9904623cc6 100644 --- a/Composer/packages/server/src/models/bot/botProject.ts +++ b/Composer/packages/server/src/models/bot/botProject.ts @@ -777,33 +777,32 @@ export class BotProject implements IBotProject { await this.removeRecognizers(); const fileList = new Map(); - for (const pattern of BotStructureFilesPatterns) { - // load only from the data dir, otherwise may get "build" versions from - // deployment process - const root = this.dataDir; - const paths = await this.fileStorage.glob( - [ - pattern, - '!(generated/**)', - '!(runtime/**)', - '!(bin/**)', - '!(obj/**)', - '!(scripts/**)', - '!(settings/appsettings.json)', - '!(**/luconfig.json)', - ], - root - ); - for (const filePath of paths.sort()) { - const realFilePath: string = Path.join(root, filePath); - const fileInfo = await this._getFileInfo(realFilePath); - if (fileInfo) { - if (fileList.has(fileInfo.name)) { - throw new Error(`duplicate file found: ${fileInfo.relativePath}`); - } - fileList.set(fileInfo.name, fileInfo); + // load only from the data dir, otherwise may get "build" versions from + // deployment process + const root = this.dataDir; + const paths = await this.fileStorage.glob( + [ + ...BotStructureFilesPatterns, + '!(generated/**)', + '!(runtime/**)', + '!(bin/**)', + '!(obj/**)', + '!(scripts/**)', + '!(settings/appsettings.json)', + '!(**/luconfig.json)', + ], + root + ); + + for (const filePath of paths.sort()) { + const realFilePath: string = Path.join(root, filePath); + const fileInfo = await this._getFileInfo(realFilePath); + if (fileInfo) { + if (fileList.has(fileInfo.name)) { + throw new Error(`duplicate file found: ${fileInfo.relativePath}`); } + fileList.set(fileInfo.name, fileInfo); } } diff --git a/Composer/packages/server/src/models/bot/botStructure.ts b/Composer/packages/server/src/models/bot/botStructure.ts index e420b6277a..22814269bb 100644 --- a/Composer/packages/server/src/models/bot/botStructure.ts +++ b/Composer/packages/server/src/models/bot/botStructure.ts @@ -27,15 +27,6 @@ const BotStructureTemplate = { dialogSchema: 'dialogs/${DIALOGNAME}/${DIALOGNAME}.dialog.schema', recognizer: 'dialogs/${DIALOGNAME}/recognizers/${RECOGNIZERNAME}', }, - importedDialogs: { - entry: 'dialogs/imported/${DIALOGNAME}/${DIALOGNAME}.dialog', - lg: 'dialogs/imported/${DIALOGNAME}/language-generation/${LOCALE}/${DIALOGNAME}.${LOCALE}.lg', - lu: 'dialogs/imported/${DIALOGNAME}/language-understanding/${LOCALE}/${DIALOGNAME}.${LOCALE}.lu', - qna: 'dialogs/imported/${DIALOGNAME}/knowledge-base/en-us/${DIALOGNAME}.en-us.qna', - sourceQnA: 'dialogs/imported/${DIALOGNAME}/knowledge-base/source/${FILENAME}.source.qna', - dialogSchema: 'dialogs/imported/${DIALOGNAME}/${DIALOGNAME}.dialog.schema', - recognizer: 'dialogs/imported/${DIALOGNAME}/recognizers/${RECOGNIZERNAME}', - }, formDialogs: 'form-dialogs/${FORMDIALOGNAME}', skillManifests: 'manifests/${MANIFESTFILENAME}', botProject: '${BOTNAME}.botproj', @@ -71,10 +62,6 @@ export const BotStructureFilesPatterns = [ templateInterpolate(BotStructureTemplate.dialogs.dialogSchema, { DIALOGNAME: '*' }), templateInterpolate(BotStructureTemplate.dialogs.recognizer, { DIALOGNAME: '*', RECOGNIZERNAME: '*.dialog' }), - templateInterpolate(BotStructureTemplate.importedDialogs.entry, { DIALOGNAME: '*' }), - templateInterpolate(BotStructureTemplate.importedDialogs.dialogSchema, { DIALOGNAME: '*' }), - templateInterpolate(BotStructureTemplate.importedDialogs.recognizer, { DIALOGNAME: '*', RECOGNIZERNAME: '*.dialog' }), - templateInterpolate(BotStructureTemplate.formDialogs, { FORMDIALOGNAME: '*.form' }), templateInterpolate(BotStructureTemplate.skillManifests, { MANIFESTFILENAME: '*.json' }), templateInterpolate(BotStructureTemplate.botProject, { BOTNAME: '*' }), @@ -88,9 +75,11 @@ export const BotStructureFilesPatterns = [ 'dialogs/*/language-generation/**/*.lg', 'dialogs/*/language-understanding/**/*.lu', 'dialogs/*/knowledge-base/**/*.qna', - 'dialogs/imported/*/language-generation/**/*.lg', - 'dialogs/imported/*/language-understanding/**/*.lu', - 'dialogs/imported/*/knowledge-base/**/*.qna', + 'dialogs/imported/**/*.dialog', + 'dialogs/imported/**/language-generation/**/*.lg', + 'dialogs/imported/**/language-understanding/**/*.lu', + 'dialogs/imported/**/knowledge-base/**/*.qna', + 'dialogs/imported/**/*.dialog.schema', 'dialogs/*/*.json', ]; From e40f9bf6bf82d7e8e1d2839f3f9e5c7f5e48daf4 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 15 Mar 2021 19:02:56 -0500 Subject: [PATCH 08/41] fix: revert yeoman-environment to 2.10.3 from 3.1.0 (#6415) --- Composer/packages/server-workers/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/server-workers/package.json b/Composer/packages/server-workers/package.json index d8b5e9fc5b..0c2739abd8 100644 --- a/Composer/packages/server-workers/package.json +++ b/Composer/packages/server-workers/package.json @@ -17,7 +17,7 @@ "dependencies": { "@microsoft/bf-dialog": "4.11.0-dev.20201025.69cf2b9", "debug": "^4.3.1", - "yeoman-environment": "^3.1.0" + "yeoman-environment": "^2.10.3" }, "devDependencies": { "@types/debug": "^4.1.5", From 8c279bc25b6871f02367bf51cb44b93c87bec732 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 16 Mar 2021 15:27:37 -0700 Subject: [PATCH 09/41] 1.4.0-rc2 --- Composer/packages/client/config/env.js | 2 +- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 613bc597fb..5f68e02d8a 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -88,7 +88,7 @@ function getClientEnvironment(publicUrl) { PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0-rc1', + COMPOSER_VERSION: '1.4.0-rc2', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index df7de47a7a..4f8719d89a 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0-rc1", + "version": "1.4.0-rc2", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index 443fcae729..e3135f5387 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0-rc1'; +export const COMPOSER_VERSION = '1.4.0-rc2'; From f80790dac8ac730d560bde4882f20310c7413e1f Mon Sep 17 00:00:00 2001 From: Andy Brown Date: Tue, 16 Mar 2021 15:25:25 -0700 Subject: [PATCH 10/41] fix: load feature flags if default keys have changed (#6432) * handle case when default feature flags change If a feature flag is renamed or removed, Composer would fail when updating feature flags. * show app error when feature flags fail to fetch in development Co-authored-by: Chris Whitten --- .../packages/client/src/recoilModel/dispatchers/storage.ts | 7 ++++++- Composer/packages/server/src/services/featureFlags.ts | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Composer/packages/client/src/recoilModel/dispatchers/storage.ts b/Composer/packages/client/src/recoilModel/dispatchers/storage.ts index 0a471782a5..19107dcbb6 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/storage.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/storage.ts @@ -20,7 +20,7 @@ import { import { FileTypes } from '../../constants'; import { getExtension } from '../../utils/fileUtil'; -import { logMessage } from './shared'; +import { logMessage, setError } from './shared'; const projectFiles = ['bot', 'botproj']; @@ -197,6 +197,11 @@ export const storageDispatcher = () => { set(featureFlagsState, response.data); } catch (ex) { logMessage(callbackHelpers, `Error fetching feature flag data: ${ex}`); + + if (process.env.NODE_ENV === 'development') { + const err = new Error(`Error fetching feature flag data: ${ex.message}`); + setError(callbackHelpers, err); + } } }); diff --git a/Composer/packages/server/src/services/featureFlags.ts b/Composer/packages/server/src/services/featureFlags.ts index 6aba4c44ab..3c7131b926 100644 --- a/Composer/packages/server/src/services/featureFlags.ts +++ b/Composer/packages/server/src/services/featureFlags.ts @@ -28,9 +28,9 @@ export class FeatureFlagService { FeatureFlagService.currentFeatureFlagMap[key] = { ...FeatureFlagService.defaultFeatureFlags[key], ...FeatureFlagService.currentFeatureFlagMap[key], - displayName: FeatureFlagService.defaultFeatureFlags[key].displayName, - description: FeatureFlagService.defaultFeatureFlags[key].description, - documentationLink: FeatureFlagService.defaultFeatureFlags[key].documentationLink, + displayName: FeatureFlagService.defaultFeatureFlags[key]?.displayName, + description: FeatureFlagService.defaultFeatureFlags[key]?.description, + documentationLink: FeatureFlagService.defaultFeatureFlags[key]?.documentationLink, }; }); From 48c822ebf58a194430f949366605b9fb1b399a14 Mon Sep 17 00:00:00 2001 From: pavolum Date: Tue, 16 Mar 2021 17:55:44 -0400 Subject: [PATCH 11/41] fix: use new create flow during add skill if enabled (#6427) * Initial changes for component model add skills flow * Reusing function * Add new bot as skill working e2e in component model creation * cleaning up PR * removing unused imports * - fixing typos - enabling qna template to be instantiated as a skill * Fixing title in addSkills modal and fixing default template * fix useEffect Co-authored-by: Patrick Volum --- .../CreationFlow/v2/CreateOptions.tsx | 17 +- .../client/src/pages/design/creationModal.tsx | 86 +- .../src/recoilModel/dispatchers/project.ts | 65 +- .../recoilModel/dispatchers/utils/project.ts | 39 + .../server/src/controllers/project.ts | 4 +- Composer/yarn.lock | 837 +----------------- 6 files changed, 180 insertions(+), 868 deletions(-) diff --git a/Composer/packages/client/src/components/CreationFlow/v2/CreateOptions.tsx b/Composer/packages/client/src/components/CreationFlow/v2/CreateOptions.tsx index 7234d43a5d..feacee052d 100644 --- a/Composer/packages/client/src/components/CreationFlow/v2/CreateOptions.tsx +++ b/Composer/packages/client/src/components/CreationFlow/v2/CreateOptions.tsx @@ -30,8 +30,8 @@ import axios from 'axios'; import querystring from 'query-string'; import msftIcon from '../../../images/msftIcon.svg'; -import { DialogCreationCopy, EmptyBotTemplateId, feedDictionary } from '../../../constants'; -import { fetchReadMePendingState, selectedTemplateReadMeState } from '../../../recoilModel'; +import { DialogCreationCopy, feedDictionary } from '../../../constants'; +import { creationFlowTypeState, fetchReadMePendingState, selectedTemplateReadMeState } from '../../../recoilModel'; import TelemetryClient from '../../../telemetry/TelemetryClient'; import { getAliasFromPayload } from '../../../utils/electronUtil'; @@ -136,6 +136,7 @@ export function CreateOptionsV2(props: CreateOptionsProps) { const [selectedFeed, setSelectedFeed] = useState<{ props: IPivotItemProps }>({ props: { itemKey: csharpFeedKey } }); const [readMe] = useRecoilState(selectedTemplateReadMeState); const fetchReadMePending = useRecoilValue(fetchReadMePendingState); + const creationFlowType = useRecoilValue(creationFlowTypeState); const selectedTemplate = useMemo(() => { return new Selection({ @@ -209,7 +210,7 @@ export function CreateOptionsV2(props: CreateOptionsProps) { useEffect(() => { if (templates.length > 1) { - const emptyBotTemplate = find(templates, ['id', EmptyBotTemplateId]); + const emptyBotTemplate = find(templates, ['id', defaultTemplateId]); if (emptyBotTemplate) { setCurrentTemplateId(emptyBotTemplate.id); setEmptyBotKey(emptyBotTemplate.id); @@ -254,14 +255,12 @@ export function CreateOptionsV2(props: CreateOptionsProps) { } }, [currentTemplateId, props.fetchReadMe]); + const dialogWrapperProps = + creationFlowType === 'Skill' ? DialogCreationCopy.CREATE_NEW_SKILLBOT : DialogCreationCopy.CREATE_NEW_BOT_V2; + return ( - + { diff --git a/Composer/packages/client/src/pages/design/creationModal.tsx b/Composer/packages/client/src/pages/design/creationModal.tsx index 193cbc75b5..590312d018 100644 --- a/Composer/packages/client/src/pages/design/creationModal.tsx +++ b/Composer/packages/client/src/pages/design/creationModal.tsx @@ -4,6 +4,7 @@ import Path from 'path'; import React, { Fragment, useEffect, useRef, useState } from 'react'; import { useRecoilValue } from 'recoil'; +import { BotTemplate } from '@botframework-composer/types'; import { CreateOptions } from '../../components/CreationFlow/CreateOptions'; import { OpenProject } from '../../components/CreationFlow/OpenProject'; @@ -16,9 +17,12 @@ import { creationFlowTypeState, userSettingsState, templateProjectsState, + featureFlagsState, } from '../../recoilModel'; import { CreationFlowStatus } from '../../constants'; import TelemetryClient from '../../telemetry/TelemetryClient'; +import DefineConversationV2 from '../../components/CreationFlow/v2/DefineConversation'; +import { CreateOptionsV2 } from '../../components/CreationFlow/v2/CreateOptions'; interface CreationModalProps { onSubmit: () => void; @@ -36,14 +40,18 @@ export const CreationModal: React.FC = (props) => { updateFolder, saveTemplateId, createNewBot, + createNewBotV2, openProject, addNewSkillToBotProject, addExistingSkillToBotProject, + fetchTemplatesV2, + fetchReadMe, } = useRecoilValue(dispatcherState); const templateProjects = useRecoilValue(templateProjectsState); const creationFlowStatus = useRecoilValue(creationFlowStatusState); const creationFlowType = useRecoilValue(creationFlowTypeState); + const featureFlags = useRecoilValue(featureFlagsState); const focusedStorageFolder = useRecoilValue(focusedStorageFolderState); const { appLocale } = useRecoilValue(userSettingsState); const storages = useRecoilValue(storagesState); @@ -90,11 +98,34 @@ export const CreationModal: React.FC = (props) => { appLocale, }; if (creationFlowType === 'Skill') { - addNewSkillToBotProject(newBotData); - TelemetryClient.track('AddNewSkillCompleted'); + if (featureFlags?.NEW_CREATION_FLOW?.enabled) { + const templateVersion = templateProjects.find((template: BotTemplate) => { + return template.id == templateId; + })?.package?.packageVersion; + const newCreationBotData = { + templateId: templateId || '', + templateVersion: templateVersion || '', + name: formData.name, + description: formData.description, + location: formData.location, + schemaUrl: formData.schemaUrl, + appLocale, + templateDir: formData?.pvaData?.templateDir, + eTag: formData?.pvaData?.eTag, + urlSuffix: formData?.pvaData?.urlSuffix, + preserveRoot: formData?.pvaData?.preserveRoot, + alias: formData?.alias, + profile: formData?.profile, + source: formData?.source, + }; + createNewBotV2(newCreationBotData); + } else { + addNewSkillToBotProject(newBotData); + } } else { createNewBot(newBotData); } + TelemetryClient.track('AddNewSkillCompleted'); }; const handleDismiss = () => { @@ -103,11 +134,6 @@ export const CreationModal: React.FC = (props) => { }; const handleDefineConversationSubmit = async (formData, templateId: string) => { - // If selected template is vaCore then route to VA Customization modal - if (templateId === 'va-core') { - return; - } - handleSubmit(formData, templateId); }; @@ -132,9 +158,21 @@ export const CreationModal: React.FC = (props) => { } }; - return ( - - {creationFlowStatus === CreationFlowStatus.NEW_FROM_TEMPLATE ? ( + const renderDefineConversation = () => { + if (featureFlags?.NEW_CREATION_FLOW?.enabled) { + return ( + + ); + } else { + return ( = (props) => { onDismiss={handleDismiss} onSubmit={handleDefineConversationSubmit} /> - ) : null} + ); + } + }; - {creationFlowStatus === CreationFlowStatus.NEW ? ( - - ) : null} + const renderCreateOptions = () => { + if (featureFlags?.NEW_CREATION_FLOW?.enabled) { + return ( + + ); + } else { + return ; + } + }; + + return ( + + {creationFlowStatus === CreationFlowStatus.NEW_FROM_TEMPLATE ? renderDefineConversation() : null} + + {creationFlowStatus === CreationFlowStatus.NEW ? renderCreateOptions() : null} {creationFlowStatus === CreationFlowStatus.OPEN ? ( { ); const addExistingSkillToBotProject = useRecoilCallback( - (callbackHelpers: CallbackInterface) => async (path: string, storageId = 'default'): Promise => { + (callbackHelpers: CallbackInterface) => async ( + path: string, + storageId = 'default', + templateId?: string + ): Promise => { const { set, snapshot } = callbackHelpers; try { set(botOpeningState, true); @@ -128,6 +132,11 @@ export const projectDispatcher = () => { throw error; } + if (templateId === QnABotTemplateId) { + callbackHelpers.set(createQnAOnState, { projectId, dialogId: mainDialog }); + callbackHelpers.set(showCreateQnAFromUrlDialogState(projectId), true); + } + set(botProjectIdsState, (current) => [...current, projectId]); await dispatcher.addLocalSkillToBotProjectFile(projectId); navigateToSkillBot(rootBotProjectId, projectId, mainDialog); @@ -338,7 +347,13 @@ export const projectDispatcher = () => { const createNewBotV2 = useRecoilCallback((callbackHelpers: CallbackInterface) => async (newProjectData: any) => { const { set, snapshot } = callbackHelpers; try { - await flushExistingTasks(callbackHelpers); + const creationFlowType = await callbackHelpers.snapshot.getPromise(creationFlowTypeState); + + // flush existing tasks for new root bot creation + if (creationFlowType != 'Skill') { + await flushExistingTasks(callbackHelpers); + } + const dispatcher = await snapshot.getPromise(dispatcherState); set(botOpeningState, true); const { @@ -500,36 +515,28 @@ export const projectDispatcher = () => { if (response.data?.httpStatusCode === 200 && response.data.result) { // Bot creation successful clearInterval(timer); + const creationFlowType = await callbackHelpers.snapshot.getPromise(creationFlowTypeState); + callbackHelpers.set(botOpeningMessage, response.data.latestMessage); const { botFiles, projectData } = loadProjectData(response.data.result); const projectId = response.data.result.id; - if (settingStorage.get(projectId)) { - settingStorage.remove(projectId); - } - const { mainDialog } = await openRootBotAndSkills(callbackHelpers, { botFiles, projectData }); - - // Post project creation - callbackHelpers.set(projectMetaDataState(projectId), { - isRootBot: true, - isRemote: false, - }); - // if create from QnATemplate, continue creation flow. - if (templateId === QnABotTemplateId) { - callbackHelpers.set(createQnAOnState, { projectId, dialogId: mainDialog }); - callbackHelpers.set(showCreateQnAFromUrlDialogState(projectId), true); - } - if (profile) { - // ABS Create Flow, update publishProfile after create project - const dispatcher = await callbackHelpers.snapshot.getPromise(dispatcherState); - const newProfile = getPublishProfileFromPayload(profile, source); - - newProfile && dispatcher.setPublishTargets([newProfile], projectId); + if (creationFlowType === 'Skill') { + // Skill Creation + await addExistingSkillToBotProject(projectData.location, 'default', templateId); + } else { + // Root Bot Creation + await postRootBotCreation( + callbackHelpers, + projectId, + botFiles, + projectData, + templateId, + profile, + source, + projectIdCache + ); } - projectIdCache.set(projectId); - - // navigate to the new get started section - navigateToBot(callbackHelpers, projectId, undefined, btoa('botProjectsSettings#getstarted')); callbackHelpers.set(botOpeningMessage, ''); callbackHelpers.set(botOpeningState, false); } else { diff --git a/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts b/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts index f87c1886e5..1a86cde5bc 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts @@ -87,6 +87,7 @@ import { logMessage, setError } from '../shared'; import { setRootBotSettingState } from '../setting'; import { lgFilesSelectorFamily } from '../../selectors/lg'; import { createMissingLgTemplatesForDialogs } from '../../../utils/lgUtil'; +import { getPublishProfileFromPayload } from '../../../utils/electronUtil'; import { crossTrainConfigState } from './../../atoms/botState'; import { recognizersSelectorFamily } from './../../selectors/recognizers'; @@ -693,6 +694,44 @@ export const openRootBotAndSkills = async (callbackHelpers: CallbackInterface, d }; }; +export const postRootBotCreation = async ( + callbackHelpers, + projectId, + botFiles, + projectData, + templateId, + profile, + source, + projectIdCache +) => { + callbackHelpers.set(botProjectIdsState, (current) => [...current, projectId]); + + if (settingStorage.get(projectId)) { + settingStorage.remove(projectId); + } + const { mainDialog } = await openRootBotAndSkills(callbackHelpers, { botFiles, projectData }); + callbackHelpers.set(projectMetaDataState(projectId), { + isRootBot: true, + isRemote: false, + }); + // if create from QnATemplate, continue creation flow. + if (templateId === QnABotTemplateId) { + callbackHelpers.set(createQnAOnState, { projectId, dialogId: mainDialog }); + callbackHelpers.set(showCreateQnAFromUrlDialogState(projectId), true); + } + if (profile) { + // ABS Create Flow, update publishProfile after create project + const dispatcher = await callbackHelpers.snapshot.getPromise(dispatcherState); + const newProfile = getPublishProfileFromPayload(profile, source); + + newProfile && dispatcher.setPublishTargets([newProfile], projectId); + } + projectIdCache.set(projectId); + + // navigate to the new get started section + navigateToBot(callbackHelpers, projectId, undefined, btoa('botProjectsSettings#getstarted')); +}; + export const openRootBotAndSkillsByPath = async (callbackHelpers: CallbackInterface, path: string, storageId) => { const data = await fetchProjectDataByPath(path, storageId); if (data.error) { diff --git a/Composer/packages/server/src/controllers/project.ts b/Composer/packages/server/src/controllers/project.ts index 39c7559111..f1a9185fcd 100644 --- a/Composer/packages/server/src/controllers/project.ts +++ b/Composer/packages/server/src/controllers/project.ts @@ -158,7 +158,7 @@ async function removeProject(req: Request, res: Response) { async function openProject(req: Request, res: Response) { if (!req.body.storageId || !req.body.path) { res.status(400).json({ - message: 'parameters not provided, require stoarge id and path', + message: 'parameters not provided, require storage id and path', }); return; } @@ -195,7 +195,7 @@ async function openProject(req: Request, res: Response) { async function saveProjectAs(req: Request, res: Response) { if (!req.body.storageId || !req.body.name) { res.status(400).json({ - message: 'parameters not provided, require stoarge id and path', + message: 'parameters not provided, require storage id and path', }); return; } diff --git a/Composer/yarn.lock b/Composer/yarn.lock index a221beff5f..3321a0c881 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -4133,122 +4133,6 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@npmcli/arborist@^2.2.2": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-2.2.8.tgz#914252e23ebc25316d7b6565a8050f00d739c461" - integrity sha512-Wct6W0oXYqc0SU3ad2zr3xIZ0+mOcBRO/hO4JpuYalKIwha+X6es8pj7iexZKLU7ichBSdkEqo+3dqeJg1+qVQ== - dependencies: - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/map-workspaces" "^1.0.2" - "@npmcli/metavuln-calculator" "^1.1.0" - "@npmcli/move-file" "^1.1.0" - "@npmcli/name-from-folder" "^1.0.1" - "@npmcli/node-gyp" "^1.0.1" - "@npmcli/run-script" "^1.8.2" - bin-links "^2.2.1" - cacache "^15.0.3" - common-ancestor-path "^1.0.1" - json-parse-even-better-errors "^2.3.1" - json-stringify-nice "^1.1.1" - mkdirp-infer-owner "^2.0.0" - npm-install-checks "^4.0.0" - npm-package-arg "^8.1.0" - npm-pick-manifest "^6.1.0" - npm-registry-fetch "^9.0.0" - pacote "^11.2.6" - parse-conflict-json "^1.1.1" - promise-all-reject-late "^1.0.0" - promise-call-limit "^1.0.1" - read-package-json-fast "^2.0.2" - readdir-scoped-modules "^1.1.0" - semver "^7.3.4" - tar "^6.1.0" - treeverse "^1.0.4" - walk-up-path "^1.0.0" - -"@npmcli/ci-detect@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" - integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== - -"@npmcli/git@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.6.tgz#47b97e96b2eede3f38379262fa3bdfa6eae57bf2" - integrity sha512-a1MnTfeRPBaKbFY07fd+6HugY1WAkKJzdiJvlRub/9o5xz2F/JtPacZZapx5zRJUQFIzSL677vmTSxEcDMrDbg== - dependencies: - "@npmcli/promise-spawn" "^1.1.0" - lru-cache "^6.0.0" - mkdirp "^1.0.3" - npm-pick-manifest "^6.0.0" - promise-inflight "^1.0.1" - promise-retry "^2.0.1" - semver "^7.3.2" - unique-filename "^1.1.1" - which "^2.0.2" - -"@npmcli/installed-package-contents@^1.0.6", "@npmcli/installed-package-contents@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" - integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== - dependencies: - npm-bundled "^1.1.1" - npm-normalize-package-bin "^1.0.1" - -"@npmcli/map-workspaces@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-1.0.3.tgz#6072a0794762cf8f572e6080fa66d1bbefa991d5" - integrity sha512-SdlRlOoQw4WKD4vtb/n5gUkobEABYBEOo8fRE4L8CtBkyWDSvIrReTfKvQ/Jc/LQqDaaZ5iv1iMSQzKCUr1n1A== - dependencies: - "@npmcli/name-from-folder" "^1.0.1" - glob "^7.1.6" - minimatch "^3.0.4" - read-package-json-fast "^2.0.1" - -"@npmcli/metavuln-calculator@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-1.1.0.tgz#61fbb8a70b618fee5a0ba818018b0476263e523e" - integrity sha512-fb51NyiWHjeqqFez9FXhvr+E2Dv4ZjPGVgnj8QC1xjHRSw4gMRIO8pNCzU11WYQ2wZxoHBhPMgovZGxP5lP74g== - dependencies: - cacache "^15.0.5" - pacote "^11.1.11" - semver "^7.3.2" - -"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@npmcli/name-from-folder@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" - integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== - -"@npmcli/node-gyp@^1.0.1", "@npmcli/node-gyp@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" - integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== - -"@npmcli/promise-spawn@^1.1.0", "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" - integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== - dependencies: - infer-owner "^1.0.4" - -"@npmcli/run-script@^1.8.2": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.4.tgz#03ced92503a6fe948cbc0975ce39210bc5e824d6" - integrity sha512-Yd9HXTtF1JGDXZw0+SOn+mWLYS0e7bHBHVC/2C8yqs4wUrs/k8rwBSinD7rfk+3WG/MFGRZKxjyoD34Pch2E/A== - dependencies: - "@npmcli/node-gyp" "^1.0.2" - "@npmcli/promise-spawn" "^1.3.2" - infer-owner "^1.0.4" - node-gyp "^7.1.0" - read-package-json-fast "^2.0.1" - "@oclif/command@^1.5.13", "@oclif/command@~1.5.19": version "1.5.19" resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.5.19.tgz#13f472450eb83bd6c6871a164c03eadb5e1a07ed" @@ -6108,22 +5992,13 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@6, agent-base@^6.0.2: +agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" -agentkeepalive@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" - integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== - dependencies: - debug "^4.1.0" - depd "^1.1.2" - humanize-ms "^1.2.1" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -6410,7 +6285,7 @@ archiver@^5.0.2: tar-stream "^2.1.4" zip-stream "^4.0.0" -are-we-there-yet@^1.1.5, are-we-there-yet@~1.1.2: +are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== @@ -6546,7 +6421,7 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: +asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -7156,18 +7031,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bin-links@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-2.2.1.tgz#347d9dbb48f7d60e6c11fe68b77a424bee14d61b" - integrity sha512-wFzVTqavpgCCYAh8SVBdnZdiQMxTkGR+T3b14CNpBXIBe2neJWaMGAZ55XWWHELJJ89dscuq0VCBqcVaIOgCMg== - dependencies: - cmd-shim "^4.0.1" - mkdirp "^1.0.3" - npm-normalize-package-bin "^1.0.0" - read-cmd-shim "^2.0.0" - rimraf "^3.0.0" - write-file-atomic "^3.0.3" - binary-extensions@^1.0.0: version "1.13.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1" @@ -7191,11 +7054,6 @@ binaryextensions@^2.1.2: resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== -binaryextensions@^4.15.0: - version "4.15.0" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz#c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e" - integrity sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw== - bindings@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" @@ -7769,11 +7627,6 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -7808,29 +7661,6 @@ cacache@^13.0.1: ssri "^7.0.0" unique-filename "^1.1.1" -cacache@^15.0.3, cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.0" - tar "^6.0.2" - unique-filename "^1.1.1" - cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -8506,13 +8336,6 @@ cls-hooked@^4.2.2: emitter-listener "^1.0.1" semver "^5.4.1" -cmd-shim@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" - integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw== - dependencies: - mkdirp-infer-owner "^2.0.0" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -8636,11 +8459,6 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" - integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== - commander@^2.18.0, commander@^2.20.0, commander@^2.7.1, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -8656,11 +8474,6 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -common-ancestor-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" - integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== - common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -9155,7 +8968,7 @@ cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^7.0.1, cross-spawn@^7.0.3: +cross-spawn@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -9521,11 +9334,6 @@ csstype@^2.5.7: resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.3.tgz#b701e5968245bf9b08d54ac83d00b624e622a9fa" integrity sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg== -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - cypress-plugin-tab@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/cypress-plugin-tab/-/cypress-plugin-tab-1.0.5.tgz#a40714148104004bb05ed62b1bf46bb544f8eb4a" @@ -10143,11 +9951,6 @@ dateformat@^3.0.3: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dateformat@^4.5.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.5.1.tgz#c20e7a9ca77d147906b6dc2261a8be0a5bd2173c" - integrity sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q== - dayjs@^1.10.3: version "1.10.4" resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2" @@ -10195,11 +9998,6 @@ debug@^4.0.0, debug@^4.3.0, debug@^4.3.1: dependencies: ms "2.1.2" -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= - decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -10334,7 +10132,7 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -depd@^1.1.2, depd@~1.1.2: +depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -10385,14 +10183,6 @@ detect-port-alt@1.1.6: address "^1.0.1" debug "^2.6.0" -dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= - dependencies: - asap "^2.0.0" - wrappy "1" - diagnostic-channel-publishers@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.4.1.tgz#a1147ee0d5a4a06cd2b0795433bc1aee1dbc9801" @@ -10435,11 +10225,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -10761,14 +10546,6 @@ editions@^2.2.0: errlop "^2.0.0" semver "^6.3.0" -editions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz#ba6c6cf9f4bb571d9e53ea34e771a602e5a66549" - integrity sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA== - dependencies: - errlop "^4.0.0" - version-range "^1.0.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -10930,13 +10707,6 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -encoding@^0.1.12: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.0.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -10989,21 +10759,11 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - errlop@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== -errlop@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b" - integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ== - errno@^0.1.3: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -11018,11 +10778,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/error/-/error-10.4.0.tgz#6fcf0fd64bceb1e750f8ed9a3dd880f00e46a487" - integrity sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw== - error@^7.0.2: version "7.2.1" resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" @@ -11196,7 +10951,7 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: +escape-string-regexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== @@ -11667,21 +11422,6 @@ execa@^4.0.2: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -12209,22 +11949,6 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root2@1.2.16: - version "1.2.16" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" - integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== - dependencies: - micromatch "^4.0.2" - pkg-dir "^4.2.0" - findup-sync@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" @@ -12522,7 +12246,7 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" -fs-minipass@^2.0.0, fs-minipass@^2.1.0: +fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -12710,11 +12434,6 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== - get-uri@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" @@ -13117,16 +12836,16 @@ graceful-fs@^4.1.4, graceful-fs@^4.2.4: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -graceful-fs@^4.1.5, graceful-fs@^4.2.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.2.3: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + graphlib@^2.1.7: version "2.1.7" resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz#b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc" @@ -13141,11 +12860,6 @@ grouped-queue@^1.1.0: dependencies: lodash "^4.17.15" -grouped-queue@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-2.0.0.tgz#a2c6713f2171e45db2c300a3a9d7c119d694dac8" - integrity sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw== - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -13414,13 +13128,6 @@ hosted-git-info@^3.0.5: dependencies: lru-cache "^6.0.0" -hosted-git-info@^3.0.6: - version "3.0.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -13585,7 +13292,7 @@ http-cache-semantics@3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: +http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== @@ -13636,15 +13343,6 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -13699,31 +13397,11 @@ https-proxy-agent@^3.0.1: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - husky@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" @@ -13817,13 +13495,6 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore-walk@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== - dependencies: - minimatch "^3.0.4" - ignore@^3.2.0, ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -14356,11 +14027,6 @@ is-installed-globally@^0.3.2: global-dirs "^2.0.1" is-path-inside "^3.0.1" -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= - is-my-ip-valid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" @@ -14535,13 +14201,6 @@ is-scoped@^1.0.0: dependencies: scoped-regex "^1.0.0" -is-scoped@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-2.1.0.tgz#fef0713772658bdf5bee418608267ddae6d3566d" - integrity sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ== - dependencies: - scoped-regex "^2.0.0" - is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -14714,15 +14373,6 @@ istextorbinary@^2.5.1: editions "^2.2.0" textextensions "^2.5.0" -istextorbinary@^5.7.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz#2f84777838668fdf524c305a2363d6057aaeec84" - integrity sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w== - dependencies: - binaryextensions "^4.15.0" - editions "^6.1.0" - textextensions "^5.11.0" - isurl@^1.0.0-alpha5: version "1.0.0" resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" @@ -15202,7 +14852,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.14.0, js-yaml@^3.5.1, js-yaml@^3.9.0: +js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.14.0, js-yaml@^3.5.1, js-yaml@^3.9.0: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -15292,11 +14942,6 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - json-ptr@~1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/json-ptr/-/json-ptr-1.3.2.tgz#17f45b322a843b1f2fbcc9b45132bd9b3ba8cd38" @@ -15372,11 +15017,6 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-nice@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.1.tgz#1377579345c9ac3b0d940c1928af348ff7b42f8b" - integrity sha512-aHOgcSoOLvmFZQMvZ27rFw68r4e9OlQtH7YEcF2u5amVYbF/D3cKBXKCvl5EGhQz2NwJZ6RPfgRX6yNQ+UBKJw== - json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -15446,7 +15086,7 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonparse@^1.2.0, jsonparse@^1.3.1: +jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= @@ -15500,16 +15140,6 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.0.3" object.assign "^4.1.0" -just-diff-apply@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-3.0.0.tgz#a77348d24f0694e378b57293dceb65bdf5a91c4f" - integrity sha512-K2MLc+ZC2DVxX4V61bIKPeMUUfj1YYZ3h0myhchDXOW1cKoPZMnjIoNCqv9bF2n5Oob1PFxuR2gVJxkxz4e58w== - -just-diff@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.0.2.tgz#65f4914e4d7500b364d12b7b3f03bcbacdac743b" - integrity sha512-+EiNvacECnZbszZa5IMjzrJ3dy2HKMXyGaNYWBnXy+iWW+437jIvQUrWaM9M+XI/6gOH8EjqvhGUOSh7ETekyg== - jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -15777,16 +15407,6 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" -load-yaml-file@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" - integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== - dependencies: - graceful-fs "^4.1.5" - js-yaml "^3.13.0" - pify "^4.0.1" - strip-bom "^3.0.0" - loader-fs-cache@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" @@ -15860,13 +15480,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - lock@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/lock/-/lock-0.1.4.tgz#fec7deaef17e7c3a0a55e1da042803e25d91745d" @@ -16197,27 +15810,6 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== -make-fetch-happen@^8.0.9: - version "8.0.14" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" - integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.0.5" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - promise-retry "^2.0.1" - socks-proxy-agent "^5.0.0" - ssri "^8.0.0" - makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -16411,21 +16003,6 @@ mem-fs-editor@^7.0.1: through2 "^3.0.2" vinyl "^2.2.1" -mem-fs-editor@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-8.0.0.tgz#cd8402fa009df302656422f71831ccd8e30319e7" - integrity sha512-0+6Zp44EmPpF01MZOlY0kt7JTndjdvALo4jA7Kk9GPCuqGzGnBmWtcE44Cwzj1aru57IN5/LKIWd1lIvaT6sKw== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^3.1.5" - globby "^11.0.1" - isbinaryfile "^4.0.0" - multimatch "^5.0.0" - normalize-path "^3.0.0" - through2 "^4.0.2" - vinyl "^2.2.1" - mem-fs@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.2.0.tgz#5f29b2d02a5875cd14cd836c388385892d556cde" @@ -16712,17 +16289,6 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a" - integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" @@ -16730,28 +16296,13 @@ minipass-flush@^1.0.5: dependencies: minipass "^3.0.0" -minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== - dependencies: - jsonparse "^1.3.1" - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: +minipass-pipeline@^1.2.2: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" @@ -16768,7 +16319,7 @@ minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: +minipass@^3.0.0, minipass@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== @@ -16789,7 +16340,7 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" -minizlib@^2.0.0, minizlib@^2.1.1: +minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -16813,15 +16364,6 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp-infer-owner@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" - integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== - dependencies: - chownr "^2.0.0" - infer-owner "^1.0.4" - mkdirp "^1.0.3" - mkdirp-then@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mkdirp-then/-/mkdirp-then-1.2.0.tgz#a492c879ca4d873f5ee45008f8f55fd0150de3c5" @@ -16929,11 +16471,6 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - msal@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/msal/-/msal-1.4.4.tgz#3f9b5a4442aa711c12ab8e88b8ed89b293f99711" @@ -17125,7 +16662,7 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== -node-gyp@^7.1.0, node-gyp@^7.1.2: +node-gyp@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== @@ -17365,13 +16902,6 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-bundled@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== - dependencies: - npm-normalize-package-bin "^1.0.1" - npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -17380,18 +16910,6 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" -npm-install-checks@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" - integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== - dependencies: - semver "^7.1.1" - -npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - npm-package-arg@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.2.1.tgz#593303fdea85f7c422775f17f9eb7670f680e3ec" @@ -17400,15 +16918,6 @@ npm-package-arg@^4.2.0: hosted-git-info "^2.1.5" semver "^5.1.0" -npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04" - integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== - dependencies: - hosted-git-info "^3.0.6" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - npm-packlist@^1.1.6: version "1.4.1" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" @@ -17417,16 +16926,6 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-packlist@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da" - integrity sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw== - dependencies: - glob "^7.1.6" - ignore-walk "^3.0.3" - npm-bundled "^1.1.1" - npm-normalize-package-bin "^1.0.1" - npm-path@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" @@ -17434,29 +16933,6 @@ npm-path@^2.0.2: dependencies: which "^1.2.10" -npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz#2befed87b0fce956790f62d32afb56d7539c022a" - integrity sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw== - dependencies: - npm-install-checks "^4.0.0" - npm-package-arg "^8.0.0" - semver "^7.0.0" - -npm-registry-fetch@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" - integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== - dependencies: - "@npmcli/ci-detect" "^1.0.0" - lru-cache "^6.0.0" - make-fetch-happen "^8.0.9" - minipass "^3.1.3" - minipass-fetch "^1.3.0" - minipass-json-stream "^1.0.1" - minizlib "^2.0.0" - npm-package-arg "^8.0.0" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -17464,7 +16940,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^4.0.0, npm-run-path@^4.0.1: +npm-run-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -17747,13 +17223,6 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - ono@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/ono/-/ono-6.0.1.tgz#1bc14ffb8af1e5db3f7397f75b88e4a2d64bbd71" @@ -17980,13 +17449,6 @@ p-limit@^2.2.0, p-limit@^2.3.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -18008,13 +17470,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -18032,13 +17487,6 @@ p-map@^3.0.0: dependencies: aggregate-error "^3.0.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-retry@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" @@ -18088,31 +17536,6 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pacote@^11.1.11, pacote@^11.2.6: - version "11.3.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.0.tgz#b2e16791a39cd4d9fb9fc1ec240cefe7ea518e6f" - integrity sha512-cygprcGpEVqvDzpuPMkGVXW/ooc2ibpoosuJ4YHcUXozDs9VJP7Vha+41pYppG2MVNis4t1BB8IygIBh7vVr2Q== - dependencies: - "@npmcli/git" "^2.0.1" - "@npmcli/installed-package-contents" "^1.0.6" - "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^1.8.2" - cacache "^15.0.5" - chownr "^2.0.0" - fs-minipass "^2.1.0" - infer-owner "^1.0.4" - minipass "^3.1.3" - mkdirp "^1.0.3" - npm-package-arg "^8.0.1" - npm-packlist "^2.1.4" - npm-pick-manifest "^6.0.0" - npm-registry-fetch "^9.0.0" - promise-retry "^2.0.1" - read-package-json-fast "^2.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.0" - paged-request@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/paged-request/-/paged-request-2.0.2.tgz#4d621a08b8d6bee4440a0a92112354eeece5b5b0" @@ -18161,15 +17584,6 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-conflict-json@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-1.1.1.tgz#54ec175bde0f2d70abf6be79e0e042290b86701b" - integrity sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw== - dependencies: - json-parse-even-better-errors "^2.3.0" - just-diff "^3.0.1" - just-diff-apply "^3.0.0" - parse-entities@^1.0.2, parse-entities@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" @@ -18451,14 +17865,6 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pipeline-pipe@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/pipeline-pipe/-/pipeline-pipe-0.1.5.tgz#01c4b4336a35d483a21f31f7e3a9c4cc5022f06c" - integrity sha512-HFub9yAfxEWBZZmsA12dWiFpg9+er8Sp7bpVwKP41AsAeO6570PVhU2Ckkt8fMnHBwm1edLLg2wIfpNGCDvI0Q== - dependencies: - cyclist "^1.0.1" - readable-stream "^3.6.0" - pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -19222,16 +18628,6 @@ postcss@^7.0.16, postcss@^7.0.17: source-map "^0.6.1" supports-color "^6.1.0" -preferred-pm@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/preferred-pm/-/preferred-pm-3.0.3.tgz#1b6338000371e3edbce52ef2e4f65eb2e73586d6" - integrity sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ== - dependencies: - find-up "^5.0.0" - find-yarn-workspace-root2 "1.2.16" - path-exists "^4.0.0" - which-pm "2.0.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -19274,11 +18670,6 @@ pretty-bytes@^5.2.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e" integrity sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA== -pretty-bytes@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - pretty-error@^2.0.2, pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -19372,16 +18763,6 @@ progress@^2.0.0, progress@^2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise-all-reject-late@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" - integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== - -promise-call-limit@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24" - integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q== - promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -19392,14 +18773,6 @@ promise-polyfill@^8.1.3: resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - promise@8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.2.tgz#9dcd0672192c589477d56891271bdc27547ae9f0" @@ -19911,11 +19284,6 @@ read-chunk@^3.2.0: pify "^4.0.1" with-open-file "^0.1.6" -read-cmd-shim@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9" - integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw== - read-config-file@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" @@ -19927,14 +19295,6 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" -read-package-json-fast@^2.0.1, read-package-json-fast@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e" - integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -20019,7 +19379,7 @@ readable-stream@1.1.x, "readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1 isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -20086,16 +19446,6 @@ readdir-glob@^1.0.0: dependencies: minimatch "^3.0.4" -readdir-scoped-modules@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -21009,11 +20359,6 @@ scoped-regex@^1.0.0: resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= -scoped-regex@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-2.1.0.tgz#7b9be845d81fd9d21d1ec97c61a0b7cf86d2015f" - integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== - seedrandom@~3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" @@ -21073,13 +20418,6 @@ semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - semver@^7.1.2, semver@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6" @@ -21320,11 +20658,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - simple-git@^1.85.0: version "1.107.0" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.107.0.tgz#12cffaf261c14d6f450f7fdb86c21ccee968b383" @@ -21383,11 +20716,6 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -21439,23 +20767,6 @@ sockjs@0.3.20: uuid "^3.4.0" websocket-driver "0.6.5" -socks-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" - integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== - dependencies: - agent-base "6" - debug "4" - socks "^2.3.3" - -socks@^2.3.3: - version "2.5.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.1.tgz#7720640b6b5ec9a07d556419203baa3f0596df5f" - integrity sha512-oZCsJJxapULAYJaEYBSzMcz8m3jqgGrHaGhkmU/o/PQfFWYWxkAaA0UMGImb6s6tEXfKi959X6VJjMMQ3P6TTQ== - dependencies: - ip "^1.1.5" - smart-buffer "^4.1.0" - sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" @@ -21679,13 +20990,6 @@ ssri@^7.0.0: figgy-pudding "^3.5.1" minipass "^3.1.1" -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -22328,7 +21632,7 @@ tar@^4.4.2: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.2, tar@^6.1.0: +tar@^6.0.2: version "6.1.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== @@ -22424,11 +21728,6 @@ textextensions@^2.5.0: resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== -textextensions@^5.11.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz#b908120b5c1bd4bb9eba41423d75b176011ab68a" - integrity sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w== - then-read-json@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/then-read-json/-/then-read-json-1.0.3.tgz#9a0fa4ccda5d77bb3489c7912908ccda4c4742e0" @@ -22498,13 +21797,6 @@ through2@^3.0.0, through2@^3.0.1, through2@^3.0.2: inherits "^2.0.4" readable-stream "2 || 3" -through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - through2@~0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" @@ -22692,11 +21984,6 @@ treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== -treeverse@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-1.0.4.tgz#a6b0ebf98a1bca6846ddc7ecbc900df08cb9cd5f" - integrity sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g== - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -23484,13 +22771,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - validate.io-array@^1.0.3: version "1.0.6" resolved "https://registry.yarnpkg.com/validate.io-array/-/validate.io-array-1.0.6.tgz#5b5a2cafd8f8b85abb2f886ba153f2d93a27774d" @@ -23550,18 +22830,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -version-compare@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz#7b3e67e7e6cec5c72d9c9e586f8854e419ade17c" - integrity sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ== - -version-range@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz#1c233064202ee742afc9d56e21da3b2e15260acf" - integrity sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w== - dependencies: - version-compare "^1.0.0" - very-fast-args@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/very-fast-args/-/very-fast-args-1.1.0.tgz#e16d1d1faf8a6e596a246421fd90a77963d0b396" @@ -23763,11 +23031,6 @@ wait-on@^5.2.0: minimist "^1.2.5" rxjs "^6.5.5" -walk-up-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" - integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== - walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -24126,14 +23389,6 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which-pm@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" - integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== - dependencies: - load-yaml-file "^0.2.0" - path-exists "^4.0.0" - which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -24410,7 +23665,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: +write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -24775,47 +24030,6 @@ yeoman-environment@^2.10.3, yeoman-environment@^2.9.5: untildify "^3.0.3" yeoman-generator "^4.8.2" -yeoman-environment@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-3.1.0.tgz#075adfc8ee3db51e1bd16a80dfebc283990fae07" - integrity sha512-5urqQgOloTf7HTvGGW9NbVCCoHDHy3UMMLlHvBf562S0rtfiWbb0r3XCKxhQ1ftVNX2nX430kM5xZRXg6mD33A== - dependencies: - "@npmcli/arborist" "^2.2.2" - are-we-there-yet "^1.1.5" - arrify "^2.0.1" - chalk "^4.1.0" - cli-table "^0.3.1" - commander "7.1.0" - dateformat "^4.5.0" - debug "^4.1.1" - diff "^5.0.0" - error "^10.4.0" - escape-string-regexp "^4.0.0" - execa "^5.0.0" - find-up "^5.0.0" - globby "^11.0.1" - grouped-queue "^2.0.0" - inquirer "^7.1.0" - is-scoped "^2.1.0" - istextorbinary "^5.7.0" - lodash "^4.17.10" - log-symbols "^4.0.0" - mem-fs "^1.1.0" - mem-fs-editor "^8.0.0" - minimatch "^3.0.4" - npmlog "^4.1.2" - pacote "^11.2.6" - pipeline-pipe "^0.1.5" - preferred-pm "^3.0.3" - pretty-bytes "^5.3.0" - read-chunk "^3.2.0" - semver "^7.1.3" - slash "^3.0.0" - strip-ansi "^6.0.0" - text-table "^0.2.0" - through2 "^4.0.2" - untildify "^4.0.0" - yeoman-generator@^4.8.2: version "4.13.0" resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-4.13.0.tgz#a6caeed8491fceea1f84f53e31795f25888b4672" @@ -24855,11 +24069,6 @@ yn@3.1.1, yn@^3.0.0: resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - yup@^0.26.10: version "0.26.10" resolved "https://registry.yarnpkg.com/yup/-/yup-0.26.10.tgz#3545839663289038faf25facfc07e11fd67c0cb1" From 8f47bf13f378cd87370d12cf4fcfceb31d818848 Mon Sep 17 00:00:00 2001 From: taicchoumsft <61705609+taicchoumsft@users.noreply.github.com> Date: Tue, 16 Mar 2021 19:34:25 -0400 Subject: [PATCH 12/41] Update bf-orchestrator to 4.12.0-beta.20210316.cdd0819 (#6435) Co-authored-by: Chris Whitten --- Composer/packages/server/package.json | 2 +- Composer/yarn.lock | 28 +++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Composer/packages/server/package.json b/Composer/packages/server/package.json index cab43e594e..85d2b63071 100644 --- a/Composer/packages/server/package.json +++ b/Composer/packages/server/package.json @@ -82,7 +82,7 @@ "@microsoft/bf-dispatcher": "^4.11.0-beta.20201016.393c6b2", "@microsoft/bf-generate-library": "^4.10.0-daily.20210225.217555", "@microsoft/bf-lu": "4.12.0-rc0", - "@microsoft/bf-orchestrator": "4.12.0-beta.20210218.668cdac", + "@microsoft/bf-orchestrator": "4.12.0-beta.20210316.cdd0819", "applicationinsights": "^1.8.7", "archiver": "^5.0.2", "axios": "^0.21.1", diff --git a/Composer/yarn.lock b/Composer/yarn.lock index 3321a0c881..bbe9f76e9c 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -3947,10 +3947,10 @@ tslib "^2.0.3" xml2js "^0.4.19" -"@microsoft/bf-dispatcher@4.12.0-beta.20210218.668cdac": - version "4.12.0-beta.20210218.668cdac" - resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.12.0-beta.20210218.668cdac.tgz#17188e85bd0fe14bf1986f6ae5d13249d57ffa12" - integrity sha512-kJYdLgMB50tUoxrDUOMfZ2tuJZirga43KJh05RZoPM3lG7DD3GIVlU4fjUtw1juXjDoEIXB867WVe2XefHi9og== +"@microsoft/bf-dispatcher@4.12.0-beta.20210316.cdd0819": + version "4.12.0-beta.20210316.cdd0819" + resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.12.0-beta.20210316.cdd0819.tgz#454a612d4e17edc964675259be84ccc1c51425b4" + integrity sha512-TzkkoUTIITiBjwB8+UIjle9PCRJH8jolczOTEQszCDB3t7twfs54tLXzTmNVBS/bP9EAgZ+TY4xzd8IhoK/XdQ== dependencies: "@microsoft/bf-lu" next "@oclif/command" "~1.5.19" @@ -4057,19 +4057,19 @@ semver "^5.5.1" tslib "^2.0.3" -"@microsoft/bf-orchestrator@4.12.0-beta.20210218.668cdac": - version "4.12.0-beta.20210218.668cdac" - resolved "https://registry.yarnpkg.com/@microsoft/bf-orchestrator/-/bf-orchestrator-4.12.0-beta.20210218.668cdac.tgz#427cd984402e17f7247646a22b7ba70a81702d8d" - integrity sha512-eklhuBPL2Qm3ETWew8A1B3C69zJ0KiTnhXdSKVvDs8VFm7w2Ks6HDOUUYb9UsMqWzBYKTO5Y2YNYfaG4rPQq2g== +"@microsoft/bf-orchestrator@4.12.0-beta.20210316.cdd0819": + version "4.12.0-beta.20210316.cdd0819" + resolved "https://registry.yarnpkg.com/@microsoft/bf-orchestrator/-/bf-orchestrator-4.12.0-beta.20210316.cdd0819.tgz#1869942269909759eb81e8ce9a538019392c2def" + integrity sha512-1jIYXtw+x6mm7cM0iCunf/hM7d+xrI5D3UnVMUrILK8t2oByuLyj7NUyt7oSrSmlAwhEAtYGJ/5xpdqdIxKw0Q== dependencies: - "@microsoft/bf-dispatcher" "4.12.0-beta.20210218.668cdac" + "@microsoft/bf-dispatcher" "4.12.0-beta.20210316.cdd0819" "@microsoft/bf-lu" next "@types/fs-extra" "~8.1.0" "@types/node-fetch" "~2.5.5" fast-text-encoding "^1.0.3" fs-extra "~9.0.0" node-fetch "~2.6.0" - orchestrator-core "4.12.0-preview" + orchestrator-core beta read-text-file "~1.1.0" tslib "^1.10.0" unzip-stream "^0.3.1" @@ -17309,10 +17309,10 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -orchestrator-core@4.12.0-preview: - version "4.12.0-preview" - resolved "https://registry.yarnpkg.com/orchestrator-core/-/orchestrator-core-4.12.0-preview.tgz#e16703ff0fe45a96cd7b637fcec7697448584a36" - integrity sha512-RHQM5UK7xZuV9eN+NJKv/iGKBeQ/Pvxkki1j2Bgm1pq845Icor51MrlJKmAeJSIVxIUY0r4JBBNulLfq3I4UPA== +orchestrator-core@beta: + version "4.13.0-dev.20210314.2955922h" + resolved "https://registry.yarnpkg.com/orchestrator-core/-/orchestrator-core-4.13.0-dev.20210314.2955922h.tgz#e0ee7852f8654bc72ad7eb10114617a5287cbd7c" + integrity sha512-pNyUPjjXc0GuRFYZXvlcicCdipsJCmaCNFmHB3ogYEZo48JW+nCC6Nul1FEZAFeZIDTKZcyBrYg0pY2pCKR+4Q== dependencies: bindings "1.2.1" node-addon-api "^3.0.0" From cd026f86351d5b15de21032b4944424786c05ea4 Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Tue, 16 Mar 2021 15:59:01 -0700 Subject: [PATCH 13/41] fix: make CSS show triangles in project tree (#6428) Co-authored-by: Andy Brown --- .../components/ProjectTree/ExpandableNode.tsx | 49 +++--- .../src/components/ProjectTree/treeItem.tsx | 141 ++++++++++-------- 2 files changed, 93 insertions(+), 97 deletions(-) diff --git a/Composer/packages/client/src/components/ProjectTree/ExpandableNode.tsx b/Composer/packages/client/src/components/ProjectTree/ExpandableNode.tsx index ec293483c8..62b306202b 100644 --- a/Composer/packages/client/src/components/ProjectTree/ExpandableNode.tsx +++ b/Composer/packages/client/src/components/ProjectTree/ExpandableNode.tsx @@ -18,35 +18,22 @@ type Props = { isActive?: boolean; }; -const summaryStyle = (depth: number, isActive: boolean) => css` +const summaryStyle = (depth: number, isActive: boolean, isOpen: boolean) => css` label: summary; - display: flex; padding-left: ${depth * INDENT_PER_LEVEL + 12}px; padding-top: 6px; + display: list-item; :hover { background: ${isActive ? NeutralColors.gray40 : NeutralColors.gray20}; } background: ${isActive ? NeutralColors.gray30 : NeutralColors.white}; + ${isOpen ? 'list-style-type: "⏷";' : 'list-style-type: "⏵";'} `; const nodeStyle = css` margin-top: 2px; `; -const TRIANGLE_SCALE = 0.6; - -const detailsStyle = css` - &:not([open]) > summary::-webkit-details-marker { - transform: scaleX(${TRIANGLE_SCALE}); - min-width: 10px; - } - - &[open] > summary::-webkit-details-marker { - transform: scaleY(${TRIANGLE_SCALE}); - min-width: 10px; - } -`; - export const ExpandableNode = ({ children, summary, @@ -75,21 +62,19 @@ export const ExpandableNode = ({ } return ( -
-
- {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex */} - - {summary} - - {children} -
-
+
+ {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex */} + + {summary} + + {children} +
); }; diff --git a/Composer/packages/client/src/components/ProjectTree/treeItem.tsx b/Composer/packages/client/src/components/ProjectTree/treeItem.tsx index 0d7816172d..aeeedc8e17 100644 --- a/Composer/packages/client/src/components/ProjectTree/treeItem.tsx +++ b/Composer/packages/client/src/components/ProjectTree/treeItem.tsx @@ -88,41 +88,53 @@ export const moreButton = (isActive: boolean): IButtonStyles => { }; }; -const navContainer = (isAnyMenuOpen: boolean, isActive: boolean, menuOpenHere: boolean, textWidth: number) => css` +const navContainer = ( + isAnyMenuOpen: boolean, + isActive: boolean, + menuOpenHere: boolean, + textWidth: number, + isBroken: boolean, + padLeft: number, + marginLeft: number +) => css` ${isAnyMenuOpen ? '' - : `&:hover { - background: ${isActive ? NeutralColors.gray40 : NeutralColors.gray20}; + : ` + &:hover { + background: ${isActive ? NeutralColors.gray40 : NeutralColors.gray20}; + + .dialog-more-btn { + visibility: visible; + } + .action-btn { + visibility: visible; + } + .treeItem-text { + max-width: ${textWidth}px; + } + }`}; - .dialog-more-btn { - visibility: visible; - } - .action-btn { - visibility: visible; - } - .treeItem-text { - max-width: ${textWidth}px; - } - }`}; background: ${isActive ? NeutralColors.gray30 : menuOpenHere ? '#f2f2f2' : 'transparent'}; -`; -const navItem = (isBroken: boolean, padLeft: number, marginLeft: number, isActive: boolean) => css` + display: inline-flex; + flex-direction: row; + label: navItem; - position: relative; + height: 24px; font-size: 12px; padding-left: ${padLeft}px; margin-left: ${marginLeft}px; + min-width: calc(100% - ${padLeft + 24}px); opacity: ${isBroken ? 0.5 : 1}; - display: flex; - flex-direction: row; align-items: center; + position: relative; + top: -4px; + :hover { background: ${isActive ? NeutralColors.gray40 : NeutralColors.gray20}; } - background: ${isActive ? NeutralColors.gray30 : NeutralColors.white}; &:focus { outline: none; @@ -155,7 +167,7 @@ export const overflowSet = (isBroken: boolean) => css` height: 100%; box-sizing: border-box; justify-content: space-between; - display: flex; + display: inline-flex; i { color: ${isBroken ? SharedColors.red20 : 'inherit'}; } @@ -496,57 +508,56 @@ export const TreeItem: React.FC = ({ return (
-
{ + data-testid={a11yLabel} + role="treeitem" + tabIndex={0} + onClick={() => { + onSelect?.(link); + }} + onKeyDown={(e) => { + if (e.key === 'Enter') { onSelect?.(link); - }} - onKeyDown={(e) => { - if (e.key === 'Enter') { - onSelect?.(link); - } - }} - > -
- -
+ } + }} + > +
+
); }; From c40ecb07a2a25535b6364bc40f0c38bcdae30521 Mon Sep 17 00:00:00 2001 From: Christiano Donke Date: Tue, 16 Mar 2021 15:26:14 -0300 Subject: [PATCH 14/41] feat: Implement layout to errorCallout (#6396) * implement layout to errorCallout * Fix linting issues Co-authored-by: Andy Brown --- .../BotRuntimeController/errorCallout.tsx | 96 ++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/Composer/packages/client/src/components/BotRuntimeController/errorCallout.tsx b/Composer/packages/client/src/components/BotRuntimeController/errorCallout.tsx index eb837af86f..e68ae8f4d6 100644 --- a/Composer/packages/client/src/components/BotRuntimeController/errorCallout.tsx +++ b/Composer/packages/client/src/components/BotRuntimeController/errorCallout.tsx @@ -32,6 +32,25 @@ const calloutLink = css` margin-bottom: 24px; `; +const descriptionLabel = css` + font-weight: bold; + text-transform: capitalize; +`; + +const descriptionText = css` + margin-left: 15px; + margin-bottom: 10px; +`; + +const descriptionLongText = css` + overflow: auto; + font-size: small; +`; +const descriptionShow = css``; +const descriptionHide = css` + display: none; +`; + // -------------------- ErrorCallout -------------------- // export interface IErrorCalloutProps { @@ -47,8 +66,83 @@ export interface IErrorCalloutProps { }; } +interface IErrorMessage { + key: string; + value: any; + isPre: boolean; + visible: boolean; + order: number; +} + +interface IField { + visible?: boolean; + name: string; + index?: number; +} + +const fieldsWhiteList = new Map(); +fieldsWhiteList.set('message', { visible: true, name: 'Message', index: 1 }); +fieldsWhiteList.set('stack', { visible: true, name: 'Stack Trace', index: 3 }); +fieldsWhiteList.set('stdout', { visible: true, name: 'Output', index: 4 }); +fieldsWhiteList.set('cmd', { visible: true, name: 'Command', index: 2 }); +fieldsWhiteList.set('killed', { visible: false, name: 'killed' }); +fieldsWhiteList.set('code', { visible: false, name: 'code' }); +fieldsWhiteList.set('signal', { visible: false, name: 'signal' }); +fieldsWhiteList.set('stderr', { visible: false, name: 'stderr' }); + export const ErrorCallout: React.FC = (props) => { const { onDismiss, onTry, target, visible, error } = props; + + const convertToJson = function (item): any { + if (typeof item === 'object') { + return item; + } + + try { + return JSON.parse(item); + } catch (e) { + return null; + } + }; + const parseObject = function (map): IErrorMessage[] { + return Object.keys(map) + .map((k) => { + const field: IField = fieldsWhiteList.get(k) || { visible: true, name: k }; + + return { + key: field.name, + value: map[k], + order: field.index || 1000, + isPre: map[k] != null && typeof map[k] == 'string' && map[k].length >= 75 && map[k].indexOf('\n') != -1, + visible: + field.visible || + (map[k] != null && ((typeof map[k] == 'string' && map[k].trim() != '') || typeof map[k] != 'string')), + }; + }) + .sort((left, right) => { + return left.order - right.order; + }); + }; + const renderRow = function (obj: IErrorMessage) { + return ( +
+
{obj.key}:
+
{obj.isPre ?
{obj.value}
: obj.value}
+
+ ); + }; + + const buildErrorMessage = (error) => { + const jsonObj = convertToJson(error.message); + if (jsonObj === null) { + return error.message + ' '; + } else { + const parsed = parseObject(jsonObj); + + return
{parsed.map(renderRow)}
; + } + }; + return ( = (props) => { {error.title}

- {error.message + ' '} + {buildErrorMessage(error)} {error.linkAfterMessage != null && ( {error.linkAfterMessage.text} From 3ae8aaaab860ff1765db6e5c390331d0c3e71c32 Mon Sep 17 00:00:00 2001 From: pavolum Date: Tue, 16 Mar 2021 21:16:18 -0400 Subject: [PATCH 15/41] fis: change feature flag text (#6438) Co-authored-by: Patrick Volum --- Composer/packages/lib/shared/src/featureFlagUtils/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Composer/packages/lib/shared/src/featureFlagUtils/index.ts b/Composer/packages/lib/shared/src/featureFlagUtils/index.ts index eeacc0cca5..98937c2131 100644 --- a/Composer/packages/lib/shared/src/featureFlagUtils/index.ts +++ b/Composer/packages/lib/shared/src/featureFlagUtils/index.ts @@ -6,9 +6,9 @@ import { FeatureFlagMap } from '@botframework-composer/types'; export const getDefaultFeatureFlags = (): FeatureFlagMap => ({ NEW_CREATION_FLOW: { - displayName: formatMessage('The Component Model'), + displayName: formatMessage('New Creation Experience'), description: formatMessage( - 'Enable the Component Model including the new creation experience, the Adaptive Runtime, and Package Manager.' + 'Preview the new bot creation experience. Create new bots that use the Adaptive Runtime, and can be enhanced using Package Manager.' ), isHidden: false, enabled: false, From 8a115bcfe5c737ee5f0d620bbcaa70367cd2f428 Mon Sep 17 00:00:00 2001 From: Dong Lei Date: Wed, 17 Mar 2021 09:10:49 +0000 Subject: [PATCH 16/41] feat: update runtime package to 4.12.1 (#6441) * Update to 4.12.1 * update schema Co-authored-by: Lu Han <32191031+luhan2017@users.noreply.github.com> --- Composer/packages/server/schemas/sdk.schema | 240 +- ...oft.BotFramework.Composer.Functions.csproj | 24 +- ...rosoft.BotFramework.Composer.WebApp.csproj | 24 +- runtime/dotnet/azurewebapp/Schemas/sdk.schema | 2295 +++++++++-------- .../dotnet/azurewebapp/Schemas/sdk.uischema | 978 +++++-- ...icrosoft.BotFramework.Composer.Core.csproj | 26 +- ....BotFramework.Composer.CustomAction.csproj | 2 +- 7 files changed, 2219 insertions(+), 1370 deletions(-) diff --git a/Composer/packages/server/schemas/sdk.schema b/Composer/packages/server/schemas/sdk.schema index fbedab86cc..c15b9c0b8e 100644 --- a/Composer/packages/server/schemas/sdk.schema +++ b/Composer/packages/server/schemas/sdk.schema @@ -346,7 +346,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -382,7 +382,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -479,7 +479,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -519,7 +519,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -599,7 +599,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "type": "object", "required": [ @@ -791,7 +791,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -885,7 +885,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1007,7 +1007,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -1054,7 +1054,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1121,7 +1121,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1187,7 +1187,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1227,7 +1227,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1583,7 +1583,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -1633,7 +1633,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1932,7 +1932,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1970,7 +1970,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2044,7 +2044,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2107,7 +2107,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2155,7 +2155,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2203,7 +2203,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2240,7 +2240,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2286,7 +2286,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2453,7 +2453,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2504,7 +2504,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2560,7 +2560,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2618,7 +2618,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2670,7 +2670,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2709,7 +2709,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2787,7 +2787,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2875,7 +2875,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2913,7 +2913,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3005,7 +3005,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3061,7 +3061,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3108,7 +3108,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3146,7 +3146,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3223,7 +3223,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3302,7 +3302,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3365,7 +3365,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3420,7 +3420,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3482,7 +3482,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3534,7 +3534,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3571,7 +3571,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3610,7 +3610,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3748,7 +3748,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.0" + "version": "4.12.1" } }, "Microsoft.IDialog": { @@ -3906,7 +3906,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.0" + "version": "4.12.1" } }, "Microsoft.IEntityRecognizer": { @@ -3916,7 +3916,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "oneOf": [ { @@ -3997,7 +3997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" } }, "Microsoft.IRecognizer": { @@ -4086,7 +4086,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.0" + "version": "4.12.1" } }, "Microsoft.ITextTemplate": { @@ -4103,7 +4103,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.0" + "version": "4.12.1" } }, "Microsoft.ITrigger": { @@ -4112,7 +4112,7 @@ "description": "Components which derive from OnCondition class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "oneOf": [ { @@ -4209,7 +4209,7 @@ "description": "Components which derive from TriggerSelector class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "oneOf": [ { @@ -4245,7 +4245,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -4313,7 +4313,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4457,7 +4457,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4490,7 +4490,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4537,7 +4537,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -4604,7 +4604,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.Luis", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -4745,7 +4745,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4779,7 +4779,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4821,7 +4821,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -4876,7 +4876,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4916,7 +4916,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5093,7 +5093,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5134,7 +5134,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5274,7 +5274,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5344,7 +5344,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5427,7 +5427,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5495,7 +5495,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5563,7 +5563,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5649,7 +5649,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5723,7 +5723,7 @@ "description": "Actions to take when there are multiple possible mappings of entities to properties and operations.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "type": "object", "required": [ @@ -5792,7 +5792,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5860,7 +5860,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5928,7 +5928,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5997,7 +5997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6066,7 +6066,7 @@ "description": "Actions to take when there are no more actions in the current dialog.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "type": "object", "required": [ @@ -6141,7 +6141,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6206,7 +6206,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -6277,7 +6277,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6345,7 +6345,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6413,7 +6413,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6481,7 +6481,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6564,7 +6564,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6632,7 +6632,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6700,7 +6700,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6768,7 +6768,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6836,7 +6836,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6904,7 +6904,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6969,7 +6969,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7040,7 +7040,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7108,7 +7108,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7173,7 +7173,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7210,7 +7210,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7247,7 +7247,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7287,7 +7287,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7452,7 +7452,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7635,7 +7635,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7678,7 +7678,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7731,7 +7731,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7772,7 +7772,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7845,7 +7845,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7919,7 +7919,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8000,7 +8000,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8050,7 +8050,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8100,7 +8100,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8148,7 +8148,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8228,7 +8228,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8291,7 +8291,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8354,7 +8354,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8397,7 +8397,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8503,7 +8503,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8567,7 +8567,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8601,7 +8601,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8646,7 +8646,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8820,7 +8820,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8863,7 +8863,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8912,7 +8912,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8980,7 +8980,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9014,7 +9014,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9079,7 +9079,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.0" + "version": "4.12.1" }, "required": [ "$kind" diff --git a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj index 286bf64af4..39e33f99d5 100644 --- a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj +++ b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj @@ -13,18 +13,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj index e4229ebcbd..bc0141152c 100644 --- a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj +++ b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj @@ -17,18 +17,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + all diff --git a/runtime/dotnet/azurewebapp/Schemas/sdk.schema b/runtime/dotnet/azurewebapp/Schemas/sdk.schema index f43be3014a..c15b9c0b8e 100644 --- a/runtime/dotnet/azurewebapp/Schemas/sdk.schema +++ b/runtime/dotnet/azurewebapp/Schemas/sdk.schema @@ -49,6 +49,9 @@ { "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.ContinueConversation" + }, { "$ref": "#/definitions/Microsoft.ContinueConversationLater" }, @@ -115,6 +118,9 @@ { "$ref": "#/definitions/Microsoft.GetConversationMembers" }, + { + "$ref": "#/definitions/Microsoft.GetConversationReference" + }, { "$ref": "#/definitions/Microsoft.GotoAction" }, @@ -280,6 +286,9 @@ { "$ref": "#/definitions/Microsoft.SendActivity" }, + { + "$ref": "#/definitions/Microsoft.SendHandoffActivity" + }, { "$ref": "#/definitions/Microsoft.SetProperties" }, @@ -296,7 +305,7 @@ "$ref": "#/definitions/Microsoft.SwitchCondition" }, { - "$ref": "#/definitions/Microsoft.TelemetryTrackEvent" + "$ref": "#/definitions/Microsoft.TelemetryTrackEventAction" }, { "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" @@ -337,7 +346,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -373,7 +382,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -437,239 +446,7 @@ "description": "Schema to fill in.", "anyOf": [ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - } - }, - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "simpleTypes": { - "enum": [ - "array", - "boolean", - "integer", - "null", - "number", - "object", - "string" - ] - }, - "stringArray": { - "type": "array", - "uniqueItems": true, - "default": [], - "items": { - "type": "string" - } - } - }, - "type": [ - "object", - "boolean" - ], - "properties": { - "$schema": { - "type": "string", - "format": "uri" - }, - "$ref": { - "type": "string", - "format": "uri-reference" - }, - "$comment": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": true, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "examples": { - "type": "array", - "items": true - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" - }, - "minLength": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" - }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "items": { - "anyOf": [ - { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" - } - ], - "default": true - }, - "maxItems": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" - }, - "minItems": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" - }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "contains": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "maxProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" - }, - "minProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" - }, - "required": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" - }, - "additionalProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "definitions": { - "type": "object", - "default": {}, - "additionalProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - } - }, - "properties": { - "type": "object", - "default": {}, - "additionalProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - } - }, - "patternProperties": { - "type": "object", - "propertyNames": { - "format": "regex" - }, - "default": {}, - "additionalProperties": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - } - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" - } - ] - } - }, - "propertyNames": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "const": true, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": true - }, - "type": { - "anyOf": [ - { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" - }, - { - "type": "array", - "items": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" - }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "format": { - "type": "string" - }, - "contentMediaType": { - "type": "string" - }, - "contentEncoding": { - "type": "string" - }, - "if": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "then": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "else": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - }, - "allOf": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" - }, - "anyOf": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" - }, - "oneOf": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" - }, - "not": { - "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" - } - }, - "default": true + "$ref": "#/definitions/schema" }, { "type": "string", @@ -702,7 +479,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -737,9 +514,12 @@ "title": "Send activity to ask a question", "description": "This is an action which sends an activity to the user when a response is expected", "type": "object", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -814,9 +594,12 @@ ], "title": "Attachment input dialog", "description": "Collect information - Ask for a file or image.", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "type": "object", "required": [ @@ -836,7 +619,7 @@ "description": "'Property' will be set to the object or the result of this expression when max turn count is exceeded.", "oneOf": [ { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "$ref": "#/definitions/botframework.json/definitions/Attachment", "title": "Object", "description": "Attachment object." }, @@ -851,7 +634,7 @@ "description": "'Property' will be set to the object or the result of this expression unless it evaluates to null.", "oneOf": [ { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "$ref": "#/definitions/botframework.json/definitions/Attachment", "title": "Object", "description": "Attachment object." }, @@ -936,6 +719,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -1006,7 +791,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1100,7 +885,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1217,9 +1002,12 @@ "required": [ "$kind" ], + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -1261,9 +1049,12 @@ "title": "Cancel all dialogs", "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", "type": "object", + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1325,9 +1116,12 @@ "title": "Cancel all dialogs", "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", "type": "object", + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1393,7 +1187,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1428,9 +1222,12 @@ "title": "Choice input dialog", "description": "Collect information - Pick from a list of choices", "type": "object", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1516,7 +1313,7 @@ "description": "Value to return when this choice is selected." }, "action": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "$ref": "#/definitions/botframework.json/definitions/CardAction", "title": "Action", "description": "Card action for the choice." }, @@ -1708,6 +1505,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -1784,7 +1583,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -1829,9 +1628,12 @@ "title": "Confirm input dialog", "description": "Collect information - Ask for confirmation (yes or no).", "type": "object", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -1976,7 +1778,7 @@ "description": "Value to return when this choice is selected." }, "action": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "$ref": "#/definitions/botframework.json/definitions/CardAction", "title": "Action", "description": "Card action for the choice." }, @@ -2055,6 +1857,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -2128,7 +1932,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2155,19 +1959,92 @@ } } }, + "Microsoft.ContinueConversation": { + "$role": "implements(Microsoft.IDialog)", + "title": "Continue conversation (Queue)", + "description": "Continue a specific conversation (via StorageQueue implementation).", + "type": "object", + "required": [ + "conversationReference", + "$kind" + ], + "$package": { + "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", + "version": "4.12.1" + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "conversationReference": { + "$ref": "#/definitions/objectExpression", + "title": "Conversation Reference", + "description": "A conversation reference. (NOTE: Minimum required values or channelId, conversation).", + "examples": [ + { + "channelId": "skype", + "serviceUrl": "http://smba.skype.com", + "conversation": { + "id": "11111" + }, + "bot": { + "id": "22222" + }, + "user": { + "id": "33333" + }, + "locale": "en-us" + } + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "Value to send in the activity.value." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ContinueConversation" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, "Microsoft.ContinueConversationLater": { "$role": "implements(Microsoft.IDialog)", "title": "Continue conversation later (Queue)", - "description": "Continue conversation at later time (via Azure Storage Queue).", + "description": "Continue conversation at later time (via StorageQueue implementation).", "type": "object", "required": [ "date", - "connectionString", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2225,9 +2102,12 @@ "required": [ "$kind" ], + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2275,7 +2155,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2323,7 +2203,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2360,7 +2240,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2401,9 +2281,12 @@ "description": "Default locale.", "default": "en-us" }, + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2498,6 +2381,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -2568,7 +2453,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2619,7 +2504,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2639,7 +2524,7 @@ "title": "ActivityId", "description": "expression to an activityId to delete", "examples": [ - "=$lastActivity" + "=turn.lastresult.id" ] }, "disabled": { @@ -2675,7 +2560,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2733,7 +2618,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2785,7 +2670,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -2824,7 +2709,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2902,7 +2787,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -2990,7 +2875,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3028,7 +2913,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3115,9 +3000,12 @@ "title": "End dialog", "description": "End this dialog.", "type": "object", + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3173,7 +3061,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3220,7 +3108,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3254,12 +3142,11 @@ "type": "object", "required": [ "itemsProperty", - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3332,12 +3219,11 @@ "type": "object", "required": [ "itemsProperty", - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3416,7 +3302,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3447,7 +3333,7 @@ "title": "Activity Id", "description": "Activity ID or expression to an activityId to use to get the members. If none is defined then the current activity id will be used.", "examples": [ - "$lastActivity" + "turn.lastresult.id" ] }, "disabled": { @@ -3479,7 +3365,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3527,6 +3413,61 @@ } } }, + "Microsoft.GetConversationReference": { + "$role": "implements(Microsoft.IDialog)", + "title": "Get ConversationReference", + "description": "Gets the ConversationReference from current context and stores it in property so it can be used to with ContinueConversation action.", + "type": "object", + "$package": { + "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", + "version": "4.12.1" + }, + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GetConversationReference" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, "Microsoft.GotoAction": { "$role": "implements(Microsoft.IDialog)", "title": "Go to action", @@ -3536,9 +3477,12 @@ "actionId", "$kind" ], + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3590,7 +3534,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3627,7 +3571,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -3666,7 +3610,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -3787,527 +3731,24 @@ "$role": "interface", "oneOf": [ { - "type": "string" + "$ref": "#/definitions/Microsoft.ActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.StaticActivityTemplate" }, { + "$ref": "#/definitions/botframework.json/definitions/Activity", "required": [ "type" - ], - "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", - "title": "Activity", - "type": "object", - "properties": { - "type": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - }, - "id": { - "description": "Contains an ID that uniquely identifies the activity on the channel.", - "type": "string", - "title": "id" - }, - "timestamp": { - "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", - "type": "string", - "format": "date-time", - "title": "timestamp" - }, - "localTimestamp": { - "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", - "type": "string", - "format": "date-time", - "title": "localTimestamp" - }, - "localTimezone": { - "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", - "type": "string", - "title": "localTimezone" - }, - "serviceUrl": { - "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", - "type": "string", - "title": "serviceUrl" - }, - "channelId": { - "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", - "type": "string", - "title": "channelId" - }, - "from": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", - "description": "Identifies the sender of the message.", - "title": "from" - }, - "conversation": { - "description": "Identifies the conversation to which the activity belongs.", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "recipient": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", - "description": "Identifies the recipient of the message.", - "title": "recipient" - }, - "textFormat": { - "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", - "type": "string", - "title": "textFormat" - }, - "attachmentLayout": { - "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", - "type": "string", - "title": "attachmentLayout" - }, - "membersAdded": { - "description": "The collection of members added to the conversation.", - "type": "array", - "title": "membersAdded", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "membersRemoved": { - "description": "The collection of members removed from the conversation.", - "type": "array", - "title": "membersRemoved", - "items": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items" - } - }, - "reactionsAdded": { - "description": "The collection of reactions added to the conversation.", - "type": "array", - "title": "reactionsAdded", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "reactionsRemoved": { - "description": "The collection of reactions removed from the conversation.", - "type": "array", - "title": "reactionsRemoved", - "items": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/reactionsAdded/items" - } - }, - "topicName": { - "description": "The updated topic name of the conversation.", - "type": "string", - "title": "topicName" - }, - "historyDisclosed": { - "description": "Indicates whether the prior history of the channel is disclosed.", - "type": "boolean", - "title": "historyDisclosed" - }, - "locale": { - "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", - "type": "string", - "title": "locale" - }, - "text": { - "description": "The text content of the message.", - "type": "string", - "title": "text" - }, - "speak": { - "description": "The text to speak.", - "type": "string", - "title": "speak" - }, - "inputHint": { - "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", - "type": "string", - "title": "inputHint" - }, - "summary": { - "description": "The text to display if the channel cannot render cards.", - "type": "string", - "title": "summary" - }, - "suggestedActions": { - "description": "The suggested actions for the activity.", - "title": "suggestedActions", - "type": "object", - "required": [ - "actions", - "to" - ], - "properties": { - "to": { - "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", - "type": "array", - "title": "to", - "items": { - "title": "Id", - "description": "Id of recipient.", - "type": "string" - } - }, - "actions": { - "description": "Actions that can be shown to the user", - "type": "array", - "title": "actions", - "items": { - "description": "A clickable action", - "title": "CardAction", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - } - } - } - }, - "attachments": { - "description": "Attachments", - "type": "array", - "title": "attachments", - "items": { - "description": "An attachment within an activity", - "title": "Attachment", - "type": "object", - "required": [ - "contentType" - ], - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "type": "object", - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - } - } - }, - "entities": { - "description": "Represents the entities that were mentioned in the message.", - "type": "array", - "title": "entities", - "items": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - }, - "channelData": { - "description": "Contains channel-specific content.", - "title": "channelData" - }, - "action": { - "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", - "type": "string", - "title": "action" - }, - "replyToId": { - "description": "Contains the ID of the message to which this message is a reply.", - "type": "string", - "title": "replyToId" - }, - "label": { - "description": "A descriptive label for the activity.", - "type": "string", - "title": "label" - }, - "valueType": { - "description": "The type of the activity's value object.", - "type": "string", - "title": "valueType" - }, - "value": { - "description": "A value that is associated with the activity.", - "title": "value" - }, - "name": { - "description": "The name of the operation associated with an invoke or event activity.", - "type": "string", - "title": "name" - }, - "relatesTo": { - "description": "A reference to another conversation or activity.", - "title": "relatesTo", - "type": "object", - "required": [ - "bot", - "channelId", - "conversation", - "serviceUrl" - ], - "properties": { - "activityId": { - "description": "(Optional) ID of the activity to refer to", - "type": "string", - "title": "activityId" - }, - "user": { - "description": "(Optional) User participating in this conversation", - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", - "title": "user" - }, - "bot": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", - "description": "Bot participating in this conversation", - "title": "bot" - }, - "conversation": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/conversation", - "description": "Conversation reference", - "title": "conversation" - }, - "channelId": { - "description": "Channel ID", - "type": "string", - "title": "channelId" - }, - "serviceUrl": { - "description": "Service endpoint where operations concerning the referenced conversation may be performed", - "type": "string", - "title": "serviceUrl" - } - } - }, - "code": { - "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", - "type": "string", - "title": "code" - }, - "expiration": { - "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", - "type": "string", - "format": "date-time", - "title": "expiration" - }, - "importance": { - "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", - "type": "string", - "title": "importance" - }, - "deliveryMode": { - "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", - "type": "string", - "title": "deliveryMode" - }, - "listenFor": { - "description": "List of phrases and references that speech and language priming systems should listen for", - "type": "array", - "title": "listenFor", - "items": { - "type": "string", - "title": "Phrase", - "description": "Phrase to listen for." - } - }, - "textHighlights": { - "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", - "type": "array", - "title": "textHighlights", - "items": { - "description": "Refers to a substring of content within another field", - "title": "TextHighlight", - "type": "object", - "required": [ - "occurrence", - "text" - ], - "properties": { - "text": { - "description": "Defines the snippet of text to highlight", - "type": "string", - "title": "text" - }, - "occurrence": { - "description": "Occurrence of the text field within the referenced text, if multiple exist.", - "type": "number", - "title": "occurrence" - } - } - } - }, - "semanticAction": { - "description": "An optional programmatic action accompanying this request", - "title": "semanticAction", - "type": "object", - "required": [ - "entities", - "id" - ], - "properties": { - "id": { - "description": "ID of this action", - "type": "string", - "title": "id" - }, - "entities": { - "description": "Entities associated with this action", - "type": "object", - "title": "entities", - "additionalProperties": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/entities/items" - } - } - } - } - } - }, - { - "$ref": "#/definitions/Microsoft.ActivityTemplate" + ] }, { - "$ref": "#/definitions/Microsoft.StaticActivityTemplate" + "type": "string" } ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.11.0" + "version": "4.12.1" } }, "Microsoft.IDialog": { @@ -4316,13 +3757,13 @@ "$role": "interface", "oneOf": [ { - "type": "string" + "$ref": "#/definitions/Microsoft.AdaptiveDialog" }, { - "$ref": "#/definitions/Microsoft.QnAMakerDialog" + "$ref": "#/definitions/Microsoft.Ask" }, { - "$ref": "#/definitions/Microsoft.AdaptiveDialog" + "$ref": "#/definitions/Microsoft.AttachmentInput" }, { "$ref": "#/definitions/Microsoft.BeginDialog" @@ -4339,12 +3780,24 @@ { "$ref": "#/definitions/Microsoft.CancelDialog" }, + { + "$ref": "#/definitions/Microsoft.ChoiceInput" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmInput" + }, + { + "$ref": "#/definitions/Microsoft.ContinueConversation" + }, { "$ref": "#/definitions/Microsoft.ContinueConversationLater" }, { "$ref": "#/definitions/Microsoft.ContinueLoop" }, + { + "$ref": "#/definitions/Microsoft.DateTimeInput" + }, { "$ref": "#/definitions/Microsoft.DebugBreak" }, @@ -4384,6 +3837,9 @@ { "$ref": "#/definitions/Microsoft.GetConversationMembers" }, + { + "$ref": "#/definitions/Microsoft.GetConversationReference" + }, { "$ref": "#/definitions/Microsoft.GotoAction" }, @@ -4397,66 +3853,60 @@ "$ref": "#/definitions/Microsoft.LogAction" }, { - "$ref": "#/definitions/Microsoft.RepeatDialog" - }, - { - "$ref": "#/definitions/Microsoft.ReplaceDialog" - }, - { - "$ref": "#/definitions/Microsoft.SendActivity" + "$ref": "#/definitions/Microsoft.NumberInput" }, { - "$ref": "#/definitions/Microsoft.SetProperties" + "$ref": "#/definitions/Microsoft.OAuthInput" }, { - "$ref": "#/definitions/Microsoft.SetProperty" + "$ref": "#/definitions/Microsoft.QnAMakerDialog" }, { - "$ref": "#/definitions/Microsoft.SignOutUser" + "$ref": "#/definitions/Microsoft.RepeatDialog" }, { - "$ref": "#/definitions/Microsoft.SwitchCondition" + "$ref": "#/definitions/Microsoft.ReplaceDialog" }, { - "$ref": "#/definitions/Microsoft.TelemetryTrackEvent" + "$ref": "#/definitions/Microsoft.SendActivity" }, { - "$ref": "#/definitions/Microsoft.ThrowException" + "$ref": "#/definitions/Microsoft.SendHandoffActivity" }, { - "$ref": "#/definitions/Microsoft.TraceActivity" + "$ref": "#/definitions/Microsoft.SetProperties" }, { - "$ref": "#/definitions/Microsoft.UpdateActivity" + "$ref": "#/definitions/Microsoft.SetProperty" }, { - "$ref": "#/definitions/Microsoft.Ask" + "$ref": "#/definitions/Microsoft.SignOutUser" }, { - "$ref": "#/definitions/Microsoft.AttachmentInput" + "$ref": "#/definitions/Microsoft.SwitchCondition" }, { - "$ref": "#/definitions/Microsoft.ChoiceInput" + "$ref": "#/definitions/Microsoft.TelemetryTrackEventAction" }, { - "$ref": "#/definitions/Microsoft.ConfirmInput" + "$ref": "#/definitions/Microsoft.TextInput" }, { - "$ref": "#/definitions/Microsoft.DateTimeInput" + "$ref": "#/definitions/Microsoft.ThrowException" }, { - "$ref": "#/definitions/Microsoft.NumberInput" + "$ref": "#/definitions/Microsoft.TraceActivity" }, { - "$ref": "#/definitions/Microsoft.OAuthInput" + "$ref": "#/definitions/Microsoft.UpdateActivity" }, { - "$ref": "#/definitions/Microsoft.TextInput" + "type": "string" } ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.11.0" + "version": "4.12.1" } }, "Microsoft.IEntityRecognizer": { @@ -4466,14 +3916,9 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "oneOf": [ - { - "type": "string", - "title": "Reference to Microsoft.IEntityRecognizer", - "description": "Reference to Microsoft.IEntityRecognizer .dialog file." - }, { "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" }, @@ -4527,6 +3972,11 @@ }, { "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + }, + { + "type": "string", + "title": "Reference to Microsoft.IEntityRecognizer", + "description": "Reference to Microsoft.IEntityRecognizer .dialog file." } ] }, @@ -4535,19 +3985,19 @@ "description": "Components which dervie from the LanguageGenerator class", "$role": "interface", "oneOf": [ - { - "type": "string" - }, { "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" }, { "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" + }, + { + "type": "string" } ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" } }, "Microsoft.IRecognizer": { @@ -4555,27 +4005,6 @@ "description": "Components which derive from Recognizer class", "$role": "interface", "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/definitions/Microsoft.LuisRecognizer" - }, - { - "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" - }, - { - "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" - }, - { - "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" - }, - { - "$ref": "#/definitions/Microsoft.RecognizerSet" - }, - { - "$ref": "#/definitions/Microsoft.RegexRecognizer" - }, { "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" }, @@ -4585,6 +4014,9 @@ { "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" + }, { "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" }, @@ -4606,9 +4038,15 @@ { "$ref": "#/definitions/Microsoft.IpEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.LuisRecognizer" + }, { "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" + }, { "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" }, @@ -4624,19 +4062,31 @@ { "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RecognizerSet" + }, { "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" }, + { + "$ref": "#/definitions/Microsoft.RegexRecognizer" + }, { "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" }, { "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + }, + { + "type": "string" } ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.11.0" + "version": "4.12.1" } }, "Microsoft.ITextTemplate": { @@ -4645,15 +4095,15 @@ "$role": "interface", "oneOf": [ { - "type": "string" + "$ref": "#/definitions/Microsoft.TextTemplate" }, { - "$ref": "#/definitions/Microsoft.TextTemplate" + "type": "string" } ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.11.0" + "version": "4.12.1" } }, "Microsoft.ITrigger": { @@ -4662,14 +4112,9 @@ "description": "Components which derive from OnCondition class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "oneOf": [ - { - "type": "string", - "title": "Reference to Microsoft.ITrigger", - "description": "Reference to Microsoft.ITrigger .dialog file." - }, { "$ref": "#/definitions/Microsoft.OnActivity" }, @@ -4750,6 +4195,11 @@ }, { "$ref": "#/definitions/Microsoft.OnUnknownIntent" + }, + { + "type": "string", + "title": "Reference to Microsoft.ITrigger", + "description": "Reference to Microsoft.ITrigger .dialog file." } ] }, @@ -4759,14 +4209,9 @@ "description": "Components which derive from TriggerSelector class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "oneOf": [ - { - "type": "string", - "title": "Reference to Microsoft.ITriggerSelector", - "description": "Reference to Microsoft.ITriggerSelector .dialog file." - }, { "$ref": "#/definitions/Microsoft.ConditionalSelector" }, @@ -4781,6 +4226,11 @@ }, { "$ref": "#/definitions/Microsoft.TrueSelector" + }, + { + "type": "string", + "title": "Reference to Microsoft.ITriggerSelector", + "description": "Reference to Microsoft.ITriggerSelector .dialog file." } ] }, @@ -4791,12 +4241,11 @@ "type": "object", "required": [ "condition", - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -4864,7 +4313,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -4933,6 +4382,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -5006,7 +4457,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5039,7 +4490,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5086,7 +4537,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5111,9 +4562,10 @@ ] }, "text": { - "$ref": "#/definitions/stringExpression", + "$kind": "Microsoft.IActivityTemplate", "title": "Text", - "description": "Information to log." + "description": "Information to log.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" }, "label": { "$ref": "#/definitions/stringExpression", @@ -5152,7 +4604,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.Luis", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5293,7 +4745,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5327,7 +4779,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5369,7 +4821,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5424,7 +4876,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5459,9 +4911,12 @@ "title": "Number input dialog", "description": "Collect information - Ask for a number.", "type": "object", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5563,6 +5018,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -5636,7 +5093,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -5672,9 +5129,12 @@ "connectionName", "$kind" ], + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5810,12 +5270,11 @@ "type": "object", "required": [ "type", - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -5881,14 +5340,13 @@ "extends(Microsoft.OnCondition)" ], "title": "On entity assignment", - "description": "Actions to take when an entity should be assigned to a property.", + "description": "Actions to apply an operation on a property and value.", "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -5899,20 +5357,20 @@ } }, "properties": { - "property": { + "operation": { "type": "string", - "title": "Property", - "description": "Property that will be set after entity is selected." + "title": "Operation", + "description": "Operation filter on event." }, - "entity": { + "property": { "type": "string", - "title": "Entity", - "description": "Entity being put into property" + "title": "Property", + "description": "Property filter on event." }, - "operation": { + "value": { "type": "string", - "title": "Operation", - "description": "Operation for assigning entity." + "title": "Value", + "description": "Value filter on event." }, "condition": { "$ref": "#/definitions/condition", @@ -5969,10 +5427,9 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6038,10 +5495,9 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6103,14 +5559,13 @@ "extends(Microsoft.OnCondition)" ], "title": "On choose entity", - "description": "Actions to be performed when an entity value needs to be resolved.", + "description": "Actions to be performed when value is ambiguous for operator and property.", "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6121,15 +5576,20 @@ } }, "properties": { + "operation": { + "type": "string", + "title": "Operation", + "description": "Operation filter on event." + }, "property": { "type": "string", - "title": "Property to be set", - "description": "Property that will be set after entity is selected." + "title": "Property", + "description": "Property filter on event." }, - "entity": { + "value": { "type": "string", - "title": "Ambiguous entity", - "description": "Ambiguous entity" + "title": "Ambiguous value", + "description": "Ambiguous value filter on event." }, "condition": { "$ref": "#/definitions/condition", @@ -6181,16 +5641,15 @@ "implements(Microsoft.ITrigger)", "extends(Microsoft.OnCondition)" ], - "title": "On ambigious intent", - "description": "Actions to perform on when an intent is ambigious.", + "title": "On ambiguous intent", + "description": "Actions to perform on when an intent is ambiguous.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6261,14 +5720,13 @@ "extends(Microsoft.OnCondition)" ], "title": "On choose property", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "type": "object", + "description": "Actions to take when there are multiple possible mappings of entities to properties and operations.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, + "type": "object", "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6279,31 +5737,6 @@ } }, "properties": { - "entity": { - "type": "string", - "title": "Entity being assigned", - "description": "Entity being assigned to property choice" - }, - "properties": { - "type": "array", - "title": "Possible properties", - "description": "Properties to be chosen between.", - "items": { - "type": "string", - "title": "Property name", - "description": "Possible property to choose." - } - }, - "entities": { - "type": "array", - "title": "Entities", - "description": "Ambiguous entity names.", - "items": { - "type": "string", - "title": "Entity name", - "description": "Entity name being chosen between." - } - }, "condition": { "$ref": "#/definitions/condition", "title": "Condition", @@ -6355,12 +5788,11 @@ "description": "Actions to perform when specified condition is true.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6424,12 +5856,11 @@ "description": "Actions to perform when a conversation is started up again from a ContinueConversationLater action.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6493,12 +5924,11 @@ "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6562,13 +5992,12 @@ "description": "Actions to perform when a specific dialog event occurs.", "type": "object", "required": [ - "actions", "event", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6637,11 +6066,10 @@ "description": "Actions to take when there are no more actions in the current dialog.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "type": "object", "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6706,12 +6134,14 @@ "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", "type": "object", "required": [ - "actions", "$kind" ], + "$policies": { + "nonInteractive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6776,10 +6206,9 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -6844,12 +6273,11 @@ "description": "Actions to perform on receipt of an activity with type 'Event'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6913,12 +6341,11 @@ "description": "Actions to perform on receipt of an activity with type 'HandOff'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -6982,12 +6409,11 @@ "description": "Actions to perform on receipt of an activity with type 'InstallationUpdate'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7051,12 +6477,11 @@ "description": "Actions to perform when specified intent is recognized.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7135,12 +6560,11 @@ "description": "Actions to perform on receipt of an activity with type 'Invoke'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7204,12 +6628,11 @@ "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7273,12 +6696,11 @@ "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7342,12 +6764,11 @@ "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7411,12 +6832,11 @@ "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7480,12 +6900,11 @@ "description": "Actions to perform on when an match from QnAMaker is found.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7550,10 +6969,9 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ - "actions", "$kind" ], "additionalProperties": false, @@ -7618,12 +7036,11 @@ "description": "Actions to perform on receipt of an activity with type 'Typing'.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7687,12 +7104,11 @@ "description": "Action to perform when user input is unrecognized or if none of the 'on intent recognition' triggers match recognized intent.", "type": "object", "required": [ - "actions", "$kind" ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -7757,7 +7173,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7794,7 +7210,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7831,7 +7247,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -7871,7 +7287,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8036,7 +7452,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8219,7 +7635,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8262,7 +7678,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8315,7 +7731,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8356,7 +7772,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8424,9 +7840,12 @@ "type": "object", "title": "Repeat dialog", "description": "Repeat current dialog.", + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8495,9 +7914,12 @@ "type": "object", "title": "Replace dialog", "description": "Replace current dialog with another dialog.", + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8578,7 +8000,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8628,7 +8050,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8671,6 +8093,50 @@ } } }, + "Microsoft.SendHandoffActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send a handoff activity", + "description": "Sends a handoff activity to trigger a handoff request.", + "type": "object", + "$package": { + "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", + "version": "4.12.1" + }, + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "context": { + "$ref": "#/definitions/objectExpression", + "title": "Context", + "description": "Context to send with the handoff request" + }, + "transcript": { + "$ref": "#/definitions/objectExpression", + "title": "transcript", + "description": "Transcript to send with the handoff request" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SendHandoffActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, "Microsoft.SetProperties": { "$role": "implements(Microsoft.IDialog)", "title": "Set property", @@ -8682,7 +8148,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8762,7 +8228,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8825,7 +8291,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -8888,7 +8354,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8899,7 +8365,7 @@ }, "properties": { "activity": { - "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1", + "$ref": "#/definitions/botframework.json/definitions/Activity", "title": "Activity", "description": "A static Activity to used.", "required": [ @@ -8931,7 +8397,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -8972,8 +8438,7 @@ "title": "Case", "description": "Case and actions.", "required": [ - "value", - "actions" + "value" ], "properties": { "value": { @@ -9026,7 +8491,7 @@ } } }, - "Microsoft.TelemetryTrackEvent": { + "Microsoft.TelemetryTrackEventAction": { "$role": "implements(Microsoft.IDialog)", "type": "object", "title": "Telemetry - track event", @@ -9038,7 +8503,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -9083,7 +8548,7 @@ "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TelemetryTrackEvent" + "const": "Microsoft.TelemetryTrackEventAction" }, "$designer": { "title": "Designer information", @@ -9102,7 +8567,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9136,7 +8601,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9176,9 +8641,12 @@ "type": "object", "title": "Text input dialog", "description": "Collection information - Ask for a word or sentence.", + "$policies": { + "interactive": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9276,6 +8744,8 @@ "title": "Max turn count", "description": "Maximum number of re-prompt attempts to collect information.", "default": 3, + "minimum": 0, + "maximum": 2147483647, "examples": [ 3, "=settings.xyz" @@ -9350,7 +8820,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -9388,9 +8858,12 @@ "errorValue", "$kind" ], + "$policies": { + "lastAction": true + }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "additionalProperties": false, "patternProperties": { @@ -9439,7 +8912,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9507,7 +8980,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9541,7 +9014,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9573,7 +9046,7 @@ "title": "Activity Id", "description": "An string expression with the activity id to update.", "examples": [ - "=dialog.lastActivityId" + "=turn.lastresult.id" ] }, "activity": { @@ -9606,7 +9079,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.11.0" + "version": "4.12.1" }, "required": [ "$kind" @@ -9868,6 +9341,790 @@ ] } ] + }, + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/schema" + } + }, + "nonNegativeInteger": { + "type": "integer", + "minimum": 0 + }, + "nonNegativeIntegerDefault0": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "simpleTypes": { + "enum": [ + "array", + "boolean", + "integer", + "null", + "number", + "object", + "string" + ] + }, + "stringArray": { + "type": "array", + "uniqueItems": true, + "default": [], + "items": { + "type": "string" + } + } + }, + "type": [ + "object", + "boolean" + ], + "default": true, + "properties": { + "$schema": { + "type": "string", + "format": "uri" + }, + "$ref": { + "type": "string", + "format": "uri-reference" + }, + "$comment": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": true, + "readOnly": { + "type": "boolean", + "default": false + }, + "writeOnly": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": true + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": 0 + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "number" + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "number" + }, + "maxLength": { + "$ref": "#/definitions/schema/definitions/nonNegativeInteger" + }, + "minLength": { + "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0" + }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "$ref": "#/definitions/schema" + }, + "items": { + "anyOf": [ + { + "$ref": "#/definitions/schema" + }, + { + "$ref": "#/definitions/schema/definitions/schemaArray" + } + ], + "default": true + }, + "maxItems": { + "$ref": "#/definitions/schema/definitions/nonNegativeInteger" + }, + "minItems": { + "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0" + }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "contains": { + "$ref": "#/definitions/schema" + }, + "maxProperties": { + "$ref": "#/definitions/schema/definitions/nonNegativeInteger" + }, + "minProperties": { + "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0" + }, + "required": { + "$ref": "#/definitions/schema/definitions/stringArray" + }, + "additionalProperties": { + "$ref": "#/definitions/schema" + }, + "definitions": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/schema" + } + }, + "properties": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/schema" + } + }, + "patternProperties": { + "type": "object", + "propertyNames": { + "format": "regex" + }, + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/schema" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/definitions/schema" + }, + { + "$ref": "#/definitions/schema/definitions/stringArray" + } + ] + } + }, + "propertyNames": { + "$ref": "#/definitions/schema" + }, + "const": true, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": true + }, + "type": { + "anyOf": [ + { + "$ref": "#/definitions/schema/definitions/simpleTypes" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/schema/definitions/simpleTypes" + }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "format": { + "type": "string" + }, + "contentMediaType": { + "type": "string" + }, + "contentEncoding": { + "type": "string" + }, + "if": { + "$ref": "#/definitions/schema" + }, + "then": { + "$ref": "#/definitions/schema" + }, + "else": { + "$ref": "#/definitions/schema" + }, + "allOf": { + "$ref": "#/definitions/schema/definitions/schemaArray" + }, + "anyOf": { + "$ref": "#/definitions/schema/definitions/schemaArray" + }, + "oneOf": { + "$ref": "#/definitions/schema/definitions/schemaArray" + }, + "not": { + "$ref": "#/definitions/schema" + } + } + }, + "botframework.json": { + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ChannelAccount": { + "description": "Channel account information needed to route a message", + "title": "ChannelAccount", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "type": "string", + "title": "role" + } + } + }, + "ConversationAccount": { + "description": "Channel account information for a conversation", + "title": "ConversationAccount", + "type": "object", + "required": [ + "conversationType", + "id", + "isGroup", + "name" + ], + "properties": { + "isGroup": { + "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", + "type": "boolean", + "title": "isGroup" + }, + "conversationType": { + "description": "Indicates the type of the conversation in channels that distinguish between conversation types", + "type": "string", + "title": "conversationType" + }, + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "enum": [ + "bot", + "user" + ], + "type": "string", + "title": "role" + } + } + }, + "MessageReaction": { + "description": "Message reaction object", + "title": "MessageReaction", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Message reaction type. Possible values include: 'like', 'plusOne'", + "type": "string", + "title": "type" + } + } + }, + "CardAction": { + "description": "A clickable action", + "title": "CardAction", + "type": "object", + "required": [ + "title", + "type", + "value" + ], + "properties": { + "type": { + "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", + "type": "string", + "title": "type" + }, + "title": { + "description": "Text description which appears on the button", + "type": "string", + "title": "title" + }, + "image": { + "description": "Image URL which will appear on the button, next to text label", + "type": "string", + "title": "image" + }, + "text": { + "description": "Text for this action", + "type": "string", + "title": "text" + }, + "displayText": { + "description": "(Optional) text to display in the chat feed if the button is clicked", + "type": "string", + "title": "displayText" + }, + "value": { + "description": "Supplementary parameter for action. Content of this property depends on the ActionType", + "title": "value" + }, + "channelData": { + "description": "Channel-specific data associated with this action", + "title": "channelData" + } + } + }, + "SuggestedActions": { + "description": "SuggestedActions that can be performed", + "title": "SuggestedActions", + "type": "object", + "required": [ + "actions", + "to" + ], + "properties": { + "to": { + "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", + "type": "array", + "title": "to", + "items": { + "title": "Id", + "description": "Id of recipient.", + "type": "string" + } + }, + "actions": { + "description": "Actions that can be shown to the user", + "type": "array", + "title": "actions", + "items": { + "$ref": "#/definitions/botframework.json/definitions/CardAction" + } + } + } + }, + "Attachment": { + "description": "An attachment within an activity", + "title": "Attachment", + "type": "object", + "required": [ + "contentType" + ], + "properties": { + "contentType": { + "description": "mimetype/Contenttype for the file", + "type": "string", + "title": "contentType" + }, + "contentUrl": { + "description": "Content Url", + "type": "string", + "title": "contentUrl" + }, + "content": { + "type": "object", + "description": "Embedded content", + "title": "content" + }, + "name": { + "description": "(OPTIONAL) The name of the attachment", + "type": "string", + "title": "name" + }, + "thumbnailUrl": { + "description": "(OPTIONAL) Thumbnail associated with attachment", + "type": "string", + "title": "thumbnailUrl" + } + } + }, + "Entity": { + "description": "Metadata object pertaining to an activity", + "title": "Entity", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of this entity (RFC 3987 IRI)", + "type": "string", + "title": "type" + } + } + }, + "ConversationReference": { + "description": "An object relating to a particular point in a conversation", + "title": "ConversationReference", + "type": "object", + "required": [ + "bot", + "channelId", + "conversation", + "serviceUrl" + ], + "properties": { + "activityId": { + "description": "(Optional) ID of the activity to refer to", + "type": "string", + "title": "activityId" + }, + "user": { + "description": "(Optional) User participating in this conversation", + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount", + "title": "user" + }, + "bot": { + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount", + "description": "Bot participating in this conversation", + "title": "bot" + }, + "conversation": { + "$ref": "#/definitions/botframework.json/definitions/ConversationAccount", + "description": "Conversation reference", + "title": "conversation" + }, + "channelId": { + "description": "Channel ID", + "type": "string", + "title": "channelId" + }, + "serviceUrl": { + "description": "Service endpoint where operations concerning the referenced conversation may be performed", + "type": "string", + "title": "serviceUrl" + } + } + }, + "TextHighlight": { + "description": "Refers to a substring of content within another field", + "title": "TextHighlight", + "type": "object", + "required": [ + "occurrence", + "text" + ], + "properties": { + "text": { + "description": "Defines the snippet of text to highlight", + "type": "string", + "title": "text" + }, + "occurrence": { + "description": "Occurrence of the text field within the referenced text, if multiple exist.", + "type": "number", + "title": "occurrence" + } + } + }, + "SemanticAction": { + "description": "Represents a reference to a programmatic action", + "title": "SemanticAction", + "type": "object", + "required": [ + "entities", + "id" + ], + "properties": { + "id": { + "description": "ID of this action", + "type": "string", + "title": "id" + }, + "entities": { + "description": "Entities associated with this action", + "type": "object", + "title": "entities", + "additionalProperties": { + "$ref": "#/definitions/botframework.json/definitions/Entity" + } + } + } + }, + "Activity": { + "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", + "title": "Activity", + "type": "object", + "properties": { + "type": { + "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", + "type": "string", + "title": "type" + }, + "id": { + "description": "Contains an ID that uniquely identifies the activity on the channel.", + "type": "string", + "title": "id" + }, + "timestamp": { + "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", + "type": "string", + "format": "date-time", + "title": "timestamp" + }, + "localTimestamp": { + "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", + "type": "string", + "format": "date-time", + "title": "localTimestamp" + }, + "localTimezone": { + "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", + "type": "string", + "title": "localTimezone" + }, + "serviceUrl": { + "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", + "type": "string", + "title": "serviceUrl" + }, + "channelId": { + "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", + "type": "string", + "title": "channelId" + }, + "from": { + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount", + "description": "Identifies the sender of the message.", + "title": "from" + }, + "conversation": { + "$ref": "#/definitions/botframework.json/definitions/ConversationAccount", + "description": "Identifies the conversation to which the activity belongs.", + "title": "conversation" + }, + "recipient": { + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount", + "description": "Identifies the recipient of the message.", + "title": "recipient" + }, + "textFormat": { + "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", + "type": "string", + "title": "textFormat" + }, + "attachmentLayout": { + "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", + "type": "string", + "title": "attachmentLayout" + }, + "membersAdded": { + "description": "The collection of members added to the conversation.", + "type": "array", + "title": "membersAdded", + "items": { + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount" + } + }, + "membersRemoved": { + "description": "The collection of members removed from the conversation.", + "type": "array", + "title": "membersRemoved", + "items": { + "$ref": "#/definitions/botframework.json/definitions/ChannelAccount" + } + }, + "reactionsAdded": { + "description": "The collection of reactions added to the conversation.", + "type": "array", + "title": "reactionsAdded", + "items": { + "$ref": "#/definitions/botframework.json/definitions/MessageReaction" + } + }, + "reactionsRemoved": { + "description": "The collection of reactions removed from the conversation.", + "type": "array", + "title": "reactionsRemoved", + "items": { + "$ref": "#/definitions/botframework.json/definitions/MessageReaction" + } + }, + "topicName": { + "description": "The updated topic name of the conversation.", + "type": "string", + "title": "topicName" + }, + "historyDisclosed": { + "description": "Indicates whether the prior history of the channel is disclosed.", + "type": "boolean", + "title": "historyDisclosed" + }, + "locale": { + "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", + "type": "string", + "title": "locale" + }, + "text": { + "description": "The text content of the message.", + "type": "string", + "title": "text" + }, + "speak": { + "description": "The text to speak.", + "type": "string", + "title": "speak" + }, + "inputHint": { + "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", + "type": "string", + "title": "inputHint" + }, + "summary": { + "description": "The text to display if the channel cannot render cards.", + "type": "string", + "title": "summary" + }, + "suggestedActions": { + "description": "The suggested actions for the activity.", + "$ref": "#/definitions/botframework.json/definitions/SuggestedActions", + "title": "suggestedActions" + }, + "attachments": { + "description": "Attachments", + "type": "array", + "title": "attachments", + "items": { + "$ref": "#/definitions/botframework.json/definitions/Attachment" + } + }, + "entities": { + "description": "Represents the entities that were mentioned in the message.", + "type": "array", + "title": "entities", + "items": { + "$ref": "#/definitions/botframework.json/definitions/Entity" + } + }, + "channelData": { + "description": "Contains channel-specific content.", + "title": "channelData" + }, + "action": { + "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", + "type": "string", + "title": "action" + }, + "replyToId": { + "description": "Contains the ID of the message to which this message is a reply.", + "type": "string", + "title": "replyToId" + }, + "label": { + "description": "A descriptive label for the activity.", + "type": "string", + "title": "label" + }, + "valueType": { + "description": "The type of the activity's value object.", + "type": "string", + "title": "valueType" + }, + "value": { + "description": "A value that is associated with the activity.", + "title": "value" + }, + "name": { + "description": "The name of the operation associated with an invoke or event activity.", + "type": "string", + "title": "name" + }, + "relatesTo": { + "description": "A reference to another conversation or activity.", + "$ref": "#/definitions/botframework.json/definitions/ConversationReference", + "title": "relatesTo" + }, + "code": { + "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", + "type": "string", + "title": "code" + }, + "expiration": { + "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", + "type": "string", + "format": "date-time", + "title": "expiration" + }, + "importance": { + "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", + "type": "string", + "title": "importance" + }, + "deliveryMode": { + "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", + "type": "string", + "title": "deliveryMode" + }, + "listenFor": { + "description": "List of phrases and references that speech and language priming systems should listen for", + "type": "array", + "title": "listenFor", + "items": { + "type": "string", + "title": "Phrase", + "description": "Phrase to listen for." + } + }, + "textHighlights": { + "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", + "type": "array", + "title": "textHighlights", + "items": { + "$ref": "#/definitions/botframework.json/definitions/TextHighlight" + } + }, + "semanticAction": { + "$ref": "#/definitions/botframework.json/definitions/SemanticAction", + "description": "An optional programmatic action accompanying this request", + "title": "semanticAction" + } + } + } + } } } } diff --git a/runtime/dotnet/azurewebapp/Schemas/sdk.uischema b/runtime/dotnet/azurewebapp/Schemas/sdk.uischema index 48d8d8b8f2..7cf30bb576 100644 --- a/runtime/dotnet/azurewebapp/Schemas/sdk.uischema +++ b/runtime/dotnet/azurewebapp/Schemas/sdk.uischema @@ -23,7 +23,100 @@ } } }, + "Microsoft.Ask": { + "flow": { + "body": { + "field": "activity", + "widget": "LgWidget" + }, + "footer": { + "description": "= Default operation", + "property": "=action.defaultOperation", + "widget": "PropertyDescription" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "hideFooter": "=!action.defaultOperation", + "widget": "ActionCard" + }, + "form": { + "helpLink": "https://aka.ms/bfc-send-activity", + "label": "Send a response to ask a question", + "order": [ + "activity", + "*" + ], + "subtitle": "Ask Activity" + } + }, + "Microsoft.AttachmentInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "widget": "PromptWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-ask-for-user-input", + "label": "Prompt for a file or an attachment", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Attachment Input" + } + }, "Microsoft.BeginDialog": { + "flow": { + "body": { + "dialog": "=action.dialog", + "widget": "DialogRef" + }, + "footer": { + "description": "= Return value", + "property": "=action.resultProperty", + "widget": "PropertyDescription" + }, + "hideFooter": "=!action.resultProperty", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-understanding-dialogs", "label": "Begin a new dialog", @@ -44,6 +137,27 @@ } }, "Microsoft.BeginSkill": { + "flow": { + "body": { + "operation": "Host", + "resource": "=coalesce(action.skillEndpoint, \"?\")", + "singleline": true, + "widget": "ResourceOperation" + }, + "colors": { + "color": "#FFFFFF", + "icon": "#FFFFFF", + "theme": "#004578" + }, + "footer": { + "description": "= Result", + "property": "=action.resultProperty", + "widget": "PropertyDescription" + }, + "hideFooter": "=!action.resultProperty", + "icon": "Library", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bf-composer-docs-connect-skill", "label": "Connect to a skill", @@ -64,24 +178,183 @@ } }, "Microsoft.CancelAllDialogs": { + "flow": { + "body": { + "description": "(Event)", + "property": "=coalesce(action.eventName, \"?\")", + "widget": "PropertyDescription" + }, + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-understanding-dialogs", "label": "Cancel all active dialogs", "subtitle": "Cancel All Dialogs" } }, + "Microsoft.ChoiceInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "widget": "PromptWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-ask-for-user-input", + "label": "Prompt with multi-choice", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Choice Input" + } + }, + "Microsoft.ConfirmInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "widget": "PromptWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-ask-for-user-input", + "label": "Prompt for confirmation", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Confirm Input" + } + }, "Microsoft.ContinueLoop": { "form": { "label": "Continue loop", "subtitle": "Continue loop" } }, + "Microsoft.DateTimeInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "widget": "PromptWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-ask-for-user-input", + "label": "Prompt for a date or a time", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Date Time Input" + } + }, "Microsoft.DebugBreak": { "form": { "label": "Debug Break" } }, "Microsoft.DeleteProperties": { + "flow": { + "body": { + "items": "=action.properties", + "widget": "ListOverview" + }, + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-using-memory", "label": "Delete properties", @@ -96,6 +369,10 @@ } }, "Microsoft.DeleteProperty": { + "flow": { + "body": "=action.property", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-using-memory", "label": "Delete a property", @@ -110,12 +387,30 @@ } }, "Microsoft.EditActions": { + "flow": { + "body": "=action.changeType", + "widget": "ActionCard" + }, "form": { "label": "Modify active dialog", "subtitle": "Edit Actions" } }, "Microsoft.EditArray": { + "flow": { + "body": { + "operation": "=coalesce(action.changeType, \"?\")", + "resource": "=coalesce(action.itemsProperty, \"?\")", + "widget": "ResourceOperation" + }, + "footer": { + "description": "= Result", + "property": "=action.resultProperty", + "widget": "PropertyDescription" + }, + "hideFooter": "=!action.resultProperty", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-using-memory", "label": "Edit an array property", @@ -135,6 +430,14 @@ } }, "Microsoft.EmitEvent": { + "flow": { + "body": { + "description": "(Event)", + "property": "=coalesce(action.eventName, \"?\")", + "widget": "PropertyDescription" + }, + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-custom-events", "label": "Emit a custom event", @@ -156,6 +459,14 @@ } }, "Microsoft.Foreach": { + "flow": { + "loop": { + "body": "=concat(\"Each value in \", coalesce(action.itemsProperty, \"?\"))", + "widget": "ActionCard" + }, + "nowrap": true, + "widget": "ForeachWidget" + }, "form": { "helpLink": "https://aka.ms/bfc-controlling-conversation-flow", "hidden": [ @@ -187,6 +498,14 @@ } }, "Microsoft.ForeachPage": { + "flow": { + "loop": { + "body": "=concat(\"Each page of \", coalesce(action.pageSize, \"?\"), \" in \", coalesce(action.page, \"?\"))", + "widget": "ActionCard" + }, + "nowrap": true, + "widget": "ForeachWidget" + }, "form": { "helpLink": "https://aka.ms/bfc-controlling-conversation-flow", "hidden": [ @@ -218,7 +537,47 @@ "subtitle": "For Each Page" } }, + "Microsoft.GetActivityMembers": { + "flow": { + "body": { + "description": "= ActivityId", + "property": "=coalesce(action.activityId, \"?\")", + "widget": "PropertyDescription" + }, + "footer": { + "description": "= Result property", + "property": "=coalesce(action.property, \"?\")", + "widget": "PropertyDescription" + }, + "widget": "ActionCard" + } + }, + "Microsoft.GetConversationMembers": { + "flow": { + "footer": { + "description": "= Result property", + "property": "=action.property", + "widget": "PropertyDescription" + }, + "widget": "ActionCard" + } + }, "Microsoft.HttpRequest": { + "flow": { + "body": { + "operation": "=action.method", + "resource": "=action.url", + "singleline": true, + "widget": "ResourceOperation" + }, + "footer": { + "description": "= Result property", + "property": "=action.resultProperty", + "widget": "PropertyDescription" + }, + "hideFooter": "=!action.resultProperty", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-using-http", "label": "Send an HTTP request", @@ -240,6 +599,14 @@ } }, "Microsoft.IfCondition": { + "flow": { + "judgement": { + "body": "=coalesce(action.condition, \"\")", + "widget": "ActionCard" + }, + "nowrap": true, + "widget": "IfConditionWidget" + }, "form": { "helpLink": "https://aka.ms/bfc-controlling-conversation-flow", "hidden": [ @@ -257,181 +624,41 @@ "subtitle": "Log Action" } }, - "Microsoft.RepeatDialog": { - "form": { - "helpLink": "https://aka.ms/bfc-understanding-dialogs", - "label": "Repeat this dialog", - "order": [ - "options", - "*" - ], - "subtitle": "Repeat Dialog" - } - }, - "Microsoft.ReplaceDialog": { - "form": { - "helpLink": "https://aka.ms/bfc-understanding-dialogs", - "label": "Replace this dialog", - "order": [ - "dialog", - "options", - "*" - ], - "subtitle": "Replace Dialog" - } - }, - "Microsoft.SendActivity": { - "form": { - "helpLink": "https://aka.ms/bfc-send-activity", - "label": "Send a response", - "order": [ - "activity", - "*" - ], - "subtitle": "Send Activity" - } - }, - "Microsoft.SetProperties": { - "form": { - "helpLink": "https://aka.ms/bfc-using-memory", - "label": "Set properties", - "properties": { - "assignments": { - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } - } - } - }, - "subtitle": "Set Properties" - } - }, - "Microsoft.SetProperty": { - "form": { - "helpLink": "https://aka.ms/bfc-using-memory", - "label": "Set a property", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } - }, - "subtitle": "Set Property" - } - }, - "Microsoft.SignOutUser": { - "form": { - "label": "Sign out user", - "subtitle": "Signout User" - } - }, - "Microsoft.SwitchCondition": { - "form": { - "helpLink": "https://aka.ms/bfc-controlling-conversation-flow", - "hidden": [ - "default" - ], - "label": "Branch: Switch (multiple options)", - "properties": { - "cases": { - "hidden": [ - "actions" - ] + "Microsoft.NumberInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" }, - "condition": { - "intellisenseScopes": [ - "user-variables" - ] - } - }, - "subtitle": "Switch Condition" - } - }, - "Microsoft.ThrowException": { - "form": { - "label": "Throw an exception", - "subtitle": "Throw an exception" - } - }, - "Microsoft.TraceActivity": { - "form": { - "helpLink": "https://aka.ms/composer-telemetry", - "label": "Emit a trace event", - "subtitle": "Trace Activity" - } - }, - "Microsoft.Ask": { - "form": { - "helpLink": "https://aka.ms/bfc-send-activity", - "label": "Send a response to ask a question", - "order": [ - "activity", - "*" - ], - "subtitle": "Ask Activity" - } - }, - "Microsoft.AttachmentInput": { - "form": { - "helpLink": "https://aka.ms/bfc-ask-for-user-input", - "label": "Prompt for a file or an attachment", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } - }, - "subtitle": "Attachment Input" - } - }, - "Microsoft.ChoiceInput": { - "form": { - "helpLink": "https://aka.ms/bfc-ask-for-user-input", - "label": "Prompt with multi-choice", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } - }, - "subtitle": "Choice Input" - } - }, - "Microsoft.ConfirmInput": { - "form": { - "helpLink": "https://aka.ms/bfc-ask-for-user-input", - "label": "Prompt for confirmation", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" }, - "subtitle": "Confirm Input" - } - }, - "Microsoft.DateTimeInput": { - "form": { - "helpLink": "https://aka.ms/bfc-ask-for-user-input", - "label": "Prompt for a date or a time", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" }, - "subtitle": "Date Time Input" - } - }, - "Microsoft.NumberInput": { + "widget": "PromptWidget" + }, "form": { "helpLink": "https://aka.ms/bfc-ask-for-user-input", "label": "Prompt for a number", @@ -446,6 +673,21 @@ } }, "Microsoft.OAuthInput": { + "flow": { + "body": { + "operation": "Connection", + "resource": "=coalesce(action.connectionName, \"?\")", + "singleline": true, + "widget": "ResourceOperation" + }, + "footer": { + "description": "= Token property", + "property": "=action.property", + "widget": "PropertyDescription" + }, + "hideFooter": "=!action.property", + "widget": "ActionCard" + }, "form": { "helpLink": "https://aka.ms/bfc-using-oauth", "label": "OAuth login", @@ -456,27 +698,6 @@ "subtitle": "OAuth Input" } }, - "Microsoft.TextInput": { - "form": { - "helpLink": "https://aka.ms/bfc-ask-for-user-input", - "label": "Prompt for text", - "properties": { - "property": { - "intellisenseScopes": [ - "variable-scopes" - ] - } - }, - "subtitle": "Text Input" - } - }, - "Microsoft.RegexRecognizer": { - "form": { - "hidden": [ - "entities" - ] - } - }, "Microsoft.OnActivity": { "form": { "hidden": [ @@ -488,6 +709,15 @@ "*" ], "subtitle": "Activity received" + }, + "trigger": { + "label": "Activities (Activity received)", + "order": 5.1, + "submenu": { + "label": "Activities", + "placeholder": "Select an activity type", + "prompt": "Which activity type?" + } } }, "Microsoft.OnAssignEntity": { @@ -514,6 +744,15 @@ "*" ], "subtitle": "Begin dialog event" + }, + "trigger": { + "label": "Dialog started (Begin dialog event)", + "order": 4.1, + "submenu": { + "label": "Dialog events", + "placeholder": "Select an event type", + "prompt": "Which event?" + } } }, "Microsoft.OnCancelDialog": { @@ -527,6 +766,22 @@ "*" ], "subtitle": "Cancel dialog event" + }, + "trigger": { + "label": "Dialog cancelled (Cancel dialog event)", + "order": 4.2, + "submenu": "Dialog events" + } + }, + "Microsoft.OnChooseEntity": { + "form": { + "hidden": [ + "actions" + ], + "order": [ + "condition", + "*" + ] } }, "Microsoft.OnChooseIntent": { @@ -538,6 +793,10 @@ "condition", "*" ] + }, + "trigger": { + "label": "Duplicated intents recognized", + "order": 6 } }, "Microsoft.OnCondition": { @@ -566,6 +825,11 @@ "*" ], "subtitle": "ConversationUpdate activity" + }, + "trigger": { + "label": "Greeting (ConversationUpdate activity)", + "order": 5.2, + "submenu": "Activities" } }, "Microsoft.OnDialogEvent": { @@ -579,6 +843,10 @@ "*" ], "subtitle": "Dialog event" + }, + "trigger": { + "label": "Custom events", + "order": 7 } }, "Microsoft.OnEndOfActions": { @@ -605,6 +873,11 @@ "*" ], "subtitle": "EndOfConversation activity" + }, + "trigger": { + "label": "Conversation ended (EndOfConversation activity)", + "order": 5.3, + "submenu": "Activities" } }, "Microsoft.OnError": { @@ -618,6 +891,11 @@ "*" ], "subtitle": "Error event" + }, + "trigger": { + "label": "Error occurred (Error event)", + "order": 4.3, + "submenu": "Dialog events" } }, "Microsoft.OnEventActivity": { @@ -631,6 +909,11 @@ "*" ], "subtitle": "Event activity" + }, + "trigger": { + "label": "Event received (Event activity)", + "order": 5.4, + "submenu": "Activities" } }, "Microsoft.OnHandoffActivity": { @@ -644,6 +927,11 @@ "*" ], "subtitle": "Handoff activity" + }, + "trigger": { + "label": "Handover to human (Handoff activity)", + "order": 5.5, + "submenu": "Activities" } }, "Microsoft.OnInstallationUpdateActivity": { @@ -672,6 +960,10 @@ "*" ], "subtitle": "Intent recognized" + }, + "trigger": { + "label": "Intent recognized", + "order": 1 } }, "Microsoft.OnInvokeActivity": { @@ -685,6 +977,11 @@ "*" ], "subtitle": "Invoke activity" + }, + "trigger": { + "label": "Conversation invoked (Invoke activity)", + "order": 5.6, + "submenu": "Activities" } }, "Microsoft.OnMessageActivity": { @@ -698,6 +995,11 @@ "*" ], "subtitle": "Message received activity" + }, + "trigger": { + "label": "Message received (Message received activity)", + "order": 5.81, + "submenu": "Activities" } }, "Microsoft.OnMessageDeleteActivity": { @@ -711,6 +1013,11 @@ "*" ], "subtitle": "Message deleted activity" + }, + "trigger": { + "label": "Message deleted (Message deleted activity)", + "order": 5.82, + "submenu": "Activities" } }, "Microsoft.OnMessageReactionActivity": { @@ -724,6 +1031,11 @@ "*" ], "subtitle": "Message reaction activity" + }, + "trigger": { + "label": "Message reaction (Message reaction activity)", + "order": 5.83, + "submenu": "Activities" } }, "Microsoft.OnMessageUpdateActivity": { @@ -737,6 +1049,17 @@ "*" ], "subtitle": "Message updated activity" + }, + "trigger": { + "label": "Message updated (Message updated activity)", + "order": 5.84, + "submenu": "Activities" + } + }, + "Microsoft.OnQnAMatch": { + "trigger": { + "label": "QnA Intent recognized", + "order": 2 } }, "Microsoft.OnRepromptDialog": { @@ -750,6 +1073,11 @@ "*" ], "subtitle": "Reprompt dialog event" + }, + "trigger": { + "label": "Re-prompt for input (Reprompt dialog event)", + "order": 4.4, + "submenu": "Dialog events" } }, "Microsoft.OnTypingActivity": { @@ -763,6 +1091,11 @@ "*" ], "subtitle": "Typing activity" + }, + "trigger": { + "label": "User is typing (Typing activity)", + "order": 5.7, + "submenu": "Activities" } }, "Microsoft.OnUnknownIntent": { @@ -776,6 +1109,265 @@ "*" ], "subtitle": "Unknown intent recognized" + }, + "trigger": { + "label": "Unknown intent", + "order": 3 + } + }, + "Microsoft.QnAMakerDialog": { + "flow": { + "body": "=action.hostname", + "widget": "ActionCard" + } + }, + "Microsoft.RegexRecognizer": { + "form": { + "hidden": [ + "entities" + ] + } + }, + "Microsoft.RepeatDialog": { + "form": { + "helpLink": "https://aka.ms/bfc-understanding-dialogs", + "label": "Repeat this dialog", + "order": [ + "options", + "*" + ], + "subtitle": "Repeat Dialog" + } + }, + "Microsoft.ReplaceDialog": { + "flow": { + "body": { + "dialog": "=action.dialog", + "widget": "DialogRef" + }, + "widget": "ActionCard" + }, + "form": { + "helpLink": "https://aka.ms/bfc-understanding-dialogs", + "label": "Replace this dialog", + "order": [ + "dialog", + "options", + "*" + ], + "subtitle": "Replace Dialog" + } + }, + "Microsoft.SendActivity": { + "flow": { + "body": { + "field": "activity", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "form": { + "helpLink": "https://aka.ms/bfc-send-activity", + "label": "Send a response", + "order": [ + "activity", + "*" + ], + "subtitle": "Send Activity" + } + }, + "Microsoft.SendHandoffActivity": { + "flow": { + "widget": "ActionHeader" + }, + "form": { + "helpLink": "https://aka.ms/bfc-send-handoff-activity", + "label": "Send a handoff request", + "subtitle": "Send Handoff Activity" + }, + "menu": { + "label": "Send Handoff Event", + "submenu": [ + "Access external resources" + ] + } + }, + "Microsoft.SetProperties": { + "flow": { + "body": { + "items": "=foreach(action.assignments, x => concat(coalesce(x.property, \"?\"), \" : \", coalesce(x.value, \"?\")))", + "widget": "ListOverview" + }, + "widget": "ActionCard" + }, + "form": { + "helpLink": "https://aka.ms/bfc-using-memory", + "label": "Set properties", + "properties": { + "assignments": { + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + } + } + }, + "subtitle": "Set Properties" + } + }, + "Microsoft.SetProperty": { + "flow": { + "body": "${coalesce(action.property, \"?\")} : ${coalesce(action.value, \"?\")}", + "widget": "ActionCard" + }, + "form": { + "helpLink": "https://aka.ms/bfc-using-memory", + "label": "Set a property", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Set Property" + } + }, + "Microsoft.SignOutUser": { + "form": { + "label": "Sign out user", + "subtitle": "Signout User" + } + }, + "Microsoft.SwitchCondition": { + "flow": { + "judgement": { + "body": "=coalesce(action.condition, \"\")", + "widget": "ActionCard" + }, + "nowrap": true, + "widget": "SwitchConditionWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-controlling-conversation-flow", + "hidden": [ + "default" + ], + "label": "Branch: Switch (multiple options)", + "properties": { + "cases": { + "hidden": [ + "actions" + ] + }, + "condition": { + "intellisenseScopes": [ + "user-variables" + ] + } + }, + "subtitle": "Switch Condition" + } + }, + "Microsoft.TextInput": { + "flow": { + "body": "=action.prompt", + "botAsks": { + "body": { + "defaultContent": "", + "field": "prompt", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#5C2E91", + "theme": "#EEEAF4" + }, + "icon": "MessageBot", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "nowrap": true, + "userInput": { + "header": { + "colors": { + "icon": "#0078D4", + "theme": "#E5F0FF" + }, + "disableSDKTitle": true, + "icon": "User", + "menu": "none", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "widget": "PromptWidget" + }, + "form": { + "helpLink": "https://aka.ms/bfc-ask-for-user-input", + "label": "Prompt for text", + "properties": { + "property": { + "intellisenseScopes": [ + "variable-scopes" + ] + } + }, + "subtitle": "Text Input" + } + }, + "Microsoft.ThrowException": { + "flow": { + "body": { + "description": "= ErrorValue", + "property": "=coalesce(action.errorValue, \"?\")", + "widget": "PropertyDescription" + }, + "widget": "ActionCard" + }, + "form": { + "label": "Throw an exception", + "subtitle": "Throw an exception" + } + }, + "Microsoft.TraceActivity": { + "form": { + "helpLink": "https://aka.ms/composer-telemetry", + "label": "Emit a trace event", + "subtitle": "Trace Activity" + } + }, + "Microsoft.UpdateActivity": { + "flow": { + "body": { + "field": "activity", + "widget": "LgWidget" + }, + "header": { + "colors": { + "icon": "#656565", + "theme": "#D7D7D7" + }, + "icon": "MessageBot", + "title": "Update activity", + "widget": "ActionHeader" + }, + "widget": "ActionCard" + }, + "form": { + "label": "Update an activity", + "subtitle": "Update Activity" } } } diff --git a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj index 633eb0d73d..649ea2ebe3 100644 --- a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj +++ b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj @@ -13,19 +13,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj b/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj index c5bd353a3b..776906e37f 100644 --- a/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj +++ b/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj @@ -11,7 +11,7 @@ - + From ffda7158311c578ed6073710e19028f4c78c2f47 Mon Sep 17 00:00:00 2001 From: Long Alan Date: Wed, 17 Mar 2021 20:49:49 +0800 Subject: [PATCH 17/41] fix: hidden showCode button when url is all & show code for form dialog (#6444) * hidden showCode button when dialog is all & show code for form dialog * ci fix * lint Co-authored-by: Dong Lei --- .../components/ProjectTree/ProjectTree.tsx | 21 ++++++++++++------- .../language-understanding/table-view.tsx | 10 ++++++--- Composer/packages/client/src/router.tsx | 3 --- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/Composer/packages/client/src/components/ProjectTree/ProjectTree.tsx b/Composer/packages/client/src/components/ProjectTree/ProjectTree.tsx index c74485b4d3..c3f8ae3754 100644 --- a/Composer/packages/client/src/components/ProjectTree/ProjectTree.tsx +++ b/Composer/packages/client/src/components/ProjectTree/ProjectTree.tsx @@ -26,6 +26,7 @@ import { triggerNotSupported } from '../../utils/dialogValidator'; import { useFeatureFlag } from '../../utils/hooks'; import { LoadingSpinner } from '../LoadingSpinner'; import TelemetryClient from '../../telemetry/TelemetryClient'; +import { dialog } from '../ErrorPopup/styles'; import { TreeItem } from './treeItem'; import { ExpandableNode } from './ExpandableNode'; @@ -499,12 +500,12 @@ export const ProjectTree: React.FC = ({ : renderTriggerList(dialog.triggers, dialog, projectId, dialogLink, 1); }; - const renderLgImport = (item: LanguageFileImport, projectId: string): React.ReactNode => { + const renderLgImport = (item: LanguageFileImport, projectId: string, dialogId: string): React.ReactNode => { const link: TreeLink = { projectId: rootProjectId, skillId: projectId === rootProjectId ? undefined : projectId, lgFileId: item.id, - dialogId: 'all', + dialogId, displayName: item.displayName ?? item.id, diagnostics: [], isRoot: false, @@ -532,17 +533,17 @@ export const ProjectTree: React.FC = ({ return lgImportsByProjectByDialog[projectId][dialog.id] .filter((lgImport) => filterMatch(dialog.displayName) || filterMatch(lgImport.displayName)) .map((lgImport) => { - return renderLgImport(lgImport, projectId); + return renderLgImport(lgImport, projectId, dialog.id); }); }; - const renderLuImport = (item: LanguageFileImport, projectId: string): React.ReactNode => { + const renderLuImport = (item: LanguageFileImport, projectId: string, dialogId: string): React.ReactNode => { const link: TreeLink = { projectId: rootProjectId, skillId: projectId === rootProjectId ? undefined : projectId, luFileId: item.id, displayName: item.displayName ?? item.id, - dialogId: 'all', + dialogId, diagnostics: [], isRoot: false, isRemote: false, @@ -569,7 +570,7 @@ export const ProjectTree: React.FC = ({ return luImportsByProjectByDialog[projectId][dialog.id] .filter((luImport) => filterMatch(dialog.displayName) || filterMatch(luImport.displayName)) .map((luImport) => { - return renderLuImport(luImport, projectId); + return renderLuImport(luImport, projectId, dialog.id); }); }; @@ -586,8 +587,12 @@ export const ProjectTree: React.FC = ({ ); const commonLink = options.showCommonLinks ? [renderCommonDialogHeader(projectId, 1)] : []; - const importedLgLinks = options.showLgImports ? lgImportsList.map((file) => renderLgImport(file, projectId)) : []; - const importedLuLinks = options.showLuImports ? luImportsList.map((file) => renderLuImport(file, projectId)) : []; + const importedLgLinks = options.showLgImports + ? lgImportsList.map((file) => renderLgImport(file, projectId, dialog.id)) + : []; + const importedLuLinks = options.showLuImports + ? luImportsList.map((file) => renderLuImport(file, projectId, dialog.id)) + : []; return [ ...commonLink, diff --git a/Composer/packages/client/src/pages/language-understanding/table-view.tsx b/Composer/packages/client/src/pages/language-understanding/table-view.tsx index 13569b24c3..95a222d373 100644 --- a/Composer/packages/client/src/pages/language-understanding/table-view.tsx +++ b/Composer/packages/client/src/pages/language-understanding/table-view.tsx @@ -157,14 +157,18 @@ const TableView: React.FC = (props) => { [defaultLangFile, actualProjectId] ); - const getTemplatesMoreButtons = (item, index): IContextualMenuItem[] => { + const getTemplatesMoreButtons = (item, index, luFileId): IContextualMenuItem[] => { const buttons = [ { key: 'edit', name: formatMessage('Edit'), onClick: () => { const { name, dialogId } = intents[index]; - navigateTo(`${baseURL}language-understanding/${dialogId}/edit?t=${encodeURIComponent(name)}`); + navigateTo( + `${baseURL}language-understanding/${dialogId}${ + luFileId ? `/item/${luFileId}/` : '/' + }edit?t=${encodeURIComponent(name)}` + ); }, }, ]; @@ -373,7 +377,7 @@ const TableView: React.FC = (props) => { menuIconProps={{ iconName: 'MoreVertical' }} menuProps={{ shouldFocusOnMount: true, - items: getTemplatesMoreButtons(item, index), + items: getTemplatesMoreButtons(item, index, luFileId), }} styles={{ menuIcon: { color: NeutralColors.black, fontSize: FontSizes.size16 } }} /> diff --git a/Composer/packages/client/src/router.tsx b/Composer/packages/client/src/router.tsx index 96bf0c8cc8..84e10dbaad 100644 --- a/Composer/packages/client/src/router.tsx +++ b/Composer/packages/client/src/router.tsx @@ -66,13 +66,11 @@ const Routes = (props) => { - - @@ -81,7 +79,6 @@ const Routes = (props) => { - From 830559efcb22534af6b38cb2fd84158247537096 Mon Sep 17 00:00:00 2001 From: pavolum Date: Tue, 16 Mar 2021 20:47:37 -0400 Subject: [PATCH 18/41] Fixing projectId state by ordering state change (#6437) Co-authored-by: Patrick Volum --- .../client/src/recoilModel/dispatchers/utils/project.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts b/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts index 1a86cde5bc..34ec545479 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/utils/project.ts @@ -704,8 +704,6 @@ export const postRootBotCreation = async ( source, projectIdCache ) => { - callbackHelpers.set(botProjectIdsState, (current) => [...current, projectId]); - if (settingStorage.get(projectId)) { settingStorage.remove(projectId); } @@ -719,6 +717,9 @@ export const postRootBotCreation = async ( callbackHelpers.set(createQnAOnState, { projectId, dialogId: mainDialog }); callbackHelpers.set(showCreateQnAFromUrlDialogState(projectId), true); } + + callbackHelpers.set(botProjectIdsState, [projectId]); + if (profile) { // ABS Create Flow, update publishProfile after create project const dispatcher = await callbackHelpers.snapshot.getPromise(dispatcherState); From d2cb11bf88b8fb3a296994a39d40361c97ace06a Mon Sep 17 00:00:00 2001 From: Andy Brown Date: Wed, 17 Mar 2021 10:20:04 -0700 Subject: [PATCH 19/41] prepare changelog for 1.4.0 --- releases/1.4.0.md | 263 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 releases/1.4.0.md diff --git a/releases/1.4.0.md b/releases/1.4.0.md new file mode 100644 index 0000000000..a87ab4d825 --- /dev/null +++ b/releases/1.4.0.md @@ -0,0 +1,263 @@ +# 1.4.0 + +## What's new March 2021 + +- TODO + +## Changelog + +#### Added + +- feat: update runtime package to 4.12.1 ([#6441](https://github.com/microsoft/BotFramework-Composer/pull/6441)) ([@boydc2014](https://github.com/boydc2014)) +- feat: Implement layout to errorCallout ([#6396](https://github.com/microsoft/BotFramework-Composer/pull/6396)) ([@cdonke](https://github.com/cdonke)) +- feat: Add telemetry to track if Composer was opened from PVA or ABS ([#6368](https://github.com/microsoft/BotFramework-Composer/pull/6368)) ([@tdurnford](https://github.com/tdurnford)) +- feat: Add project ids, subscription id, and Microsoft app ids to telemetry ([#6360](https://github.com/microsoft/BotFramework-Composer/pull/6360)) ([@tdurnford](https://github.com/tdurnford)) +- feat: update dotnet sdk version from 4.12.0-rc1 -> 4.12.0 ([#6236](https://github.com/microsoft/BotFramework-Composer/pull/6236)) ([@yeze322](https://github.com/yeze322)) +- feat: Add telemetry tracking for ABS channel functions ([#6214](https://github.com/microsoft/BotFramework-Composer/pull/6214)) ([@benbrown](https://github.com/benbrown)) +- feat: enabled multiline text fields in LG Editor ([#6209](https://github.com/microsoft/BotFramework-Composer/pull/6209)) ([@tdurnford](https://github.com/tdurnford)) +- feature: adapter packages can be downloaded and configured ([#6024](https://github.com/microsoft/BotFramework-Composer/pull/6024)) ([@beyackle](https://github.com/beyackle)) +- feat: Allow BeginDialog to use arbitrary dialog id ([#6060](https://github.com/microsoft/BotFramework-Composer/pull/6060)) ([@tdurnford](https://github.com/tdurnford)) +- feat: update dotnet sdk package to 4.12.0-rc1, js sdk.schema to 4.12.0-rc3 ([#5920](https://github.com/microsoft/BotFramework-Composer/pull/5920)) ([@yeze322](https://github.com/yeze322)) +- feat: add a new getting started section at the top of bot settings ([#5939](https://github.com/microsoft/BotFramework-Composer/pull/5939)) ([@benbrown](https://github.com/benbrown)) +- feat: appended provision with a profile ([#5741](https://github.com/microsoft/BotFramework-Composer/pull/5741)) ([@VanyLaw](https://github.com/VanyLaw)) +- feature: Add support for MSA authentication ([#5909](https://github.com/microsoft/BotFramework-Composer/pull/5909)) ([@tonyanziano](https://github.com/tonyanziano)) +- feat: abs handoff in composer ([#5669](https://github.com/microsoft/BotFramework-Composer/pull/5669)) ([@VanyLaw](https://github.com/VanyLaw)) +- feat: update global font settings ([#5926](https://github.com/microsoft/BotFramework-Composer/pull/5926)) ([@zhixzhan](https://github.com/zhixzhan)) +- feat: Webchat Integration bugbash and Telemetry ([#5886](https://github.com/microsoft/BotFramework-Composer/pull/5886)) ([@srinaath](https://github.com/srinaath)) +- feat: add severity filter for debug panel ([#5852](https://github.com/microsoft/BotFramework-Composer/pull/5852)) ([@alanlong9278](https://github.com/alanlong9278)) +- feat: extension settings and improved extension builds ([#5670](https://github.com/microsoft/BotFramework-Composer/pull/5670)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- feat: add debug panel to lu/lg/qna page ([#5825](https://github.com/microsoft/BotFramework-Composer/pull/5825)) ([@alanlong9278](https://github.com/alanlong9278)) +- feat: DirectLine server error handling ([#5834](https://github.com/microsoft/BotFramework-Composer/pull/5834)) ([@srinaath](https://github.com/srinaath)) +- feat: Adding QNA Maker template to template list in component creation flow ([#5798](https://github.com/microsoft/BotFramework-Composer/pull/5798)) ([@pavolum](https://github.com/pavolum)) +- feat: Orchestrator MultiLanguage Support ([#5788](https://github.com/microsoft/BotFramework-Composer/pull/5788)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- feat: package manager supports custom feeds, search, local feeds, multiple available versions of a package, and refreshed UI! ([#5557](https://github.com/microsoft/BotFramework-Composer/pull/5557)) ([@benbrown](https://github.com/benbrown)) +- feat: Webchat Integration ([#5790](https://github.com/microsoft/BotFramework-Composer/pull/5790)) ([@srinaath](https://github.com/srinaath)) +- feat: Debugging panel with integrated diagnostics data ([#5686](https://github.com/microsoft/BotFramework-Composer/pull/5686)) ([@yeze322](https://github.com/yeze322)) +- feat: Lg editing improvements ([#5799](https://github.com/microsoft/BotFramework-Composer/pull/5799)) ([@hatpick](https://github.com/hatpick)) +- feat: Mock Directline Extension ([#5716](https://github.com/microsoft/BotFramework-Composer/pull/5716)) ([@srinaath](https://github.com/srinaath)) +- feat: support multibot templates during in new creation flow ([#5772](https://github.com/microsoft/BotFramework-Composer/pull/5772)) ([@benbrown](https://github.com/benbrown)) +- feat: Add SetSpeakMiddleware to WebApp and Functions runtimes ([#5721](https://github.com/microsoft/BotFramework-Composer/pull/5721)) ([@garypretty](https://github.com/garypretty)) +- feat: LG and LU folding range support in editors ([#5620](https://github.com/microsoft/BotFramework-Composer/pull/5620)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- feat: Change editors to default monospaced fonts, adds ([#5707](https://github.com/microsoft/BotFramework-Composer/pull/5707)) ([@cwhitten](https://github.com/cwhitten)) +- feat: npm based 'new bot' flow behind feature flag ([#5029](https://github.com/microsoft/BotFramework-Composer/pull/5029)) ([@pavolum](https://github.com/pavolum)) +- feat: apply new deisgn on project tree to solve Critical create actions inaccessible issue on Project Tree ([#5722](https://github.com/microsoft/BotFramework-Composer/pull/5722)) ([@liweitian](https://github.com/liweitian)) +- feat: Add utruncated user id to telemetry events ([#5742](https://github.com/microsoft/BotFramework-Composer/pull/5742)) ([@tdurnford](https://github.com/tdurnford)) +- feat: Alert a warning before remove a skill ([#5638](https://github.com/microsoft/BotFramework-Composer/pull/5638)) ([@zhixzhan](https://github.com/zhixzhan)) +- feat: LG editor improvements (part 1) ([#5631](https://github.com/microsoft/BotFramework-Composer/pull/5631)) ([@hatpick](https://github.com/hatpick)) +- feat: Trigger UI Schema ([#4079](https://github.com/microsoft/BotFramework-Composer/pull/4079)) ([@yeze322](https://github.com/yeze322)) +- feat: change source of packages from local feed to live npm/nuget feed ([#5516](https://github.com/microsoft/BotFramework-Composer/pull/5516)) ([@benbrown](https://github.com/benbrown)) + +#### Fixed + +- fix: hidden showCode button when url is all & show code for form dialog ([#6444](https://github.com/microsoft/BotFramework-Composer/pull/6444)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: make CSS show triangles in project tree ([#6428](https://github.com/microsoft/BotFramework-Composer/pull/6428)) ([@beyackle](https://github.com/beyackle)) +- fix: load feature flags if default keys have changed ([#6432](https://github.com/microsoft/BotFramework-Composer/pull/6432)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- fix: use new create flow during add skill if enabled ([#6427](https://github.com/microsoft/BotFramework-Composer/pull/6427)) ([@pavolum](https://github.com/pavolum)) +- fix: composer doesn't see component dialogs that are in subfolders ([#6420](https://github.com/microsoft/BotFramework-Composer/pull/6420)) ([@lei9444](https://github.com/lei9444)) +- fix: revert yeoman-environment to 2.10.3 from 3.1.0 ([#6415](https://github.com/microsoft/BotFramework-Composer/pull/6415)) ([@benbrown](https://github.com/benbrown)) +- fix: lg create error with multi-language ([#6412](https://github.com/microsoft/BotFramework-Composer/pull/6412)) ([@lei9444](https://github.com/lei9444)) +- fix: Allow multiline variations for LG text and speech modalities ([#6394](https://github.com/microsoft/BotFramework-Composer/pull/6394)) ([@hatpick](https://github.com/hatpick)) +- fix: Remove Attachment Lg template when they are deleted in the Response Editor ([#6405](https://github.com/microsoft/BotFramework-Composer/pull/6405)) ([@tdurnford](https://github.com/tdurnford)) +- fix: refactor workers into their own package ([#6382](https://github.com/microsoft/BotFramework-Composer/pull/6382)) ([@benbrown](https://github.com/benbrown)) +- fix: the dialog name does not update in the navigation pane when changed in the properties panel ([#6393](https://github.com/microsoft/BotFramework-Composer/pull/6393)) ([@lei9444](https://github.com/lei9444)) +- fix: Fixed issue inserting functions in LG ([#6388](https://github.com/microsoft/BotFramework-Composer/pull/6388)) ([@tdurnford](https://github.com/tdurnford)) +- fix: read plugin config for action names in breadcrumb array ([#6380](https://github.com/microsoft/BotFramework-Composer/pull/6380)) ([@beyackle](https://github.com/beyackle)) +- fix: change links based on bug-bash suggestions ([#6208](https://github.com/microsoft/BotFramework-Composer/pull/6208)) ([@beyackle](https://github.com/beyackle)) +- fix: add cache for orchestrator build to reduce the re-build time ([#6373](https://github.com/microsoft/BotFramework-Composer/pull/6373)) ([@lei9444](https://github.com/lei9444)) +- fix: enable deep link from ABS to work as expected with new creation flow ([#6349](https://github.com/microsoft/BotFramework-Composer/pull/6349)) ([@pavolum](https://github.com/pavolum)) +- fix: change provision script to support abs azure bot ([#6237](https://github.com/microsoft/BotFramework-Composer/pull/6237)) ([@zidaneymar](https://github.com/zidaneymar)) +- fix: Fix issue in path that caused multibot templates to be misinterpreted as single bots ([#6250](https://github.com/microsoft/BotFramework-Composer/pull/6250)) ([@benbrown](https://github.com/benbrown)) +- fix: allow multiple feeds with same url to co-exist ([#6219](https://github.com/microsoft/BotFramework-Composer/pull/6219)) ([@benbrown](https://github.com/benbrown)) +- fix: Fix LgEditor overwriting prompt validation changes ([#6362](https://github.com/microsoft/BotFramework-Composer/pull/6362)) ([@tdurnford](https://github.com/tdurnford)) +- fix: Disable onboarding ([#6344](https://github.com/microsoft/BotFramework-Composer/pull/6344)) ([@tdurnford](https://github.com/tdurnford)) +- fix: Orchestrator publishing settings were wrong (legacy runtime) ([#6307](https://github.com/microsoft/BotFramework-Composer/pull/6307)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- fix: moved long running creation steps to worker threads to prevent main process overload ([#6323](https://github.com/microsoft/BotFramework-Composer/pull/6323)) ([@pavolum](https://github.com/pavolum)) +- fix: Updated Speech Documentation to be accurate. Update speech.md ([#6195](https://github.com/microsoft/BotFramework-Composer/pull/6195)) ([@Dewain27](https://github.com/Dewain27)) +- fix: Bot should not be blocked from running if there potential syntax error for lg custom function ([#6331](https://github.com/microsoft/BotFramework-Composer/pull/6331)) ([@lei9444](https://github.com/lei9444)) +- fix: change the incorrect LG auto-completion behaviors and add necessary properties of turn.activity ([#6332](https://github.com/microsoft/BotFramework-Composer/pull/6332)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- fix: add subtext in provision dialog ([#6329](https://github.com/microsoft/BotFramework-Composer/pull/6329)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix: enable personal account. ([#6112](https://github.com/microsoft/BotFramework-Composer/pull/6112)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix: read me view additions to be inline with design spec ([#6141](https://github.com/microsoft/BotFramework-Composer/pull/6141)) ([@pavolum](https://github.com/pavolum)) +- fix: ordered template list ([#6285](https://github.com/microsoft/BotFramework-Composer/pull/6285)) ([@pavolum](https://github.com/pavolum)) +- fix: standardize spelling of `Web Chat` ([#6217](https://github.com/microsoft/BotFramework-Composer/pull/6217)) ([@benbrown](https://github.com/benbrown)) +- fix: Switch toLower and toUpper description ([#6315](https://github.com/microsoft/BotFramework-Composer/pull/6315)) ([@iMicknl](https://github.com/iMicknl)) +- fix: restyle text in "console-style" error box ([#6216](https://github.com/microsoft/BotFramework-Composer/pull/6216)) ([@beyackle](https://github.com/beyackle)) +- fix: Content in Error modal is not wrapped ([#6308](https://github.com/microsoft/BotFramework-Composer/pull/6308)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: disable LUIS directVersionPublish ([#5749](https://github.com/microsoft/BotFramework-Composer/pull/5749)) ([@liweitian](https://github.com/liweitian)) +- fix: move orchestrator build to worker ([#6240](https://github.com/microsoft/BotFramework-Composer/pull/6240)) ([@lei9444](https://github.com/lei9444)) +- fix: remove the notification pop up for luis language warning ([#6306](https://github.com/microsoft/BotFramework-Composer/pull/6306)) ([@lei9444](https://github.com/lei9444)) +- fix: Allow Orchestrator to process Luis-filtered Locales ([#6286](https://github.com/microsoft/BotFramework-Composer/pull/6286)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- fix: reset errors when switching between bots ([#6235](https://github.com/microsoft/BotFramework-Composer/pull/6235)) ([@liweitian](https://github.com/liweitian)) +- fix: import lg/lu not find all up view ([#6238](https://github.com/microsoft/BotFramework-Composer/pull/6238)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: Webchat Inspector behavior ([#6251](https://github.com/microsoft/BotFramework-Composer/pull/6251)) ([@srinaath](https://github.com/srinaath)) +- fix: repair unquoted braces in l10n files ([#6247](https://github.com/microsoft/BotFramework-Composer/pull/6247)) ([@beyackle](https://github.com/beyackle)) +- fix: redesign get started widget to solve some ux problems ([#6121](https://github.com/microsoft/BotFramework-Composer/pull/6121)) ([@benbrown](https://github.com/benbrown)) +- fix: publish status is not up to date ([#6111](https://github.com/microsoft/BotFramework-Composer/pull/6111)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: select luis region will make the review page white screen ([#6104](https://github.com/microsoft/BotFramework-Composer/pull/6104)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix: make resource group configurable in deploy.ps1 ([#6107](https://github.com/microsoft/BotFramework-Composer/pull/6107)) ([@zidaneymar](https://github.com/zidaneymar)) +- fix: template selection design fixes ([#6077](https://github.com/microsoft/BotFramework-Composer/pull/6077)) ([@pavolum](https://github.com/pavolum)) +- fix: Updated labels in the lg editor ([#6091](https://github.com/microsoft/BotFramework-Composer/pull/6091)) ([@tdurnford](https://github.com/tdurnford)) +- fix: properly truncate long versions in install button ([#6069](https://github.com/microsoft/BotFramework-Composer/pull/6069)) ([@benbrown](https://github.com/benbrown)) +- fix: Corrected the path to the PVA publish UI bundle ([#6092](https://github.com/microsoft/BotFramework-Composer/pull/6092)) ([@tonyanziano](https://github.com/tonyanziano)) +- fix: orphaned skill in project tree ([#6078](https://github.com/microsoft/BotFramework-Composer/pull/6078)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: add subscription id to json editor schema ([#5737](https://github.com/microsoft/BotFramework-Composer/pull/5737)) ([@zidaneymar](https://github.com/zidaneymar)) +- fix: make sure orchestrator behaves properly in package manager ([#6066](https://github.com/microsoft/BotFramework-Composer/pull/6066)) ([@benbrown](https://github.com/benbrown)) +- fix: Don't prompt for LUIS key if not needed ([#6076](https://github.com/microsoft/BotFramework-Composer/pull/6076)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- fix: Webchat Inspector context ([#6067](https://github.com/microsoft/BotFramework-Composer/pull/6067)) ([@srinaath](https://github.com/srinaath)) +- fix: Fix status url ([#6063](https://github.com/microsoft/BotFramework-Composer/pull/6063)) ([@benbrown](https://github.com/benbrown)) +- fix: Fixed removing empty attachment modality in Response Editor ([#6057](https://github.com/microsoft/BotFramework-Composer/pull/6057)) ([@tdurnford](https://github.com/tdurnford)) +- fix: generate friendlier project names from new long package names. ([#5983](https://github.com/microsoft/BotFramework-Composer/pull/5983)) ([@benbrown](https://github.com/benbrown)) +- fix: bot load files include form dialog generated files ([#6041](https://github.com/microsoft/BotFramework-Composer/pull/6041)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: Orchestrator downloads multi-language model when it is not needed ([#6032](https://github.com/microsoft/BotFramework-Composer/pull/6032)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- fix: Bot Response page show wrong content for common lg file ([#6043](https://github.com/microsoft/BotFramework-Composer/pull/6043)) ([@lei9444](https://github.com/lei9444)) +- fix: get diagnostics data for different project not work ([#6004](https://github.com/microsoft/BotFramework-Composer/pull/6004)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: Change delete confirmation from a radio button group to a checkbox ([#6031](https://github.com/microsoft/BotFramework-Composer/pull/6031)) ([@tdurnford](https://github.com/tdurnford)) +- fix: do not use sdk schema for settings json editor ([#5964](https://github.com/microsoft/BotFramework-Composer/pull/5964)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- fix: support relative path to runtime ([#5950](https://github.com/microsoft/BotFramework-Composer/pull/5950)) ([@benbrown](https://github.com/benbrown)) +- fix: small bug fixes in the ui for package manager ([#5980](https://github.com/microsoft/BotFramework-Composer/pull/5980)) ([@benbrown](https://github.com/benbrown)) +- fix: luis deploy e2e test failed ([#6007](https://github.com/microsoft/BotFramework-Composer/pull/6007)) ([@lei9444](https://github.com/lei9444)) +- fix: Orchestrator Download Notification ([#5848](https://github.com/microsoft/BotFramework-Composer/pull/5848)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- fix: Diagnostics location navigation issue ([#6002](https://github.com/microsoft/BotFramework-Composer/pull/6002)) ([@lei9444](https://github.com/lei9444)) +- fix: the recognizer dialog created is for LUIS even if Orchestrator is selected in dropdown ([#5689](https://github.com/microsoft/BotFramework-Composer/pull/5689)) ([@lei9444](https://github.com/lei9444)) +- fix: Bot Controller style fixes ([#6000](https://github.com/microsoft/BotFramework-Composer/pull/6000)) ([@srinaath](https://github.com/srinaath)) +- fix: debug panel UX improvements ([#5928](https://github.com/microsoft/BotFramework-Composer/pull/5928)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: Fixed Lg Editor style issues and remove modality behavior ([#5970](https://github.com/microsoft/BotFramework-Composer/pull/5970)) ([@tdurnford](https://github.com/tdurnford)) +- fix: resolve potential crashing bug when npm is not installed ([#5963](https://github.com/microsoft/BotFramework-Composer/pull/5963)) ([@benbrown](https://github.com/benbrown)) +- fix: Pass updated MSAppID and MsPass on restart ([#5957](https://github.com/microsoft/BotFramework-Composer/pull/5957)) ([@srinaath](https://github.com/srinaath)) +- fix: Fixed issue with adding structured choices to choice prompts ([#5945](https://github.com/microsoft/BotFramework-Composer/pull/5945)) ([@tdurnford](https://github.com/tdurnford)) +- fix: wrap parameters for cli commands in quotes ([#5941](https://github.com/microsoft/BotFramework-Composer/pull/5941)) ([@benbrown](https://github.com/benbrown)) +- fix: Lg Editor bus and ux improvement from bug bash ([#5936](https://github.com/microsoft/BotFramework-Composer/pull/5936)) ([@hatpick](https://github.com/hatpick)) +- fix: Add AddNewKnowledgeBaseCompleted telemetry event to create KB from scratch ([#5778](https://github.com/microsoft/BotFramework-Composer/pull/5778)) ([@tdurnford](https://github.com/tdurnford)) +- fix: remove redundant pre-built entities suggestions ([#5890](https://github.com/microsoft/BotFramework-Composer/pull/5890)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- fix: allow update lg template with empty body ( follow up ) ([#5925](https://github.com/microsoft/BotFramework-Composer/pull/5925)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: update luis name after saving as a project ([#5596](https://github.com/microsoft/BotFramework-Composer/pull/5596)) ([@liweitian](https://github.com/liweitian)) +- fix: security alerts from url-parse ([#5884](https://github.com/microsoft/BotFramework-Composer/pull/5884)) ([@lei9444](https://github.com/lei9444)) +- fix: add static QnA and Luis entities and remove duplicate entities ([#5883](https://github.com/microsoft/BotFramework-Composer/pull/5883)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- fix: support templates within namespaces ([#5865](https://github.com/microsoft/BotFramework-Composer/pull/5865)) ([@benbrown](https://github.com/benbrown)) +- fix: auto-complete behavior for memory variables and add support of suggest Luis entities ([#5736](https://github.com/microsoft/BotFramework-Composer/pull/5736)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- fix: fix json parse error in luis publish, and update error message ([#5840](https://github.com/microsoft/BotFramework-Composer/pull/5840)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix: circular dependencies in client package ([#5860](https://github.com/microsoft/BotFramework-Composer/pull/5860)) ([@lei9444](https://github.com/lei9444)) +- fix: security failure issue by updating js runtime package ([#5858](https://github.com/microsoft/BotFramework-Composer/pull/5858)) ([@feich-ms](https://github.com/feich-ms)) +- fix: update bf-lu version to resolve app settings missing issue in luis publishing ([#5733](https://github.com/microsoft/BotFramework-Composer/pull/5733)) ([@feich-ms](https://github.com/feich-ms)) +- fix: Composer nav + button discoverability ([#5718](https://github.com/microsoft/BotFramework-Composer/pull/5718)) ([@lei9444](https://github.com/lei9444)) +- fix: Fixed structuredResponseToString to return an empty string for empty structured response templates ([#5831](https://github.com/microsoft/BotFramework-Composer/pull/5831)) ([@tdurnford](https://github.com/tdurnford)) +- fix: removing REMOTE_TEMPLATE_CREATION_EXPERIENCE feature flag ([#5801](https://github.com/microsoft/BotFramework-Composer/pull/5801)) ([@pavolum](https://github.com/pavolum)) +- fix: Fixed support for importing bots from SDF environment in PVA ([#5816](https://github.com/microsoft/BotFramework-Composer/pull/5816)) ([@tonyanziano](https://github.com/tonyanziano)) +- fix: LG templates error in form dialog generation ([#5823](https://github.com/microsoft/BotFramework-Composer/pull/5823)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: get projectId from link in tree navigation ([#5746](https://github.com/microsoft/BotFramework-Composer/pull/5746)) ([@beyackle](https://github.com/beyackle)) +- fix: Remove nuget feed from Nuget.config ([#5734](https://github.com/microsoft/BotFramework-Composer/pull/5734)) ([@boydc2014](https://github.com/boydc2014)) +- fix: add 100px marign right for branching nodes (SwitchConditon, IfCondition) ([#5693](https://github.com/microsoft/BotFramework-Composer/pull/5693)) ([@yeze322](https://github.com/yeze322)) +- fix: text input cursor err in runtime section ([#5636](https://github.com/microsoft/BotFramework-Composer/pull/5636)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: docker build failed ([#5714](https://github.com/microsoft/BotFramework-Composer/pull/5714)) ([@lei9444](https://github.com/lei9444)) +- fix: No exception thrown when unsupported locale is set for Luis publish ([#5688](https://github.com/microsoft/BotFramework-Composer/pull/5688)) ([@lei9444](https://github.com/lei9444)) +- fix: Pass access token for publishing through request body instead of header ([#5700](https://github.com/microsoft/BotFramework-Composer/pull/5700)) ([@tonyanziano](https://github.com/tonyanziano)) +- fix: add locale parameter support in built-in functions and update built-in function map ([#5599](https://github.com/microsoft/BotFramework-Composer/pull/5599)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- fix: consume some env variables from bash instead of JS ([#5696](https://github.com/microsoft/BotFramework-Composer/pull/5696)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- fix: unify display name function in client, visual editor ([#5474](https://github.com/microsoft/BotFramework-Composer/pull/5474)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: keyboard focus error ([#5602](https://github.com/microsoft/BotFramework-Composer/pull/5602)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: correct project tree menu items for remote skill ([#5685](https://github.com/microsoft/BotFramework-Composer/pull/5685)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: Only publish the dialog referred qna file ([#5674](https://github.com/microsoft/BotFramework-Composer/pull/5674)) ([@lei9444](https://github.com/lei9444)) +- fix: refine the error message when the bot is deleted ([#5679](https://github.com/microsoft/BotFramework-Composer/pull/5679)) ([@lei9444](https://github.com/lei9444)) +- fix: lg files auto add placeholder for missing templates ([#5654](https://github.com/microsoft/BotFramework-Composer/pull/5654)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: Pop up the error message from persistence layer ([#5606](https://github.com/microsoft/BotFramework-Composer/pull/5606)) ([@lei9444](https://github.com/lei9444)) +- fix: use directVersionPublish for LUIS to avoid 404 in bot response ([#5639](https://github.com/microsoft/BotFramework-Composer/pull/5639)) ([@alanlong9278](https://github.com/alanlong9278)) +- fix: botProject UT depends on external service ([#5656](https://github.com/microsoft/BotFramework-Composer/pull/5656)) ([@lei9444](https://github.com/lei9444)) +- fix: yarn start:dev throw error ([#5609](https://github.com/microsoft/BotFramework-Composer/pull/5609)) ([@lei9444](https://github.com/lei9444)) +- fix: upgrade the immer version to fix security error ([#5600](https://github.com/microsoft/BotFramework-Composer/pull/5600)) ([@lei9444](https://github.com/lei9444)) +- fix: Move persistence layer's delta computation into worker ([#5563](https://github.com/microsoft/BotFramework-Composer/pull/5563)) ([@lei9444](https://github.com/lei9444)) +- fix: electron update error ([#5573](https://github.com/microsoft/BotFramework-Composer/pull/5573)) ([@zhixzhan](https://github.com/zhixzhan)) +- fix: showing correct error message in local publish ([#5509](https://github.com/microsoft/BotFramework-Composer/pull/5509)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix: correctly generate l10n files when using zsh ([#5555](https://github.com/microsoft/BotFramework-Composer/pull/5555)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- fix: designPage navigation to settings Page url error ([#5546](https://github.com/microsoft/BotFramework-Composer/pull/5546)) ([@liweitian](https://github.com/liweitian)) +- fix: luis\qna key missing in skill bot ([#5545](https://github.com/microsoft/BotFramework-Composer/pull/5545)) ([@liweitian](https://github.com/liweitian)) +- fix: change feature flag text ([#6438](https://github.com/microsoft/BotFramework-Composer/pull/6438)) ([@pavolum](https://github.com/pavolum)) + +#### Changed + +- style: polish UI of provision dialog ([#5482](https://github.com/microsoft/BotFramework-Composer/pull/5482)) ([@VanyLaw](https://github.com/VanyLaw)) +- refactor: break down the design page(the first step) ([#5623](https://github.com/microsoft/BotFramework-Composer/pull/5623)) ([@lei9444](https://github.com/lei9444)) +- refactor: Refactor publish page. ([#5375](https://github.com/microsoft/BotFramework-Composer/pull/5375)) ([@alanlong9278](https://github.com/alanlong9278)) + +#### Other + +- chore: fix several uischema hook issues ([#5710](https://github.com/microsoft/BotFramework-Composer/pull/5710)) ([@yeze322](https://github.com/yeze322)) +- chore: restart dev server when extensions change ([#6347](https://github.com/microsoft/BotFramework-Composer/pull/6347)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- chore: project tree flatten imports ([#6354](https://github.com/microsoft/BotFramework-Composer/pull/6354)) ([@zhixzhan](https://github.com/zhixzhan)) +- chore: add creation script for new extensions ([#6089](https://github.com/microsoft/BotFramework-Composer/pull/6089)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- chore: update label for new feature request issues ([#6339](https://github.com/microsoft/BotFramework-Composer/pull/6339)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- chore: prettify and lint extensions ([#6090](https://github.com/microsoft/BotFramework-Composer/pull/6090)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- chore: automated localization updates ([#6030](https://github.com/microsoft/BotFramework-Composer/pull/6030)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) +- doc: update/provision+publish/readmes ([#5810](https://github.com/microsoft/BotFramework-Composer/pull/5810)) ([@zxyanliu](https://github.com/zxyanliu)) +- chore: Webchat 4.12 upgrade ([#6075](https://github.com/microsoft/BotFramework-Composer/pull/6075)) ([@srinaath](https://github.com/srinaath)) +- docs: Docs for the new channel enablement ([#6055](https://github.com/microsoft/BotFramework-Composer/pull/6055)) ([@benbrown](https://github.com/benbrown)) +- chore: remove $kind restriction on Flow Editor layouter ([#5999](https://github.com/microsoft/BotFramework-Composer/pull/5999)) ([@yeze322](https://github.com/yeze322)) +- chore: Replaces single apostrophies with ’ U+2019 ([#6015](https://github.com/microsoft/BotFramework-Composer/pull/6015)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) +- chore: Added documentation ([#5878](https://github.com/microsoft/BotFramework-Composer/pull/5878)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) +- chore: Remove Orchestrator Feature Flag ([#5927](https://github.com/microsoft/BotFramework-Composer/pull/5927)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- chore: only get bot files from known paths ([#5824](https://github.com/microsoft/BotFramework-Composer/pull/5824)) ([@zhixzhan](https://github.com/zhixzhan)) +- chore: update @bfc/form-dialogs to use tsc instead of webpack for build (faster) ([#5864](https://github.com/microsoft/BotFramework-Composer/pull/5864)) ([@hatpick](https://github.com/hatpick)) +- chore: Upgrade pipelines to Node LTS ([#5815](https://github.com/microsoft/BotFramework-Composer/pull/5815)) ([@srinaath](https://github.com/srinaath)) +- revert: feature issue template ([#5796](https://github.com/microsoft/BotFramework-Composer/pull/5796)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- perf: avoid multi re-rendering when switch the project tree item (step 2) ([#5673](https://github.com/microsoft/BotFramework-Composer/pull/5673)) ([@lei9444](https://github.com/lei9444)) +- chore: Hide triggers 'OnQnAMatch' and 'OnChooseIntent' in PVA env ([#5619](https://github.com/microsoft/BotFramework-Composer/pull/5619)) ([@yeze322](https://github.com/yeze322)) +- chore: Avoid re-render on project tree when select an item ([#5552](https://github.com/microsoft/BotFramework-Composer/pull/5552)) ([@zhixzhan](https://github.com/zhixzhan)) +- chore: deprecate feature request issue template ([#5378](https://github.com/microsoft/BotFramework-Composer/pull/5378)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- Fixing projectId state by ordering state change ([#6437](https://github.com/microsoft/BotFramework-Composer/pull/6437)) ([@pavolum](https://github.com/pavolum)) +- Update bf-orchestrator to 4.12.0-beta.20210316.cdd0819 ([#6435](https://github.com/microsoft/BotFramework-Composer/pull/6435)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- Get an ARM token only when publishing to Azure ([#6418](https://github.com/microsoft/BotFramework-Composer/pull/6418)) ([@tonyanziano](https://github.com/tonyanziano)) +- Added gray Composer icon to 'no triggers' dialog state ([#6414](https://github.com/microsoft/BotFramework-Composer/pull/6414)) ([@tonyanziano](https://github.com/tonyanziano)) +- Dev utils ([#6401](https://github.com/microsoft/BotFramework-Composer/pull/6401)) ([@srinaath](https://github.com/srinaath)) +- Fix qna empty bot template creation ([#6378](https://github.com/microsoft/BotFramework-Composer/pull/6378)) ([@pavolum](https://github.com/pavolum)) +- Check for LUIS explicitly, since there can be more than one LU recognizer provider ([#6370](https://github.com/microsoft/BotFramework-Composer/pull/6370)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- Don't show notification until download actually starts ([#6369](https://github.com/microsoft/BotFramework-Composer/pull/6369)) ([@taicchoumsft](https://github.com/taicchoumsft)) +- Bumps react-dev-utils to 11.0.4 ([#6381](https://github.com/microsoft/BotFramework-Composer/pull/6381)) ([@cwhitten](https://github.com/cwhitten)) +- Change identifier used for the new runtime ([#6346](https://github.com/microsoft/BotFramework-Composer/pull/6346)) ([@benbrown](https://github.com/benbrown)) +- add telemetry calls ([#6212](https://github.com/microsoft/BotFramework-Composer/pull/6212)) ([@benbrown](https://github.com/benbrown)) +- fix one auth not initialize ([#6352](https://github.com/microsoft/BotFramework-Composer/pull/6352)) ([@VanyLaw](https://github.com/VanyLaw)) +- fix form dialogs project tree rendering ([#6341](https://github.com/microsoft/BotFramework-Composer/pull/6341)) ([@hatpick](https://github.com/hatpick)) +- fix imports and add a few l10n things ([#6345](https://github.com/microsoft/BotFramework-Composer/pull/6345)) ([@beyackle](https://github.com/beyackle)) +- add steps about testing webchat in portal ([#6337](https://github.com/microsoft/BotFramework-Composer/pull/6337)) ([@benbrown](https://github.com/benbrown)) +- improve a bunch of unit tests ([#6324](https://github.com/microsoft/BotFramework-Composer/pull/6324)) ([@beyackle](https://github.com/beyackle)) +- Added ability to copy Composer's "About" info ([#6319](https://github.com/microsoft/BotFramework-Composer/pull/6319)) ([@tonyanziano](https://github.com/tonyanziano)) +- fix formatting code pre-commit on windows ([#6317](https://github.com/microsoft/BotFramework-Composer/pull/6317)) ([@a-b-r-o-w-n](https://github.com/a-b-r-o-w-n)) +- add new build:ci and fix l10ncheck bug ([#6284](https://github.com/microsoft/BotFramework-Composer/pull/6284)) ([@beyackle](https://github.com/beyackle)) +- move additional period out of feature flag checkbox ([#6222](https://github.com/microsoft/BotFramework-Composer/pull/6222)) ([@beyackle](https://github.com/beyackle)) +- use hooks implement show controller bar ([#6105](https://github.com/microsoft/BotFramework-Composer/pull/6105)) ([@zhixzhan](https://github.com/zhixzhan)) +- Fix #6116 - give adapter section a unique scrollToId ([#6118](https://github.com/microsoft/BotFramework-Composer/pull/6118)) ([@benbrown](https://github.com/benbrown)) +- update default nuget search feed url to include microsoft.bot.components namespace and tag ([#6016](https://github.com/microsoft/BotFramework-Composer/pull/6016)) ([@benbrown](https://github.com/benbrown)) +- fix delete bot bug ([#6046](https://github.com/microsoft/BotFramework-Composer/pull/6046)) ([@liweitian](https://github.com/liweitian)) +- Make enclusion in the eject list dependent on the runtime plugin implementing the eject method ([#6020](https://github.com/microsoft/BotFramework-Composer/pull/6020)) ([@benbrown](https://github.com/benbrown)) +- Make sure advanced settings editor is to 100% height ([#6019](https://github.com/microsoft/BotFramework-Composer/pull/6019)) ([@srinaath](https://github.com/srinaath)) +- fix visual panel header bug on display remote skill ([#5953](https://github.com/microsoft/BotFramework-Composer/pull/5953)) ([@zhixzhan](https://github.com/zhixzhan)) +- target to main ([#5995](https://github.com/microsoft/BotFramework-Composer/pull/5995)) ([@liweitian](https://github.com/liweitian)) +- Update to latest bf-generate-library. ([#5977](https://github.com/microsoft/BotFramework-Composer/pull/5977)) ([@chrimc62](https://github.com/chrimc62)) +- fix command not update in UI after eject ([#5929](https://github.com/microsoft/BotFramework-Composer/pull/5929)) ([@VanyLaw](https://github.com/VanyLaw)) +- add police ([#5854](https://github.com/microsoft/BotFramework-Composer/pull/5854)) ([@lei9444](https://github.com/lei9444)) +- broaded pattern to allow imported dialogs ([#5940](https://github.com/microsoft/BotFramework-Composer/pull/5940)) ([@benbrown](https://github.com/benbrown)) +- fix update lg template with empty body ([#5917](https://github.com/microsoft/BotFramework-Composer/pull/5917)) ([@zhixzhan](https://github.com/zhixzhan)) +- Make NEW_CREATION_FLOW feature flag visible. Remove package manager flag. ([#5903](https://github.com/microsoft/BotFramework-Composer/pull/5903)) ([@benbrown](https://github.com/benbrown)) +- Restrict tempalte feed to those published by microsoft ([#5898](https://github.com/microsoft/BotFramework-Composer/pull/5898)) ([@benbrown](https://github.com/benbrown)) +- Update to latest generator. ([#5887](https://github.com/microsoft/BotFramework-Composer/pull/5887)) ([@chrimc62](https://github.com/chrimc62)) +- update error message about hostname error ([#5837](https://github.com/microsoft/BotFramework-Composer/pull/5837)) ([@VanyLaw](https://github.com/VanyLaw)) +- Ensure SetSpeakMiddleware is enabled by default ([#5776](https://github.com/microsoft/BotFramework-Composer/pull/5776)) ([@garypretty](https://github.com/garypretty)) +- Enable webSocket by default while provisioning ([#5835](https://github.com/microsoft/BotFramework-Composer/pull/5835)) ([@luhan2017](https://github.com/luhan2017)) +- Upgrade docker machine to node 14 and bump the old space size ([#5829](https://github.com/microsoft/BotFramework-Composer/pull/5829)) ([@srinaath](https://github.com/srinaath)) +- reset settings fields when a new projectId loads ([#5802](https://github.com/microsoft/BotFramework-Composer/pull/5802)) ([@beyackle](https://github.com/beyackle)) +- remove resoruce group checking in provision UI ([#5446](https://github.com/microsoft/BotFramework-Composer/pull/5446)) ([@VanyLaw](https://github.com/VanyLaw)) +- add subscription id ([#5711](https://github.com/microsoft/BotFramework-Composer/pull/5711)) ([@zidaneymar](https://github.com/zidaneymar)) +- fix css err when clicking node ([#5713](https://github.com/microsoft/BotFramework-Composer/pull/5713)) ([@alanlong9278](https://github.com/alanlong9278)) +- Remove test ([@cwhitten](https://github.com/cwhitten)) +- AI Studio Framework ([@cwhitten](https://github.com/cwhitten)) +- Update to latest bf-generate ([#5672](https://github.com/microsoft/BotFramework-Composer/pull/5672)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) +- fix typos ([#5652](https://github.com/microsoft/BotFramework-Composer/pull/5652)) ([@hatpick](https://github.com/hatpick)) +- fix authoring endpoint and prediction endpoint mess up ([#5655](https://github.com/microsoft/BotFramework-Composer/pull/5655)) ([@zidaneymar](https://github.com/zidaneymar)) +- Fixes the height and adds templates to the menu ([#5651](https://github.com/microsoft/BotFramework-Composer/pull/5651)) ([@hatpick](https://github.com/hatpick)) +- Eccluding this test for now ([#5647](https://github.com/microsoft/BotFramework-Composer/pull/5647)) ([@srinaath](https://github.com/srinaath)) +- allow click outside focuszone ([#5634](https://github.com/microsoft/BotFramework-Composer/pull/5634)) ([@liweitian](https://github.com/liweitian)) +- change teachingBubble to callout ([#5625](https://github.com/microsoft/BotFramework-Composer/pull/5625)) ([@liweitian](https://github.com/liweitian)) +- fix callout bug ([#5601](https://github.com/microsoft/BotFramework-Composer/pull/5601)) ([@liweitian](https://github.com/liweitian)) +- Update numberinput.dialog ([#5575](https://github.com/microsoft/BotFramework-Composer/pull/5575)) ([@xieofxie](https://github.com/xieofxie)) +- fix hover display incorrect returntype ([#5588](https://github.com/microsoft/BotFramework-Composer/pull/5588)) ([@cosmicshuai](https://github.com/cosmicshuai)) +- set max http header size to fix 431 ([#5521](https://github.com/microsoft/BotFramework-Composer/pull/5521)) ([@VanyLaw](https://github.com/VanyLaw)) +- Updating to daily runtime for R12 development ([#5529](https://github.com/microsoft/BotFramework-Composer/pull/5529)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) +- delete trigger by projectId passed from projectTree ([#5542](https://github.com/microsoft/BotFramework-Composer/pull/5542)) ([@zhixzhan](https://github.com/zhixzhan)) From 82a36c41ee3f59a0c543896f02644cc69f1f63bb Mon Sep 17 00:00:00 2001 From: Dong Lei Date: Thu, 18 Mar 2021 09:37:14 +0000 Subject: [PATCH 20/41] 1.4.0-rc3 --- Composer/packages/client/config/env.js | 2 +- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 5f68e02d8a..6314b13404 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -88,7 +88,7 @@ function getClientEnvironment(publicUrl) { PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0-rc2', + COMPOSER_VERSION: '1.4.0-rc3', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index 4f8719d89a..435c9bf55d 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0-rc2", + "version": "1.4.0-rc3", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index e3135f5387..dc95bf2cd6 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0-rc2'; +export const COMPOSER_VERSION = '1.4.0-rc3'; From 7a9d518f93f1940f5fb1dcb20902025c00a053ea Mon Sep 17 00:00:00 2001 From: Dong Lei Date: Thu, 18 Mar 2021 07:12:48 +0000 Subject: [PATCH 21/41] feat: take 4.12.2 runtime package (#6469) * take 4.12.2 * Update schema Co-authored-by: Lu Han <32191031+luhan2017@users.noreply.github.com> --- Composer/packages/server/schemas/sdk.schema | 244 +++++++++--------- ...oft.BotFramework.Composer.Functions.csproj | 24 +- ...rosoft.BotFramework.Composer.WebApp.csproj | 24 +- runtime/dotnet/azurewebapp/Schemas/sdk.schema | 244 +++++++++--------- ...icrosoft.BotFramework.Composer.Core.csproj | 26 +- ....BotFramework.Composer.CustomAction.csproj | 2 +- 6 files changed, 282 insertions(+), 282 deletions(-) diff --git a/Composer/packages/server/schemas/sdk.schema b/Composer/packages/server/schemas/sdk.schema index c15b9c0b8e..1b230a16b5 100644 --- a/Composer/packages/server/schemas/sdk.schema +++ b/Composer/packages/server/schemas/sdk.schema @@ -346,7 +346,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -382,7 +382,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -479,7 +479,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -519,7 +519,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -599,7 +599,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -791,7 +791,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -885,7 +885,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1007,7 +1007,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -1054,7 +1054,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1121,7 +1121,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1187,7 +1187,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1227,7 +1227,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1332,7 +1332,7 @@ ] }, { - "$ref": "#/definitions/equalsExpression" + "$ref": "#/definitions/stringExpression" } ] }, @@ -1583,7 +1583,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -1633,7 +1633,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1797,7 +1797,7 @@ ] }, { - "$ref": "#/definitions/equalsExpression" + "$ref": "#/definitions/stringExpression" } ] }, @@ -1932,7 +1932,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1970,7 +1970,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2044,7 +2044,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2107,7 +2107,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2155,7 +2155,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2203,7 +2203,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2240,7 +2240,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2286,7 +2286,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2453,7 +2453,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2504,7 +2504,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2560,7 +2560,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2618,7 +2618,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2670,7 +2670,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2709,7 +2709,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2787,7 +2787,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2875,7 +2875,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2913,7 +2913,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3005,7 +3005,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3061,7 +3061,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3108,7 +3108,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3146,7 +3146,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3223,7 +3223,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3302,7 +3302,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3365,7 +3365,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3420,7 +3420,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3482,7 +3482,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3534,7 +3534,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3571,7 +3571,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3610,7 +3610,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3748,7 +3748,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IDialog": { @@ -3906,7 +3906,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IEntityRecognizer": { @@ -3916,7 +3916,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -3997,7 +3997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IRecognizer": { @@ -4086,7 +4086,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.ITextTemplate": { @@ -4103,7 +4103,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.ITrigger": { @@ -4112,7 +4112,7 @@ "description": "Components which derive from OnCondition class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -4209,7 +4209,7 @@ "description": "Components which derive from TriggerSelector class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -4245,7 +4245,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4313,7 +4313,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4457,7 +4457,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4490,7 +4490,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4537,7 +4537,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4604,7 +4604,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.Luis", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4745,7 +4745,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4779,7 +4779,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4821,7 +4821,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4876,7 +4876,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4916,7 +4916,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5093,7 +5093,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5134,7 +5134,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5274,7 +5274,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5344,7 +5344,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5427,7 +5427,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5495,7 +5495,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5563,7 +5563,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5649,7 +5649,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5723,7 +5723,7 @@ "description": "Actions to take when there are multiple possible mappings of entities to properties and operations.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -5792,7 +5792,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5860,7 +5860,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5928,7 +5928,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5997,7 +5997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6066,7 +6066,7 @@ "description": "Actions to take when there are no more actions in the current dialog.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -6141,7 +6141,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6206,7 +6206,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -6277,7 +6277,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6345,7 +6345,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6413,7 +6413,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6481,7 +6481,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6564,7 +6564,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6632,7 +6632,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6700,7 +6700,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6768,7 +6768,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6836,7 +6836,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6904,7 +6904,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6969,7 +6969,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7040,7 +7040,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7108,7 +7108,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7173,7 +7173,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7210,7 +7210,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7247,7 +7247,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7287,7 +7287,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7452,7 +7452,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7635,7 +7635,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7678,7 +7678,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7731,7 +7731,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7772,7 +7772,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7845,7 +7845,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7919,7 +7919,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8000,7 +8000,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8050,7 +8050,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8100,7 +8100,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8148,7 +8148,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8228,7 +8228,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8291,7 +8291,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8354,7 +8354,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8397,7 +8397,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8503,7 +8503,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8567,7 +8567,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8601,7 +8601,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8646,7 +8646,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8820,7 +8820,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8863,7 +8863,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8912,7 +8912,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8980,7 +8980,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -9014,7 +9014,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -9079,7 +9079,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" diff --git a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj index 39e33f99d5..c7eb0ca292 100644 --- a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj +++ b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj @@ -13,18 +13,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj index bc0141152c..753cbb46cf 100644 --- a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj +++ b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj @@ -17,18 +17,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + all diff --git a/runtime/dotnet/azurewebapp/Schemas/sdk.schema b/runtime/dotnet/azurewebapp/Schemas/sdk.schema index c15b9c0b8e..1b230a16b5 100644 --- a/runtime/dotnet/azurewebapp/Schemas/sdk.schema +++ b/runtime/dotnet/azurewebapp/Schemas/sdk.schema @@ -346,7 +346,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -382,7 +382,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -479,7 +479,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -519,7 +519,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -599,7 +599,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -791,7 +791,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -885,7 +885,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1007,7 +1007,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -1054,7 +1054,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1121,7 +1121,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1187,7 +1187,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1227,7 +1227,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1332,7 +1332,7 @@ ] }, { - "$ref": "#/definitions/equalsExpression" + "$ref": "#/definitions/stringExpression" } ] }, @@ -1583,7 +1583,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -1633,7 +1633,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1797,7 +1797,7 @@ ] }, { - "$ref": "#/definitions/equalsExpression" + "$ref": "#/definitions/stringExpression" } ] }, @@ -1932,7 +1932,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -1970,7 +1970,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2044,7 +2044,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2107,7 +2107,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2155,7 +2155,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2203,7 +2203,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2240,7 +2240,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2286,7 +2286,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2453,7 +2453,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2504,7 +2504,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2560,7 +2560,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2618,7 +2618,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2670,7 +2670,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2709,7 +2709,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2787,7 +2787,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -2875,7 +2875,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -2913,7 +2913,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3005,7 +3005,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3061,7 +3061,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3108,7 +3108,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3146,7 +3146,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3223,7 +3223,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3302,7 +3302,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3365,7 +3365,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3420,7 +3420,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3482,7 +3482,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3534,7 +3534,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3571,7 +3571,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -3610,7 +3610,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -3748,7 +3748,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IDialog": { @@ -3906,7 +3906,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IEntityRecognizer": { @@ -3916,7 +3916,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -3997,7 +3997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.IRecognizer": { @@ -4086,7 +4086,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.ITextTemplate": { @@ -4103,7 +4103,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Declarative", - "version": "4.12.1" + "version": "4.12.2" } }, "Microsoft.ITrigger": { @@ -4112,7 +4112,7 @@ "description": "Components which derive from OnCondition class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -4209,7 +4209,7 @@ "description": "Components which derive from TriggerSelector class.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "oneOf": [ { @@ -4245,7 +4245,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4313,7 +4313,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4457,7 +4457,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4490,7 +4490,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4537,7 +4537,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4604,7 +4604,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.Luis", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4745,7 +4745,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4779,7 +4779,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4821,7 +4821,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -4876,7 +4876,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -4916,7 +4916,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5093,7 +5093,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5134,7 +5134,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5274,7 +5274,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5344,7 +5344,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5427,7 +5427,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5495,7 +5495,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5563,7 +5563,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -5649,7 +5649,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5723,7 +5723,7 @@ "description": "Actions to take when there are multiple possible mappings of entities to properties and operations.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -5792,7 +5792,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5860,7 +5860,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5928,7 +5928,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -5997,7 +5997,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6066,7 +6066,7 @@ "description": "Actions to take when there are no more actions in the current dialog.", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "type": "object", "required": [ @@ -6141,7 +6141,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6206,7 +6206,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -6277,7 +6277,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6345,7 +6345,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6413,7 +6413,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6481,7 +6481,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6564,7 +6564,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6632,7 +6632,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6700,7 +6700,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6768,7 +6768,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6836,7 +6836,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6904,7 +6904,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -6969,7 +6969,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7040,7 +7040,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7108,7 +7108,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7173,7 +7173,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7210,7 +7210,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7247,7 +7247,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7287,7 +7287,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7452,7 +7452,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.AI.QnA", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7635,7 +7635,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7678,7 +7678,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7731,7 +7731,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -7772,7 +7772,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7845,7 +7845,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -7919,7 +7919,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8000,7 +8000,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8050,7 +8050,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8100,7 +8100,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8148,7 +8148,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8228,7 +8228,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8291,7 +8291,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8354,7 +8354,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8397,7 +8397,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8503,7 +8503,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8567,7 +8567,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8601,7 +8601,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8646,7 +8646,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8820,7 +8820,7 @@ ], "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8863,7 +8863,7 @@ }, "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "additionalProperties": false, "patternProperties": { @@ -8912,7 +8912,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -8980,7 +8980,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -9014,7 +9014,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" @@ -9079,7 +9079,7 @@ "type": "object", "$package": { "name": "Microsoft.Bot.Builder.Dialogs.Adaptive", - "version": "4.12.1" + "version": "4.12.2" }, "required": [ "$kind" diff --git a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj index 649ea2ebe3..8b58c56f94 100644 --- a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj +++ b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj @@ -13,19 +13,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj b/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj index 776906e37f..5b8c17927e 100644 --- a/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj +++ b/runtime/dotnet/customaction/Microsoft.BotFramework.Composer.CustomAction.csproj @@ -11,7 +11,7 @@ - + From 1bcd96b17cbc4f0af9f8a3b3ff91339c5fa6ad65 Mon Sep 17 00:00:00 2001 From: Soroush Date: Mon, 15 Mar 2021 09:41:48 -0700 Subject: [PATCH 22/41] fix: Allow multiline variations for LG text and speech modalities (#6394) * fix: Allow multiline variations for LG text and speech modalities * fix tests * pr comment Co-authored-by: Soroush --- .../lg/__tests__/TextModalityEditors.test.tsx | 2 ++ .../src/lg/hooks/useStringArray.ts | 35 ++++++++++++++++--- .../lg/modalityEditors/StringArrayEditor.tsx | 23 ++++++++---- .../lg/modalityEditors/StringArrayItem.tsx | 15 ++------ 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/Composer/packages/lib/code-editor/src/lg/__tests__/TextModalityEditors.test.tsx b/Composer/packages/lib/code-editor/src/lg/__tests__/TextModalityEditors.test.tsx index 317d164c84..94e0343ea1 100644 --- a/Composer/packages/lib/code-editor/src/lg/__tests__/TextModalityEditors.test.tsx +++ b/Composer/packages/lib/code-editor/src/lg/__tests__/TextModalityEditors.test.tsx @@ -13,6 +13,7 @@ describe('TextModalityEditor', () => { it('should render the value if it is not a template reference', async () => { const { findByText } = render( { it('should render items from template if the value is a template reference', async () => { const { findByText, queryByText } = render( ( response: T, lgTemplates?: readonly LgTemplate[], @@ -16,10 +18,30 @@ const getInitialItems = ( const templateId = getTemplateId(response); const template = lgTemplates?.find(({ name }) => name === templateId); return response?.value && template?.body - ? template?.body?.replace(/- /g, '').split(/\r?\n/g) || [] + ? template?.body + // Split by non-escaped - + // eslint-disable-next-line security/detect-unsafe-regex + ?.split(/(? s !== '' && s !== '\n') + .map((s) => s.replace(/\r?\n$/g, '')) + // Remove LG template multiline block symbol + .map((s) => s.replace(/```/g, '')) || [] : response?.value || (focusOnMount ? [''] : []); }; +const fixMultilineItems = (items: string[]) => { + return items.map((item) => { + if (/\r?\n/g.test(item)) { + // Escape all un-escaped - + // eslint-disable-next-line security/detect-unsafe-regex + return `${multiLineBlockSymbol}${item.replace(/(?( kind: 'Text' | 'Speak', structuredResponse: T, @@ -45,18 +67,21 @@ export const useStringArray = ( const onChange = React.useCallback( (newItems: string[]) => { setItems(newItems); + // Fix variations that are multiline + // If only one item but it's multiline, still use helper LG template + const fixedNewItems = fixMultilineItems(newItems); const id = templateId || `${lgOption?.templateId}_${newTemplateNameSuffix}`; - if (!newItems.length) { + if (!fixedNewItems.length) { setTemplateId(id); onUpdateResponseTemplate({ [kind]: { kind, value: [], valueType: 'direct' } }); onRemoveTemplate(id); - } else if (newItems.length === 1 && lgOption?.templateId) { - onUpdateResponseTemplate({ [kind]: { kind, value: newItems, valueType: 'direct' } }); + } else if (fixedNewItems.length === 1 && !/\r?\n/g.test(fixedNewItems[0]) && lgOption?.templateId) { + onUpdateResponseTemplate({ [kind]: { kind, value: fixedNewItems, valueType: 'direct' } }); onTemplateChange(id, ''); } else { setTemplateId(id); onUpdateResponseTemplate({ [kind]: { kind, value: [`\${${id}()}`], valueType: 'template' } }); - onTemplateChange(id, newItems.map((item) => `- ${item}`).join('\n')); + onTemplateChange(id, fixedNewItems.map((item) => `- ${item}`).join('\n')); } }, [kind, newTemplateNameSuffix, lgOption, templateId, onRemoveTemplate, onTemplateChange, onUpdateResponseTemplate] diff --git a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayEditor.tsx b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayEditor.tsx index 698d67e69d..7841aee920 100644 --- a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayEditor.tsx +++ b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayEditor.tsx @@ -119,16 +119,27 @@ export const StringArrayEditor = React.memo( useEffect(() => { const keydownHandler = (e: KeyboardEvent) => { if (submitKeys.includes(e.key)) { - setCalloutTargetElement(null); - - const filteredItems = items.filter(Boolean); + // Allow multiline via shift+Enter + if (e.key === 'Enter' && e.shiftKey) { + return; + } + setCalloutTargetElement(null); + // Filter our empty or newline strings + const filteredItems = items.filter((s) => s !== '' && s !== '\n'); if (e.key === 'Enter' && containerRef.current?.contains(e.target as Node)) { - onChange([...filteredItems, '']); - setCurrentIndex(filteredItems.length); + // If the value is not filtered, go to the next entry + // Otherwise cancel editing + if (items.length === filteredItems.length) { + e.preventDefault(); + onChange([...filteredItems, '']); + setCurrentIndex(filteredItems.length); + } else { + onChange(filteredItems); + setCurrentIndex(null); + } } else { setCurrentIndex(null); - // Remove empty variations only if necessary if (items.length !== filteredItems.length) { onChange(filteredItems); diff --git a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx index 10c886de61..f57da6c9f1 100644 --- a/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx +++ b/Composer/packages/lib/code-editor/src/lg/modalityEditors/StringArrayItem.tsx @@ -158,7 +158,7 @@ const TextViewItem = React.memo( onFocus={focus} > - {onRenderDisplayText?.() ?? value} + {onRenderDisplayText?.() ?? value.replace(/\r?\n/g, '↵')} @@ -197,18 +197,6 @@ const TextFieldItem = React.memo(({ value, onShowCallout, onChange }: TextFieldI [onShowCallout] ); - React.useEffect(() => { - if (inputRef.current && inputRef.current.value !== value) { - const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, 'value') - ?.set; - if (nativeInputValueSetter) { - nativeInputValueSetter.call(inputRef.current, value); - const inputEvent = new Event('input', { bubbles: true }); - inputRef.current.dispatchEvent(inputEvent); - } - } - }, [value]); - return (

Date: Thu, 18 Mar 2021 12:36:44 -0700 Subject: [PATCH 23/41] fix actions (#6476) Co-authored-by: Soroush --- .../packages/client/src/shell/actionApi.ts | 38 +++--- Composer/packages/client/src/shell/utils.ts | 112 ++++++++++++++++++ 2 files changed, 129 insertions(+), 21 deletions(-) create mode 100644 Composer/packages/client/src/shell/utils.ts diff --git a/Composer/packages/client/src/shell/actionApi.ts b/Composer/packages/client/src/shell/actionApi.ts index 9dfb791e76..e4e3741848 100644 --- a/Composer/packages/client/src/shell/actionApi.ts +++ b/Composer/packages/client/src/shell/actionApi.ts @@ -5,12 +5,10 @@ import { deepCopyActions, deleteActions as destructActions, FieldProcessorAsync, - walkAdaptiveActionList, - LgType, - LgMetaData, LgTemplateRef, - LuType, LuMetaData, + LuType, + walkAdaptiveActionList, } from '@bfc/shared'; import { LuIntentSection, MicrosoftIDialog } from '@botframework-composer/types'; @@ -18,6 +16,7 @@ import TelemetryClient from '../telemetry/TelemetryClient'; import { useLgApi } from './lgApi'; import { useLuApi } from './luApi'; +import { deserializeLgTemplate, serializeLgTemplate } from './utils'; export const useActionApi = (projectId: string) => { const { getLgTemplates, removeLgTemplates, addLgTemplate } = useLgApi(projectId); @@ -37,20 +36,16 @@ export const useActionApi = (projectId: string) => { const createLgTemplate = async ( lgFileId: string, + toId: string, lgText: string, - hostActionId: string, hostActionData: MicrosoftIDialog, hostFieldName: string ): Promise => { if (!lgText) return ''; - const newLgType = new LgType(hostActionData.$kind, hostFieldName).toString(); - const newLgTemplateName = new LgMetaData(newLgType, hostActionId).toString(); - const newLgTemplateRefStr = new LgTemplateRef(newLgTemplateName).toString(); - await addLgTemplate(lgFileId, newLgTemplateName, lgText); - return newLgTemplateRefStr; + return await deserializeLgTemplate(lgFileId, toId, lgText, hostActionData, hostFieldName, addLgTemplate); }; - const readLgTemplate = (lgText: string) => { + const readLgTemplate = (lgText: string, fromId: string) => { if (!lgText) return ''; const inputLgRef = LgTemplateRef.parse(lgText); @@ -59,12 +54,13 @@ export const useActionApi = (projectId: string) => { const lgTemplates = getLgTemplates(inputLgRef.name); if (!Array.isArray(lgTemplates) || !lgTemplates.length) return lgText; - const targetTemplate = lgTemplates.find((x) => x.name === inputLgRef.name); - return targetTemplate ? targetTemplate.body : lgText; + const serializedLg = serializeLgTemplate(inputLgRef.name, fromId, lgText, lgTemplates); + + return serializedLg; }; const createLuIntent = async ( - luFildId: string, + luFileId: string, intent: LuIntentSection | undefined, hostResourceId: string, hostResourceData: MicrosoftIDialog @@ -74,7 +70,7 @@ export const useActionApi = (projectId: string) => { const newLuIntentType = new LuType(hostResourceData.$kind).toString(); const newLuIntentName = new LuMetaData(newLuIntentType, hostResourceId).toString(); const newLuIntent: LuIntentSection = { ...intent, Name: newLuIntentName }; - await addLuIntent(luFildId, newLuIntentName, newLuIntent); + await addLuIntent(luFileId, newLuIntentName, newLuIntent); return newLuIntentName; }; @@ -90,7 +86,7 @@ export const useActionApi = (projectId: string) => { }); // '- hi' -> 'SendActivity_1234' const referenceLgText: FieldProcessorAsync = async (fromId, fromAction, toId, toAction, lgFieldName) => - createLgTemplate(dialogId, fromAction[lgFieldName] as string, toId, toAction, lgFieldName); + createLgTemplate(dialogId, toId, fromAction[lgFieldName] as string, toAction, lgFieldName); // LuIntentSection -> 'TextInput_Response_1234' const referenceLuIntent: FieldProcessorAsync = async (fromId, fromAction, toId, toAction) => { @@ -106,7 +102,7 @@ export const useActionApi = (projectId: string) => { async function copyActions(dialogId: string, actions: MicrosoftIDialog[]) { // 'SendActivity_1234' -> '- hi' const dereferenceLg: FieldProcessorAsync = async (fromId, fromAction, toId, toAction, lgFieldName) => - readLgTemplate(fromAction[lgFieldName] as string); + readLgTemplate(fromAction[lgFieldName] as string, fromId); // 'TextInput_Response_1234' -> LuIntentSection | undefined const dereferenceLu: FieldProcessorAsync = async (fromId, fromAction, toId, toAction) => { @@ -129,10 +125,6 @@ export const useActionApi = (projectId: string) => { return copiedAction; } - async function deleteAction(dialogId: string, action: MicrosoftIDialog) { - return deleteActions(dialogId, [action]); - } - async function deleteActions(dialogId: string, actions: MicrosoftIDialog[]) { actions.forEach(({ $kind }) => { TelemetryClient.track('ActionDeleted', { type: $kind }); @@ -144,6 +136,10 @@ export const useActionApi = (projectId: string) => { ); } + async function deleteAction(dialogId: string, action: MicrosoftIDialog) { + return deleteActions(dialogId, [action]); + } + return { constructAction, constructActions, diff --git a/Composer/packages/client/src/shell/utils.ts b/Composer/packages/client/src/shell/utils.ts new file mode 100644 index 0000000000..ec170d4c7f --- /dev/null +++ b/Composer/packages/client/src/shell/utils.ts @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { LgMetaData, LgTemplateRef, LgType } from '@bfc/shared'; +import { LgTemplate, MicrosoftIDialog, ShellApi } from '@botframework-composer/types'; + +type SerializableLg = { + originalId: string; + mainTemplateBody?: string; + relatedLgTemplateBodies?: Record; +}; + +/** + * Serializes Lg template to JSON format. + * @param templateName Name of the template to be serialized. + * @param fromId Original id of the wrapper template. + * @param lgText Body of the template. + * @param lgTemplates List of all available Lg templates + * @returns A serialized string representing the Lg template. + */ +export const serializeLgTemplate = ( + templateName: string, + fromId: string, + lgText: string, + lgTemplates: LgTemplate[] +) => { + const lgTemplate = lgTemplates.find((x) => x.name === templateName); + + if (!lgTemplate) { + return ''; + } + + const exprRegex = /^\${(.*)\(\)}$/; + const serializableLg: SerializableLg = { + originalId: fromId, + mainTemplateBody: lgTemplate?.body, + }; + + // This section serializes structured responses. + if (lgTemplate?.properties?.$type === 'Activity') { + for (const responseType of ['Text', 'Speak', 'Attachments']) { + if (lgTemplate.properties[responseType]) { + const subTemplateItems = Array.isArray(lgTemplate.properties[responseType]) + ? (lgTemplate.properties[responseType] as string[]) + : ([lgTemplate.properties[responseType]] as string[]); + for (const subTemplateItem of subTemplateItems) { + const matched = subTemplateItem.trim().match(exprRegex); + if (matched && matched.length > 1) { + const subTemplateId = matched[1]; + const subTemplate = lgTemplates.find((x) => x.name === subTemplateId); + if (subTemplate) { + if (!serializableLg.relatedLgTemplateBodies) { + serializableLg.relatedLgTemplateBodies = {}; + } + serializableLg.relatedLgTemplateBodies[subTemplateId] = subTemplate.body; + } + } + } + } + } + } + + return lgTemplate ? JSON.stringify(serializableLg) : lgText; +}; + +/** + * Deserialize serialized Lg template and create all required templates. + * @param lgFileId Lg file id that hosts the template. + * @param toId New wrapper if for the Lg template. + * @param lgText Serialized body of the template. + * @param hostActionData Hosting dialog data. + * @param hostFieldName Hosting field name. + * @param addLgTemplate Api for creating a new template. + * @returns Deserialized template expression. + */ +export const deserializeLgTemplate = async ( + lgFileId: string, + toId: string, + lgText: string, + hostActionData: MicrosoftIDialog, + hostFieldName: string, + addLgTemplate: ShellApi['addLgTemplate'] +) => { + const newLgType = new LgType(hostActionData.$kind, hostFieldName).toString(); + const newLgTemplateName = new LgMetaData(newLgType, toId).toString(); + const newLgTemplateRefStr = new LgTemplateRef(newLgTemplateName).toString(); + + try { + const serializableLg = JSON.parse(lgText) as SerializableLg; + // It's a serialized JSON string + const { originalId, mainTemplateBody, relatedLgTemplateBodies } = serializableLg; + + const pattern = `${originalId}`; + // eslint-disable-next-line security/detect-non-literal-regexp + const regex = new RegExp(pattern, 'g'); + + // Re-create related Lg templates + if (relatedLgTemplateBodies) { + for (const subTemplateId of Object.keys(relatedLgTemplateBodies)) { + const subTemplateBody = relatedLgTemplateBodies[subTemplateId]; + await addLgTemplate(lgFileId, subTemplateId.replace(regex, toId), subTemplateBody); + } + } + + // Create the target Lg template + await addLgTemplate(lgFileId, newLgTemplateName, mainTemplateBody?.replace(regex, toId) ?? ''); + } catch { + // It's a normal string, just create the target Lg template + await addLgTemplate(lgFileId, newLgTemplateName, lgText); + } + return newLgTemplateRefStr; +}; From ce64aefd26ef30e7b08518757029b5cc050e4719 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Thu, 18 Mar 2021 13:10:00 -0700 Subject: [PATCH 24/41] release: 1.4.0 --- Composer/packages/client/config/env.js | 4 ++-- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 6314b13404..0a93828633 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -87,8 +87,8 @@ function getClientEnvironment(publicUrl) { // images into the `src` and `import` them in code to get their paths. PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), - SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0-rc3', + SDK_PACKAGE_VERSION: '4.12.2', // TODO: change this when Composer supports custom schema/custom runtime + COMPOSER_VERSION: '1.4.0', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index 435c9bf55d..a5857668ec 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0-rc3", + "version": "1.4.0", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index dc95bf2cd6..2f440237d5 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0-rc3'; +export const COMPOSER_VERSION = '1.4.0'; From 501336b04e764c67455ae3c714b74788a7ca7f75 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Thu, 18 Mar 2021 16:48:06 -0700 Subject: [PATCH 25/41] Update 1.4.0.md --- releases/1.4.0.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/releases/1.4.0.md b/releases/1.4.0.md index a87ab4d825..0c598cb885 100644 --- a/releases/1.4.0.md +++ b/releases/1.4.0.md @@ -2,7 +2,13 @@ ## What's new March 2021 -- TODO +- Embedded conversation testing via Bot Framework Web Chat +- Higher-level Language Generation authoring in Bot Response actions +- Templates, functions, memory selection widget +- Improved Provisioning & Publishing experience +- Preview support for an updated creation process that includes a runtime template generator and initial set of templates +- Preview support for Package Manager +- Preview support for Orchestrator ## Changelog From 2d7d9d1e19a4296f1955fc0fe91316a0d34c3f9c Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Mon, 22 Mar 2021 11:00:30 -0700 Subject: [PATCH 26/41] RC4 --- Composer/packages/client/config/env.js | 4 ++-- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 6314b13404..98e5fce896 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -87,8 +87,8 @@ function getClientEnvironment(publicUrl) { // images into the `src` and `import` them in code to get their paths. PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), - SDK_PACKAGE_VERSION: '4.12.0', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0-rc3', + SDK_PACKAGE_VERSION: '4.12.2', // TODO: change this when Composer supports custom schema/custom runtime + COMPOSER_VERSION: '1.4.0-rc4', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index 435c9bf55d..6f7c84bb44 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0-rc3", + "version": "1.4.0-rc4", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index dc95bf2cd6..8040f2a465 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0-rc3'; +export const COMPOSER_VERSION = '1.4.0-rc4'; From 0b0a126f5737be2a2c530b5e527e0ad6597e22e6 Mon Sep 17 00:00:00 2001 From: taicchoumsft <61705609+taicchoumsft@users.noreply.github.com> Date: Mon, 22 Mar 2021 13:59:13 -0400 Subject: [PATCH 27/41] Update bf-orchestrator to 4.12.0-beta.20210322.314475a (#6496) --- Composer/packages/server/package.json | 2 +- Composer/yarn.lock | 32 +++++++++++++-------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Composer/packages/server/package.json b/Composer/packages/server/package.json index 85d2b63071..3c0ac6a288 100644 --- a/Composer/packages/server/package.json +++ b/Composer/packages/server/package.json @@ -82,7 +82,7 @@ "@microsoft/bf-dispatcher": "^4.11.0-beta.20201016.393c6b2", "@microsoft/bf-generate-library": "^4.10.0-daily.20210225.217555", "@microsoft/bf-lu": "4.12.0-rc0", - "@microsoft/bf-orchestrator": "4.12.0-beta.20210316.cdd0819", + "@microsoft/bf-orchestrator": "4.12.0-beta.20210322.314475a", "applicationinsights": "^1.8.7", "archiver": "^5.0.2", "axios": "^0.21.1", diff --git a/Composer/yarn.lock b/Composer/yarn.lock index bbe9f76e9c..09859dab82 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -3947,12 +3947,12 @@ tslib "^2.0.3" xml2js "^0.4.19" -"@microsoft/bf-dispatcher@4.12.0-beta.20210316.cdd0819": - version "4.12.0-beta.20210316.cdd0819" - resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.12.0-beta.20210316.cdd0819.tgz#454a612d4e17edc964675259be84ccc1c51425b4" - integrity sha512-TzkkoUTIITiBjwB8+UIjle9PCRJH8jolczOTEQszCDB3t7twfs54tLXzTmNVBS/bP9EAgZ+TY4xzd8IhoK/XdQ== +"@microsoft/bf-dispatcher@4.12.0-beta.20210322.314475a": + version "4.12.0-beta.20210322.314475a" + resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.12.0-beta.20210322.314475a.tgz#48c2971b45cecc01461440636cac8fb74a5aac55" + integrity sha512-f4LrW7fRLmB+fZXB4OR6bHbKWMAY3E7tgELhSq5fziWCX2QGsOfD7iKekFtFT1NUXFl+J02a0nQm5O8li5/Geg== dependencies: - "@microsoft/bf-lu" next + "@microsoft/bf-lu" "4.12.0-rc0" "@oclif/command" "~1.5.19" "@oclif/config" "~1.13.3" argparse "~1.0.10" @@ -4057,19 +4057,19 @@ semver "^5.5.1" tslib "^2.0.3" -"@microsoft/bf-orchestrator@4.12.0-beta.20210316.cdd0819": - version "4.12.0-beta.20210316.cdd0819" - resolved "https://registry.yarnpkg.com/@microsoft/bf-orchestrator/-/bf-orchestrator-4.12.0-beta.20210316.cdd0819.tgz#1869942269909759eb81e8ce9a538019392c2def" - integrity sha512-1jIYXtw+x6mm7cM0iCunf/hM7d+xrI5D3UnVMUrILK8t2oByuLyj7NUyt7oSrSmlAwhEAtYGJ/5xpdqdIxKw0Q== +"@microsoft/bf-orchestrator@4.12.0-beta.20210322.314475a": + version "4.12.0-beta.20210322.314475a" + resolved "https://registry.yarnpkg.com/@microsoft/bf-orchestrator/-/bf-orchestrator-4.12.0-beta.20210322.314475a.tgz#4bc37966ac1aa144f8daae78873dc92030e2251d" + integrity sha512-DLXjmPkdJzwTvbx6vHAEz4qGDe/O/60cax/Payo9cfXRRphsbdiKTD6W2gmnrP6Q9IMitJ0yv9s527iFEI3GrQ== dependencies: - "@microsoft/bf-dispatcher" "4.12.0-beta.20210316.cdd0819" - "@microsoft/bf-lu" next + "@microsoft/bf-dispatcher" "4.12.0-beta.20210322.314475a" + "@microsoft/bf-lu" "4.12.0-rc0" "@types/fs-extra" "~8.1.0" "@types/node-fetch" "~2.5.5" fast-text-encoding "^1.0.3" fs-extra "~9.0.0" node-fetch "~2.6.0" - orchestrator-core beta + orchestrator-core "4.12.0-beta.1" read-text-file "~1.1.0" tslib "^1.10.0" unzip-stream "^0.3.1" @@ -17309,10 +17309,10 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -orchestrator-core@beta: - version "4.13.0-dev.20210314.2955922h" - resolved "https://registry.yarnpkg.com/orchestrator-core/-/orchestrator-core-4.13.0-dev.20210314.2955922h.tgz#e0ee7852f8654bc72ad7eb10114617a5287cbd7c" - integrity sha512-pNyUPjjXc0GuRFYZXvlcicCdipsJCmaCNFmHB3ogYEZo48JW+nCC6Nul1FEZAFeZIDTKZcyBrYg0pY2pCKR+4Q== +orchestrator-core@4.12.0-beta.1: + version "4.12.0-beta.1" + resolved "https://registry.yarnpkg.com/orchestrator-core/-/orchestrator-core-4.12.0-beta.1.tgz#bc7a88f48b9c185588a7d179a5da3f2e42cfe23a" + integrity sha512-4Q+Ui/6rsiBJU1fwQAvxthMNWDY/qKvhrNYLnQNQ7llN/XI8Rk3yzUxfJ04V2WAa3Dm3GEXgix6/inWaiHjKdg== dependencies: bindings "1.2.1" node-addon-api "^3.0.0" From 8f1694a21c4f590f0c1b12ff9132051652a23afb Mon Sep 17 00:00:00 2001 From: leileizhang Date: Wed, 24 Mar 2021 12:12:13 +0800 Subject: [PATCH 28/41] fix: unify runtime path from ejecting (#6520) Co-authored-by: Dong Lei --- Composer/packages/server/src/models/bot/botProject.ts | 7 ++++++- extensions/runtimes/src/index.ts | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Composer/packages/server/src/models/bot/botProject.ts b/Composer/packages/server/src/models/bot/botProject.ts index 9904623cc6..37b50dc8bb 100644 --- a/Composer/packages/server/src/models/bot/botProject.ts +++ b/Composer/packages/server/src/models/bot/botProject.ts @@ -48,6 +48,8 @@ const oauthInput = () => ({ const defaultLanguage = 'en-us'; // default value for settings.defaultLanguage +const isUsingAdaptiveRuntime = (runtime?: DialogSetting['runtime']): boolean => + runtime?.key === 'csharp-azurewebapp-v2' || runtime?.key === 'adaptive-runtime-dotnet-webapp'; export class BotProject implements IBotProject { public ref: LocationRef; // TODO: address need to instantiate id - perhaps do so in constructor based on Store.get(projectLocationMap) @@ -200,8 +202,11 @@ export class BotProject implements IBotProject { */ public getRuntimePath = (): string | undefined => { let runtimePath = this.settings?.runtime?.path; + if (runtimePath && !Path.isAbsolute(runtimePath)) { - runtimePath = Path.resolve(this.dir, 'settings', runtimePath); + const dir = isUsingAdaptiveRuntime(this.settings?.runtime) ? Path.resolve(this.dir, 'settings') : this.dir; + + runtimePath = Path.resolve(dir, runtimePath); } return runtimePath; }; diff --git a/extensions/runtimes/src/index.ts b/extensions/runtimes/src/index.ts index 9e798deb4d..533a0f6020 100644 --- a/extensions/runtimes/src/index.ts +++ b/extensions/runtimes/src/index.ts @@ -165,7 +165,7 @@ export default async (composer: any): Promise => { await copyDir(schemaSrcPath, localDisk, schemaDstPath, project.fileStorage, pathsToExclude); const schemaFolderInRuntime = path.join(destPath, 'azurewebapp/Schemas'); await removeDirAndFiles(schemaFolderInRuntime); - return path.relative(path.join(project.dir, 'settings'), destPath); + return path.relative(project.dir, destPath); } throw new Error(`Runtime already exists at ${destPath}`); }, From 037e7a710bc061fd2aa5aca60c141c0aa7135c98 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Wed, 31 Mar 2021 12:43:31 -0700 Subject: [PATCH 29/41] 1.4.1 --- Composer/packages/server/src/locales/en-US.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Composer/packages/server/src/locales/en-US.json b/Composer/packages/server/src/locales/en-US.json index 9bbb489103..b4e03949ca 100644 --- a/Composer/packages/server/src/locales/en-US.json +++ b/Composer/packages/server/src/locales/en-US.json @@ -1223,9 +1223,6 @@ "enable_speech_e4a16f1c": { "message": "Enable speech" }, - "enable_the_component_model_including_the_new_creat_f6e5659c": { - "message": "Enable the Component Model including the new creation experience, the Adaptive Runtime, and Package Manager." - }, "enabled_ba7cab66": { "message": "Enabled" }, @@ -2198,6 +2195,9 @@ "new_13daf639": { "message": "New" }, + "new_creation_experience_29591aca": { + "message": "New Creation Experience" + }, "new_template_49e6f0f2": { "message": "New template" }, @@ -2456,6 +2456,9 @@ "preview_features_e279bac5": { "message": "Preview features" }, + "preview_the_new_bot_creation_experience_create_new_e0b7150f": { + "message": "Preview the new bot creation experience. Create new bots that use the Adaptive Runtime, and can be enhanced using Package Manager." + }, "previous_bd2ac015": { "message": "Previous" }, @@ -3161,9 +3164,6 @@ "the_api_messages_endpoint_for_the_skill_f318dc63": { "message": "The /api/messages endpoint for the skill." }, - "the_component_model_febefd93": { - "message": "The Component Model" - }, "the_dialog_you_have_tried_to_delete_is_currently_u_a37c7a02": { "message": "The dialog you have tried to delete is currently used in the below dialog(s). Removing this dialog will cause your Bot to malfunction without additional action." }, From 6e75a0a956d62fb971c4b1fa0f688a494fd2a6a9 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Wed, 31 Mar 2021 12:51:17 -0700 Subject: [PATCH 30/41] Adds 1.4.1 version --- Composer/packages/client/config/env.js | 2 +- Composer/packages/electron-server/package.json | 2 +- Composer/packages/server/src/constants.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Composer/packages/client/config/env.js b/Composer/packages/client/config/env.js index 0a93828633..695dec64c6 100644 --- a/Composer/packages/client/config/env.js +++ b/Composer/packages/client/config/env.js @@ -88,7 +88,7 @@ function getClientEnvironment(publicUrl) { PUBLIC_URL: publicUrl, GIT_SHA: getGitSha().toString().replace('\n', ''), SDK_PACKAGE_VERSION: '4.12.2', // TODO: change this when Composer supports custom schema/custom runtime - COMPOSER_VERSION: '1.4.0', + COMPOSER_VERSION: '1.4.1', LOCAL_PUBLISH_PATH: process.env.LOCAL_PUBLISH_PATH || path.resolve(process.cwd(), '../../../extensions/localPublish/hostedBots'), WEBLOGIN_CLIENTID: process.env.WEBLOGIN_CLIENTID, diff --git a/Composer/packages/electron-server/package.json b/Composer/packages/electron-server/package.json index a5857668ec..47cb0209df 100644 --- a/Composer/packages/electron-server/package.json +++ b/Composer/packages/electron-server/package.json @@ -2,7 +2,7 @@ "name": "@bfc/electron-server", "license": "MIT", "author": "Microsoft Corporation", - "version": "1.4.0", + "version": "1.4.1", "description": "Electron wrapper around Composer that launches Composer as a desktop application.", "main": "./build/main.js", "engines": { diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index 2f440237d5..b53c7c2841 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -19,4 +19,4 @@ export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENT export const piiProperties = []; -export const COMPOSER_VERSION = '1.4.0'; +export const COMPOSER_VERSION = '1.4.1'; From d062a1cbd98d5f46357fbbee71a133b304967739 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Wed, 31 Mar 2021 12:56:59 -0700 Subject: [PATCH 31/41] 1.4.1 release notes --- releases/1.4.1.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 releases/1.4.1.md diff --git a/releases/1.4.1.md b/releases/1.4.1.md new file mode 100644 index 0000000000..b74fb8e2ba --- /dev/null +++ b/releases/1.4.1.md @@ -0,0 +1,7 @@ +# 1.4.1 + +## Changelog + +#### Fixed + +- fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) \ No newline at end of file From 27b2bfaf7066fb620b0bbd42df4a9a8bdfffb215 Mon Sep 17 00:00:00 2001 From: "Geoff Cox (Microsoft)" Date: Thu, 25 Mar 2021 12:10:15 -0700 Subject: [PATCH 32/41] Publish page now populates publish types (#6544) --- .../client/src/pages/publish/Publish.tsx | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Composer/packages/client/src/pages/publish/Publish.tsx b/Composer/packages/client/src/pages/publish/Publish.tsx index 2f8374350d..8aeff7eb33 100644 --- a/Composer/packages/client/src/pages/publish/Publish.tsx +++ b/Composer/packages/client/src/pages/publish/Publish.tsx @@ -48,6 +48,7 @@ const Publish: React.FC checkedSkillIds.some((id) => bot.id === id)); }, [checkedSkillIds]); + // The publishTypes are loaded from the server and put into the publishTypesState per project + // The botProjectSpaceSelector maps the publishTypes to the project bots. + // The localBotsDataSelector uses botProjectSpaceSelector + // The botPropertyData uses localBotsDataSelector + // When the botPropertyData is used (like in the canPull method), the publishTypes must be loaded for the current project. + // Otherwise the botPropertyData publishTypes will always be empty and this component won't function properly. + useEffect(() => { + if (projectId) { + getPublishTargetTypes(projectId); + } + }, [projectId]); + const canPull = useMemo(() => { return selectedBots.some((bot) => { const { publishTypes, publishTargets } = botPropertyData[bot.id]; - const type = publishTypes?.find( - (t) => t.name === publishTargets?.find((target) => target.name === bot.publishTarget)?.type - ); - if (type?.features?.pull) { - return true; - } - return false; + const botPublishTarget = publishTargets?.find((target) => target.name === bot.publishTarget); + const type = publishTypes?.find((t) => t.name === botPublishTarget?.type); + return type?.features?.pull; }); - }, [selectedBots]); + }, [selectedBots, botPropertyData]); const canPublish = checkedSkillIds.length > 0 && !isPublishPending && selectedBots.some((bot) => Boolean(bot.publishTarget)); From c73176ad970f696f61d1e8b43323f49538c27c71 Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Wed, 31 Mar 2021 15:48:02 -0700 Subject: [PATCH 33/41] Update CHANGELOG --- releases/1.4.1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/1.4.1.md b/releases/1.4.1.md index b74fb8e2ba..33967c7c43 100644 --- a/releases/1.4.1.md +++ b/releases/1.4.1.md @@ -4,4 +4,5 @@ #### Fixed +- fix: Publish page now populates publish types ([#6544](https://github.com/microsoft/BotFramework-Composer/pull/6544)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) - fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) \ No newline at end of file From d938ee79cc50f92d90166318e79e7f5e1076f7ca Mon Sep 17 00:00:00 2001 From: Tony Anziano Date: Mon, 5 Apr 2021 11:10:18 -0700 Subject: [PATCH 34/41] ARM token for provisioning is now passed via body. (#6684) Co-authored-by: Chris Whitten --- .../client/src/recoilModel/dispatchers/provision.ts | 13 ++++++------- .../packages/server/src/controllers/provision.ts | 4 +--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Composer/packages/client/src/recoilModel/dispatchers/provision.ts b/Composer/packages/client/src/recoilModel/dispatchers/provision.ts index 7bd0a0a9b1..89cad0c849 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/provision.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/provision.ts @@ -61,13 +61,12 @@ export const provisionDispatcher = () => { ) => { try { TelemetryClient.track('NewPublishingProfileStarted'); - const result = await httpClient.post( - `/provision/${projectId}/${type}`, - { ...config, graphToken: graphToken, currentProfile }, - { - headers: { Authorization: `Bearer ${armToken}` }, - } - ); + const result = await httpClient.post(`/provision/${projectId}/${type}`, { + ...config, + graphToken: graphToken, + currentProfile, + accessToken: armToken, + }); // set notification const notification = createNotification(getProvisionPendingNotification(result.data.message)); addNotificationInternal(callbackHelpers, notification); diff --git a/Composer/packages/server/src/controllers/provision.ts b/Composer/packages/server/src/controllers/provision.ts index 7bcbd16634..3e9cbd777b 100644 --- a/Composer/packages/server/src/controllers/provision.ts +++ b/Composer/packages/server/src/controllers/provision.ts @@ -33,8 +33,6 @@ export const ProvisionController = { } }, provision: async (req: Request, res) => { - const accessToken = req.headers.authorization?.substring('Bearer '.length); - // const graphToken = req.headers.graphtoken; const user = await ExtensionContext.getUserFromRequest(req); const type = req.params.type; // type is webapp or functions const projectId = req.params.projectId; @@ -48,7 +46,7 @@ export const ProvisionController = { // call the method const result = await pluginMethod.call( null, - { ...req.body, accessToken }, + { ...req.body }, currentProject, user, authService.getAccessToken.bind(authService) From bcf87f0463f5b197f8b8dcf7351b87e160105d2d Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Mon, 5 Apr 2021 11:13:15 -0700 Subject: [PATCH 35/41] Update readme --- releases/1.4.1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/1.4.1.md b/releases/1.4.1.md index 33967c7c43..c7e5d6474b 100644 --- a/releases/1.4.1.md +++ b/releases/1.4.1.md @@ -4,5 +4,6 @@ #### Fixed +- fix: ARM token for provisioning is now passed via body. ([#6684](https://github.com/microsoft/BotFramework-Composer/pull/6684)) - fix: Publish page now populates publish types ([#6544](https://github.com/microsoft/BotFramework-Composer/pull/6544)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) - fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) \ No newline at end of file From d167636f9373f5df1778a54ded05af89d77f0028 Mon Sep 17 00:00:00 2001 From: Zichuan Ma Date: Tue, 30 Mar 2021 18:38:55 +0800 Subject: [PATCH 36/41] fix: added telemetry support to node runtime and adopted missing middlewares (#6288) * added telemetry support to node runtime * configureTelemetry should be shared by webapp/functions * updated botbuilder packages to 4.12.0 * app insights telemetry should be optional * fixed cases of settings.feature * fixed path of runtime * optional telemetry client * updated package-lock.json Co-authored-by: Ben Brown Co-authored-by: Lu Han <32191031+luhan2017@users.noreply.github.com> --- extensions/runtimes/src/index.ts | 2 +- runtime/node/package-lock.json | 2581 +++++++++++++++--------- runtime/node/package.json | 14 +- runtime/node/src/functions.ts | 14 +- runtime/node/src/shared/composerBot.ts | 12 +- runtime/node/src/shared/helpers.ts | 66 +- runtime/node/src/shared/settings.ts | 8 +- runtime/node/src/webapp.ts | 16 +- 8 files changed, 1696 insertions(+), 1017 deletions(-) diff --git a/extensions/runtimes/src/index.ts b/extensions/runtimes/src/index.ts index 533a0f6020..7b3777666a 100644 --- a/extensions/runtimes/src/index.ts +++ b/extensions/runtimes/src/index.ts @@ -308,7 +308,7 @@ export default async (composer: any): Promise => { const schemaFolderInRuntime = path.join(destPath, 'schemas'); await removeDirAndFiles(schemaFolderInRuntime); - return path.relative(path.join(project.dir, 'settings'), destPath); + return path.relative(project.dir, destPath); } throw new Error(`Runtime already exists at ${destPath}`); }, diff --git a/runtime/node/package-lock.json b/runtime/node/package-lock.json index 4ab71580d9..87c967f834 100644 --- a/runtime/node/package-lock.json +++ b/runtime/node/package-lock.json @@ -4,6 +4,21 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@azure/abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.4.tgz", + "integrity": "sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, "@azure/cognitiveservices-luis-runtime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@azure/cognitiveservices-luis-runtime/-/cognitiveservices-luis-runtime-2.0.0.tgz", @@ -13,10 +28,156 @@ "tslib": "^1.9.3" } }, + "@azure/core-asynciterator-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.0.tgz", + "integrity": "sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg==" + }, + "@azure/core-auth": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.2.0.tgz", + "integrity": "sha512-KUl+Nwn/Sm6Lw5d3U90m1jZfNSL087SPcqHLxwn2T6PupNKmcgsEbDjHB25gDvHO4h7pBsTlrdJAY7dz+Qk8GA==", + "requires": { + "@azure/abort-controller": "^1.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@azure/core-http": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-1.2.3.tgz", + "integrity": "sha512-g5C1zUJO5dehP2Riv+vy9iCYoS1UwKnZsBVCzanScz9A83LbnXKpZDa9wie26G9dfXUhQoFZoFT8LYWhPKmwcg==", + "requires": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.1.3", + "@azure/core-tracing": "1.0.0-preview.9", + "@azure/logger": "^1.0.0", + "@opentelemetry/api": "^0.10.2", + "@types/node-fetch": "^2.5.0", + "@types/tunnel": "^0.0.1", + "form-data": "^3.0.0", + "node-fetch": "^2.6.0", + "process": "^0.11.10", + "tough-cookie": "^4.0.0", + "tslib": "^2.0.0", + "tunnel": "^0.0.6", + "uuid": "^8.3.0", + "xml2js": "^0.4.19" + }, + "dependencies": { + "@azure/core-tracing": { + "version": "1.0.0-preview.9", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.9.tgz", + "integrity": "sha512-zczolCLJ5QG42AEPQ+Qg9SRYNUyB+yZ5dzof4YEc+dyWczO9G2sBqbAjLB7IqrsdHN2apkiB2oXeDKCsq48jug==", + "requires": { + "@opencensus/web-types": "0.0.7", + "@opentelemetry/api": "^0.10.2", + "tslib": "^2.0.0" + } + }, + "@types/tunnel": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.1.tgz", + "integrity": "sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==", + "requires": { + "@types/node": "*" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@azure/core-lro": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-1.0.3.tgz", + "integrity": "sha512-Py2crJ84qx1rXkzIwfKw5Ni4WJuzVU7KAF6i1yP3ce8fbynUeu8eEWS4JGtSQgU7xv02G55iPDROifmSDbxeHA==", + "requires": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-http": "^1.2.0", + "events": "^3.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@azure/core-paging": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.1.3.tgz", + "integrity": "sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A==", + "requires": { + "@azure/core-asynciterator-polyfill": "^1.0.0" + } + }, + "@azure/core-tracing": { + "version": "1.0.0-preview.10", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.10.tgz", + "integrity": "sha512-iIwjtMwQnsxB7cYkugMx+s4W1nfy3+pT/ceo+uW1fv4YDgYe84nh+QP0fEC9IH/3UATLSWbIBemdMHzk2APUrw==", + "requires": { + "@opencensus/web-types": "0.0.7", + "@opentelemetry/api": "^0.10.2", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, "@azure/functions": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@azure/functions/-/functions-1.2.2.tgz", - "integrity": "sha512-p/dDHq1sG/iAib+eDY4NxskWHoHW1WFzD85s0SfWxc2wVjJbxB0xz/zBF4s7ymjVgTu+0ceipeBk+tmpnt98oA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@azure/functions/-/functions-1.2.3.tgz", + "integrity": "sha512-dZITbYPNg6ay6ngcCOjRUh1wDhlFITS0zIkqplyH5KfKEAVPooaoaye5mUFnR+WP9WdGRjlNXyl/y2tgWKHcRg==" + }, + "@azure/logger": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.2.tgz", + "integrity": "sha512-YZNjNV0vL3nN2nedmcjQBcpCTo3oqceXmgiQtEm6fLpucjRZyQKAQruhCmCpRlB1iykqKJJ/Y8CDmT5rIE6IJw==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } }, "@azure/ms-rest-js": { "version": "1.9.1", @@ -31,256 +192,299 @@ "tunnel": "0.0.6", "uuid": "^3.2.1", "xml2js": "^0.4.19" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "@azure/storage-blob": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.5.0.tgz", + "integrity": "sha512-DgoefgODst2IPkkQsNdhtYdyJgSsAZC1pEujO6aD5y7uFy5GnzhYliobSrp204jYRyK5XeJ9iiePmy/SPtTbLA==", + "requires": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-http": "^1.2.0", + "@azure/core-lro": "^1.0.2", + "@azure/core-paging": "^1.1.1", + "@azure/core-tracing": "1.0.0-preview.10", + "@azure/logger": "^1.0.0", + "@opentelemetry/api": "^0.10.2", + "events": "^3.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } } }, "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", + "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", "dev": true }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.14.tgz", + "integrity": "sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.13", + "@babel/helper-module-transforms": "^7.13.14", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", "dev": true, "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.13.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz", + "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.13.12", + "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", - "semver": "^5.5.0" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.13.0" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", + "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.13.12" } }, "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.13.12" } }, "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", + "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" } }, "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.13.12" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -293,12 +497,12 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -308,182 +512,195 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", + "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", + "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", + "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", "dev": true }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", + "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.13.12" + } + }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", + "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", + "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -505,12 +722,12 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-dynamic-import": { @@ -604,419 +821,429 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", + "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", + "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", + "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz", + "integrity": "sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-typescript": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.12.tgz", + "integrity": "sha512-JzElc6jk3Ko6zuZgBtjOd01pf9yYDEIH8BcqVuYIuOkzOwDesoa/Nz4gIo4lBG6K861KTV9TvIgmFuT6ytOaAA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.12", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-async-generator-functions": "^7.13.8", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-dynamic-import": "^7.13.8", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.13.8", + "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.13.8", + "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.13.0", + "@babel/plugin-transform-async-to-generator": "^7.13.0", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.13.0", + "@babel/plugin-transform-computed-properties": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.13.0", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.13.0", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-systemjs": "^7.13.8", + "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.13.0", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.13.0", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.13.0", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.13.12", + "babel-plugin-polyfill-corejs2": "^0.1.4", + "babel-plugin-polyfill-corejs3": "^0.1.3", + "babel-plugin-polyfill-regenerator": "^0.1.2", + "core-js-compat": "^3.9.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/preset-modules": { @@ -1033,57 +1260,56 @@ } }, "@babel/preset-typescript": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", - "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz", + "integrity": "sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-transform-typescript": "^7.12.1" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-typescript": "^7.13.0" } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", + "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", + "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.13", + "@babel/types": "^7.13.13", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1121,9 +1347,9 @@ } }, "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jest/console": { @@ -1305,6 +1531,20 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1676,12 +1916,32 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -1702,6 +1962,14 @@ "callsites": "^3.0.0", "graceful-fs": "^4.2.4", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "@jest/test-result": { @@ -1887,6 +2155,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2055,10 +2329,28 @@ } } }, + "@opencensus/web-types": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@opencensus/web-types/-/web-types-0.0.7.tgz", + "integrity": "sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g==" + }, + "@opentelemetry/api": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-0.10.2.tgz", + "integrity": "sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA==", + "requires": { + "@opentelemetry/context-base": "^0.10.2" + } + }, + "@opentelemetry/context-base": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-base/-/context-base-0.10.2.tgz", + "integrity": "sha512-hZNKjKOYsckoOEgBziGMnBcX0M7EtstnCmwz5jZUOUYwlZ+/xxX6z3jPu1XVO2Jivk0eLfuP9GP+vFD49CMetw==" + }, "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -2079,9 +2371,9 @@ "integrity": "sha512-7bjymPR7Ffa1/L3HskkaxMgTQDtwFObbISzHm9g3T12VyD89IiHS3BBVojlQHyZRiIilzdh0WT1gwwgyyBtLGQ==" }, "@types/babel__core": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", - "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -2111,9 +2403,9 @@ } }, "@types/babel__traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", - "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -2135,18 +2427,18 @@ "dev": true }, "@types/formidable": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.32.tgz", - "integrity": "sha512-jOAB5+GFW+C+2xdvUcpd/CnYg2rD5xCyagJLBJU+9PB4a/DKmsAqS9yZI3j/Q9zwvM7ztPHaAIH1ijzp4cezdQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-4sVIjd51AADf4YnpsdqNQh7n3ZRLo16w+w6F7zzKjK6dBsQc9Vrq8GQLpHOOWq0V8Fe2bbp2EpihHx57iVgm5Q==", "dev": true, "requires": { "@types/node": "*" } }, "@types/graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", - "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", "dev": true, "requires": { "@types/node": "*" @@ -2188,9 +2480,9 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/jsonwebtoken": { @@ -2202,9 +2494,9 @@ } }, "@types/lodash": { - "version": "4.14.167", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.167.tgz", - "integrity": "sha512-w7tQPjARrvdeBkX/Rwg95S592JwxqOjmms3zWQ0XZgSyxSLdzWaYH3vErBhdVS/lRBX7F8aBYcYJYTr5TMGOzw==", + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", "dev": true }, "@types/lru-cache": { @@ -2219,9 +2511,30 @@ "dev": true }, "@types/node": { - "version": "10.17.50", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.50.tgz", - "integrity": "sha512-vwX+/ija9xKc/z9VqMCdbf4WYcMTGsI0I/L/6shIF3qXURxZOhPQlPRHtjTpiNhAwn0paMJzlOQqw6mAGEQnTA==" + "version": "10.17.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", + "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" + }, + "@types/node-fetch": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", + "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } }, "@types/normalize-package-data": { "version": "2.4.0", @@ -2230,15 +2543,15 @@ "dev": true }, "@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz", + "integrity": "sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==", "dev": true }, "@types/restify": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@types/restify/-/restify-8.4.2.tgz", - "integrity": "sha512-jdXB0IrsigqMccBMs3a2kBUUAlYTbjLCbfC63sI00rwTXc+B4UQniGkAJCGS27CAxwkJFAFXzpk0msOQtQ1RXA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@types/restify/-/restify-8.5.1.tgz", + "integrity": "sha512-Attj9MJ4A3zQayIt03R7T+rUNGfTjwgCX38XINWZMKwmTvqSQgc0sQp014KMG2fl57SI/isO32VWxhNT9wu0UA==", "dev": true, "requires": { "@types/bunyan": "*", @@ -2268,6 +2581,13 @@ "integrity": "sha512-FGDp0iBRiBdPjOgjJmn1NH0KDLN+Z8fRmo+9J7XGBhubq1DPrGrbmG4UTlGzrpbCpesMqD0sWkzi27EYkOMHyg==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" + } } }, "@types/ws": { @@ -2284,9 +2604,9 @@ "integrity": "sha512-edqgAFXMEtVvaBZ3YnhamvmrHjoYpuxETmnb0lbTZmf/dXpAsO9ZKotUO4K2rn2SIZBDFCMOuA7fOe0H6dRZcA==" }, "@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -2349,6 +2669,20 @@ "tsutils": "^3.17.1" }, "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2359,9 +2693,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -2429,13 +2763,18 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, "adaptive-expressions": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/adaptive-expressions/-/adaptive-expressions-4.12.0-rc3.tgz", - "integrity": "sha512-1QiMwTpSWUJ2IZRtVloTaWkeXWgJKrrhBY1/VFwLik+1QLA6d1ZaAS3PWc9tv3bsZSrneaz5F5z48UetSF5FlQ==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/adaptive-expressions/-/adaptive-expressions-4.12.0.tgz", + "integrity": "sha512-gJf2Uq/FT/iX4mIxdnr3gcw6KMjchFc971q1LKt1hrfAMFJtxTy9ukBMgTIbjlOFASMUGSLSU0CKEOzmNJWLbA==", "requires": { "@microsoft/recognizers-text-data-types-timex-expression": "1.3.0", "@types/atob-lite": "^2.0.0", @@ -2454,13 +2793,15 @@ "xml2js": "^0.4.23", "xmldom": "^0.4.0", "xpath": "^0.0.32" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, "ajv": { @@ -2475,18 +2816,18 @@ } }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" }, "dependencies": { "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } @@ -2520,6 +2861,17 @@ "picomatch": "^2.0.4" } }, + "applicationinsights": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-1.8.10.tgz", + "integrity": "sha512-ZLDA7mShh4mP2Z/HlFolmvhBPX1LfnbIWXrselyYVA7EKjHhri1fZzpu2EiWAmfbRxNBY6fRjoPJWbx5giKy4A==", + "requires": { + "cls-hooked": "^4.2.2", + "continuation-local-storage": "^3.2.1", + "diagnostic-channel": "0.3.1", + "diagnostic-channel-publishers": "0.4.4" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -2595,6 +2947,23 @@ "lodash": "^4.17.14" } }, + "async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", + "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", + "requires": { + "stack-chain": "^1.3.7" + } + }, + "async-listener": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", + "integrity": "sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==", + "requires": { + "semver": "^5.3.0", + "shimmer": "^1.1.0" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -2752,6 +3121,44 @@ "@types/babel__traverse": "^7.0.6" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", + "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.0", + "@babel/helper-define-polyfill-provider": "^0.1.5", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", + "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.1.5" + } + }, "babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -2871,174 +3278,161 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "botbuilder": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.12.0-rc3.tgz", - "integrity": "sha512-Qt4KplyW9ZwjH/KYBnRtAO0U4JoLBUOU+HR4GyfZrHZlkWgsJqhReEk0u15P/pVBkNP9M+QzzNo8AGwEhHYZaA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.12.0.tgz", + "integrity": "sha512-OE5Lo4tBzbbiejG4l+LV2MiX0rfcB13zwMMjLwYsh6kNfa+oMo4vTHMqsxcUtqgyKKXYzLVqMQK8xqHWdrghvg==", "requires": { "@azure/ms-rest-js": "1.9.1", "axios": "^0.21.1", - "botbuilder-core": "4.12.0-rc3", - "botframework-connector": "4.12.0-rc3", - "botframework-streaming": "4.12.0-rc3", + "botbuilder-core": "4.12.0", + "botframework-connector": "4.12.0", + "botframework-streaming": "4.12.0", "dayjs": "^1.10.3", "filenamify": "^4.1.0", "fs-extra": "^7.0.1", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "botbuilder-ai": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botbuilder-ai/-/botbuilder-ai-4.12.0-rc3.tgz", - "integrity": "sha512-p0r/2oXiSQYmFV/YB3A1xlwNDf7/Kc3PcZVp/S+832bNWJt/g1BNLKrS50Iwp4C4L8+9HjROSddy5zbzo1hYAg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder-ai/-/botbuilder-ai-4.12.0.tgz", + "integrity": "sha512-If87b48591j9G8Vs1i9WvdkFELPcIT1QHms3wOch2xzZ6Uyov4FYY58tZ2bH2K2w0mT6KS4+SW03tpNx7qprhA==", "requires": { "@azure/cognitiveservices-luis-runtime": "2.0.0", "@azure/ms-rest-js": "1.9.1", "@microsoft/recognizers-text-date-time": "1.1.4", - "adaptive-expressions": "4.12.0-rc3", - "botbuilder-core": "4.12.0-rc3", - "botbuilder-dialogs": "4.12.0-rc3", + "adaptive-expressions": "4.12.0", + "botbuilder-core": "4.12.0", + "botbuilder-dialogs": "4.12.0", "node-fetch": "^2.6.0", - "url-parse": "^1.4.4" + "url-parse": "^1.5.1" + } + }, + "botbuilder-applicationinsights": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder-applicationinsights/-/botbuilder-applicationinsights-4.12.0.tgz", + "integrity": "sha512-BwBq2df4IRsgtuJJndc5xztSquKRP91S29XnbiIjySRfaBIHonqWe2jD/UR31YT4xHXISHzhZM4i1So1MoVtXg==", + "requires": { + "applicationinsights": "^1.7.5", + "botbuilder-core": "4.12.0", + "cls-hooked": "^4.2.2" + } + }, + "botbuilder-azure-blobs": { + "version": "4.12.0-preview", + "resolved": "https://registry.npmjs.org/botbuilder-azure-blobs/-/botbuilder-azure-blobs-4.12.0-preview.tgz", + "integrity": "sha512-AyV3V/g0o9gJIkcHgGKZ59pAElVVtX8CEIXTGlc5s5DTpQt/kYb70LL3Op0ae7Fp9gOuXvGKKqryiRGWH41H9w==", + "requires": { + "@azure/storage-blob": "^12.2.1", + "botbuilder-core": "4.12.0", + "botbuilder-stdlib": "4.12.0-internal", + "get-stream": "^6.0.0", + "p-map": "^4.0.0" } }, "botbuilder-core": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.12.0-rc3.tgz", - "integrity": "sha512-XTP77G/g3vkDH1maD3NktoHnPMWMhKOMYM9k5h04F7XITvDs/cq9SILeAxdwYfDNNkGrRS6SEe0tz5wMJfTdrw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.12.0.tgz", + "integrity": "sha512-PURNeGbYMxQ+NqbrRDanVpCmVOqbG0kzZ2QasWUweakYCKiysvM7Xp4qkh32De/5EAxBKO7AKeK0RKqTp7jHsg==", "requires": { "assert": "^1.4.1", - "botbuilder-stdlib": "4.12.0-rc3-internal", - "botframework-connector": "4.12.0-rc3", - "botframework-schema": "4.12.0-rc3", + "botbuilder-stdlib": "4.12.0-internal", + "botframework-connector": "4.12.0", + "botframework-schema": "4.12.0", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "botbuilder-dialogs": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botbuilder-dialogs/-/botbuilder-dialogs-4.12.0-rc3.tgz", - "integrity": "sha512-KUEab8pRdFm3kSQ2RJ8u/pI0YjQfPPh2xTl5mMuGQe/o1DoZOFgVSPtr73e4EaOpN9ZmHCJqXGnHdPuRhad4mA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder-dialogs/-/botbuilder-dialogs-4.12.0.tgz", + "integrity": "sha512-cjUlTATfQxFlDUPzFiE4XGxOvidVj5UlI4nnt7bOP6/wFVhgUh0U3C6G9JNpGRKBa5G5LBI2KsA+knRo1SUbIg==", "requires": { "@microsoft/recognizers-text-choice": "1.1.4", "@microsoft/recognizers-text-date-time": "1.1.4", "@microsoft/recognizers-text-number": "1.1.4", "@microsoft/recognizers-text-suite": "1.1.4", - "botbuilder-core": "4.12.0-rc3", + "botbuilder-core": "4.12.0", "globalize": "^1.4.2", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "botbuilder-dialogs-adaptive": { - "version": "4.12.0-rc3-preview", - "resolved": "https://registry.npmjs.org/botbuilder-dialogs-adaptive/-/botbuilder-dialogs-adaptive-4.12.0-rc3-preview.tgz", - "integrity": "sha512-eQg5erR/JPojy40ucCKRQ8hyUgDgY3k8b48ok6B3QwSU4iRYK54jKzI7QYEaj/JjRhBRFydaO2AOtcYokMnuZQ==", + "version": "4.12.0-preview", + "resolved": "https://registry.npmjs.org/botbuilder-dialogs-adaptive/-/botbuilder-dialogs-adaptive-4.12.0-preview.tgz", + "integrity": "sha512-gOKs1jFV27qqlp0pTBlFXl42TZs6Q+p41cl5VOEJPZbZ+ATdFBSo/Mx3ao7WSV8Z6xTQauQQ5nlpxr9YS/JL1g==", "requires": { "@microsoft/recognizers-text-suite": "1.1.4", - "adaptive-expressions": "4.12.0-rc3", - "botbuilder-core": "4.12.0-rc3", - "botbuilder-dialogs": "4.12.0-rc3", - "botbuilder-dialogs-declarative": "4.12.0-rc3-preview", - "botbuilder-lg": "4.12.0-rc3", - "botframework-connector": "4.12.0-rc3", - "botframework-schema": "4.12.0-rc3", + "adaptive-expressions": "4.12.0", + "botbuilder-core": "4.12.0", + "botbuilder-dialogs": "4.12.0", + "botbuilder-dialogs-declarative": "4.12.0-preview", + "botbuilder-lg": "4.12.0", + "botframework-connector": "4.12.0", + "botframework-schema": "4.12.0", "node-fetch": "^2.6.0" } }, "botbuilder-dialogs-declarative": { - "version": "4.12.0-rc3-preview", - "resolved": "https://registry.npmjs.org/botbuilder-dialogs-declarative/-/botbuilder-dialogs-declarative-4.12.0-rc3-preview.tgz", - "integrity": "sha512-zQXlSJR5vgk/YJHs2WZk3N4Kc52T6UiUgsWUB/3HwAlNdTJQdHqQnOpq4S3WTPCceoV0vdaOjgBalEzoFMTYFA==", + "version": "4.12.0-preview", + "resolved": "https://registry.npmjs.org/botbuilder-dialogs-declarative/-/botbuilder-dialogs-declarative-4.12.0-preview.tgz", + "integrity": "sha512-75BtjbXb5arKPemWhRZbEFAqdn043xhIMaOQWmz5oFHaax0ontnFsw3GsDRNK2xOFVcYWGFOKnLRM+F7Df+SFA==", "requires": { - "botbuilder-core": "4.12.0-rc3", - "botbuilder-dialogs": "4.12.0-rc3", - "botbuilder-stdlib": "4.12.0-rc3-internal", + "botbuilder-core": "4.12.0", + "botbuilder-dialogs": "4.12.0", + "botbuilder-stdlib": "4.12.0-internal", "chokidar": "^3.4.0" } }, "botbuilder-lg": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botbuilder-lg/-/botbuilder-lg-4.12.0-rc3.tgz", - "integrity": "sha512-wdGmednDFctnR0QoTuy6xzHd0QhJuA7xPvM4to8ZCQ6GTTTt+Of0nVN7G/WUHc1lkvKcgt6KU3N9OW/y8DuB3w==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botbuilder-lg/-/botbuilder-lg-4.12.0.tgz", + "integrity": "sha512-scjO5YfpVr1CYeIHeoz8vEKg8q+iYJ8ShStM4N8qlzYkwUoq2pP+alp8xCf38m6v07/KXgGkV6Nmyzsnl8/8cA==", "requires": { - "adaptive-expressions": "4.12.0-rc3", + "adaptive-expressions": "4.12.0", "antlr4ts": "0.5.0-alpha.3", "lodash": "^4.17.19", "path": "^0.12.7", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "botbuilder-stdlib": { - "version": "4.12.0-rc3-internal", - "resolved": "https://registry.npmjs.org/botbuilder-stdlib/-/botbuilder-stdlib-4.12.0-rc3-internal.tgz", - "integrity": "sha512-qIct37QaLGJmZ5TXYblMrwYSakBWKj1n4lsKmxXYZw+R3qSwdZQZrBBcox87TG/M9stM+MbP5XAzjQQ3L0pOUg==" + "version": "4.12.0-internal", + "resolved": "https://registry.npmjs.org/botbuilder-stdlib/-/botbuilder-stdlib-4.12.0-internal.tgz", + "integrity": "sha512-AwtWOZlgTaQte+uBeDOAy83veksMOzKHR62k3UYgUeqgsUamtqi6+OGV633hLi49ZmF/Gs8dP4iid2jCLDEQBg==" }, "botframework-connector": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.12.0-rc3.tgz", - "integrity": "sha512-rurb47JLc4h2C1iEUJ3u2Q43KhtuYs8FP2wPYbC18VRk4oNSPDnaRu5P2ltFQmsyGHgjqYms0nz3GF+HpvFFVg==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.12.0.tgz", + "integrity": "sha512-H4UOqBswIkiRF9Z1/6HpqLVE660SJS2+xHjEHtQJ2vvvutpOAiSWl7FSQpazAMpCVIhYpekofNPhaayRxJitvw==", "requires": { "@azure/ms-rest-js": "1.9.1", "@types/jsonwebtoken": "7.2.8", "@types/node": "^10.17.27", "adal-node": "0.2.1", "base64url": "^3.0.0", - "botframework-schema": "4.12.0-rc3", + "botframework-schema": "4.12.0", "cross-fetch": "^3.0.5", "jsonwebtoken": "8.0.1", "rsa-pem-from-mod-exp": "^0.8.4" } }, "botframework-schema": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.12.0-rc3.tgz", - "integrity": "sha512-qi/hVe8BF0zTKC2xNyhQxo14e8dBkHeOCeLYwD3zT23iz5YQcgAs8leEeNKhYZVEIc1sOlQ7ELbCg+iZE6ambw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.12.0.tgz", + "integrity": "sha512-W0/0xvrxafRrusWfGsGiwK2X4FOoIL7obvitkS+3XZfwhr6XeDKLClkQMbaU0GCawVF6DtbiPKErHpPUhd2Oig==", "requires": { - "botbuilder-stdlib": "4.12.0-rc3-internal" + "botbuilder-stdlib": "4.12.0-internal" } }, "botframework-streaming": { - "version": "4.12.0-rc3", - "resolved": "https://registry.npmjs.org/botframework-streaming/-/botframework-streaming-4.12.0-rc3.tgz", - "integrity": "sha512-D1msV3/G4LtLEsGf61RJL9ZumVuQMrz0BFZ8smIdyPV1NJ1Gcc8mA9wj5w6dCHi9lTKLaU7PWd7Ey761ooSRQw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/botframework-streaming/-/botframework-streaming-4.12.0.tgz", + "integrity": "sha512-RB7uUq66Qs5PbwINXX7muHN8Q6EEKuwkjIax4h9iaI/5KtLyW3VlIsPlpOx569qjVKpLd14zR1eWCdKmJlApuA==", "requires": { "@types/node": "^10.17.27", "@types/ws": "^6.0.3", "uuid": "^8.3.2", "ws": "^7.1.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } } }, "brace-expansion": { @@ -3065,16 +3459,16 @@ "dev": true }, "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" } }, "bser": { @@ -3098,9 +3492,9 @@ "dev": true }, "bunyan": { - "version": "1.8.14", - "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.14.tgz", - "integrity": "sha512-LlahJUxXzZLuw/hetUQJmRgZ1LF6+cr5TPpRj6jf327AsiIq2jhYEH4oqUUkVKTor+9w2BT3oxVwhzE5lw9tcg==", + "version": "1.8.15", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", + "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", "requires": { "dtrace-provider": "~0.8", "moment": "^2.19.3", @@ -3126,13 +3520,12 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "callsites": { @@ -3148,9 +3541,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001173", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", - "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==", + "version": "1.0.30001204", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001204.tgz", + "integrity": "sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ==", "dev": true }, "capture-exit": { @@ -3245,6 +3638,11 @@ "resolved": "https://registry.npmjs.org/cldrjs/-/cldrjs-0.5.5.tgz", "integrity": "sha512-KDwzwbmLIPfCgd8JERVDpQKrUUM1U4KpFJJg2IROv89rF172lLufoJnqJ/Wea6fXL5bO6WjuLMzY8V52UWPvkA==" }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -3271,6 +3669,16 @@ "wrap-ansi": "^6.2.0" } }, + "cls-hooked": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", + "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", + "requires": { + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -3309,9 +3717,9 @@ "dev": true }, "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "combined-stream": { @@ -3333,6 +3741,15 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "continuation-local-storage": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", + "integrity": "sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==", + "requires": { + "async-listener": "^0.6.0", + "emitter-listener": "^1.1.1" + } + }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -3357,12 +3774,12 @@ "dev": true }, "core-js-compat": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", - "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", + "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", "dev": true, "requires": { - "browserslist": "^4.16.0", + "browserslist": "^4.16.3", "semver": "7.0.0" }, "dependencies": { @@ -3380,9 +3797,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cross-fetch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", - "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.2.tgz", + "integrity": "sha512-+JhD65rDNqLbGmB3Gzs3HrEKC0aQnD+XA3SY6RjgkF88jV2q5cTc5+CwxlS3sdmLk98gpPt5CF9XRnPdlxZe6w==", "requires": { "node-fetch": "2.6.1" } @@ -3424,14 +3841,14 @@ } }, "csv": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/csv/-/csv-5.3.2.tgz", - "integrity": "sha512-odDyucr9OgJTdGM2wrMbJXbOkJx3nnUX3Pt8SFOwlAMOpsUQlz1dywvLMXJWX/4Ib0rjfOsaawuuwfI5ucqBGQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/csv/-/csv-5.4.0.tgz", + "integrity": "sha512-wtdhi5Q53Rhjm2qzi2iDBLI1FHXTECXOTQ/jrZD5gzEXS9ukUkHwbhHRrCvv/vYFisy6uSoUeuW11P7KgrrDRg==", "requires": { - "csv-generate": "^3.2.4", - "csv-parse": "^4.8.8", - "csv-stringify": "^5.3.6", - "stream-transform": "^2.0.1" + "csv-generate": "^3.3.0", + "csv-parse": "^4.15.3", + "csv-stringify": "^5.6.2", + "stream-transform": "^2.0.4" } }, "csv-generate": { @@ -3440,14 +3857,14 @@ "integrity": "sha512-EXSru4QwEWKwM7wwsJbhrZC+mHEJrhQFoXlohHs80CAU8Qhlv9gaw1sjzNiC3Hr3oUx5skDmEiAlz+tnKWV0RA==" }, "csv-parse": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.14.2.tgz", - "integrity": "sha512-YE2xlTKtM035/94llhgsp9qFQxGi47EkQJ1pZ+mLT/98GpIsbjkMGAb7Rmu9hNxVfYFOLf10hP+rPVqnoccLgw==" + "version": "4.15.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.15.3.tgz", + "integrity": "sha512-jlTqDvLdHnYMSr08ynNfk4IAUSJgJjTKy2U5CQBSu4cN9vQOJonLVZP4Qo4gKKrIgIQ5dr07UwOJdi+lRqT12w==" }, "csv-stringify": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.0.tgz", - "integrity": "sha512-E0LNLevBrwaJ1WKsl4HUPOmK96WyhizTfY79mJgfr2dsIb6zyJd3B9+lToO7gSkTaKi8CIo0Pd0vDGfa0whozg==" + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.2.tgz", + "integrity": "sha512-n3rIVbX6ylm1YsX2NEug9IaPV8xRnT+9/NNZbrA/bcHgOSSeqtWla6XnI/xmyu57wIw+ASCAoX1oM6EZtqJV0A==" }, "d3-format": { "version": "1.4.5", @@ -3600,9 +4017,22 @@ "dev": true }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==" + }, + "diagnostic-channel": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-0.3.1.tgz", + "integrity": "sha512-6eb9YRrimz8oTr5+JDzGmSYnXy5V7YnK5y/hd8AUDK1MssHjQKm9LlD6NSrHx4vMDF3+e/spI2hmWTviElgWZA==", + "requires": { + "semver": "^5.3.0" + } + }, + "diagnostic-channel-publishers": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.4.4.tgz", + "integrity": "sha512-l126t01d2ZS9EreskvEtZPrcgstuvH3rbKy82oUhUrVmBaGx4hO9wECdl3cvZbKDYjMF3QJDB5z5dL9yWAjvZQ==" }, "diff-sequences": { "version": "25.2.6", @@ -3668,11 +4098,19 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.634", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz", - "integrity": "sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==", + "version": "1.3.702", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.702.tgz", + "integrity": "sha512-qJVUKFWQnF6wP7MmTngDkmm8/KPzaiTXNFOAg5j7DSa6J7kPou7mTBqC8jpUOxauQWwHR3pn4dMRdV8IE1xdtA==", "dev": true }, + "emitter-listener": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", + "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", + "requires": { + "shimmer": "^1.2.0" + } + }, "emittery": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", @@ -3730,18 +4168,24 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "dev": true, "requires": { "esprima": "^4.0.1", - "estraverse": "^4.2.0", + "estraverse": "^5.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -3765,6 +4209,28 @@ "type-check": "~0.3.2", "word-wrap": "~1.2.3" } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } } } }, @@ -3888,9 +4354,9 @@ "dev": true }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -3998,9 +4464,9 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -4048,6 +4514,11 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, "ewma": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz", @@ -4057,9 +4528,9 @@ } }, "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", "dev": true }, "execa": { @@ -4075,6 +4546,17 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } } }, "exit": { @@ -4124,6 +4606,12 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -4433,6 +4921,31 @@ "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "flatted": { @@ -4442,9 +4955,9 @@ "dev": true }, "follow-redirects": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", - "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" }, "for-in": { "version": "1.0.2", @@ -4511,8 +5024,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -4533,10 +5045,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -4556,13 +5067,9 @@ "dev": true }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" }, "get-value": { "version": "2.0.6", @@ -4579,23 +5086,22 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "optional": true, "requires": { - "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } @@ -4615,9 +5121,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "grapheme-splitter": { "version": "1.0.4", @@ -4654,7 +5160,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4666,10 +5171,9 @@ "dev": true }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "has-value": { "version": "1.0.0", @@ -4692,6 +5196,26 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -4732,6 +5256,13 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } } }, "safe-buffer": { @@ -4844,6 +5375,11 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4854,9 +5390,9 @@ } }, "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "inquirer": { "version": "7.3.3", @@ -4930,12 +5466,6 @@ } } }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -5072,24 +5602,9 @@ } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-object": { "version": "2.0.4", @@ -5218,6 +5733,14 @@ "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "istanbul-reports": { @@ -5583,6 +6106,20 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5608,9 +6145,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -5790,9 +6327,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -6183,9 +6720,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -6290,9 +6827,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -6417,9 +6954,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -6525,9 +7062,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -7001,6 +7538,20 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7160,15 +7711,15 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -7379,9 +7930,9 @@ } }, "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "supports-color": { @@ -7533,48 +8084,54 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", + "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", "dev": true, "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", + "abab": "^2.0.5", + "acorn": "^8.1.0", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", - "cssstyle": "^2.2.0", + "cssstyle": "^2.3.0", "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", + "decimal.js": "^10.2.1", "domexception": "^2.0.1", - "escodegen": "^1.14.1", + "escodegen": "^2.0.0", "html-encoding-sniffer": "^2.0.1", "is-potential-custom-element-name": "^1.0.0", "nwsapi": "^2.2.0", - "parse5": "5.1.1", + "parse5": "6.0.1", "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", + "request-promise-native": "^1.0.9", + "saxes": "^5.0.1", "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", + "tough-cookie": "^4.0.0", "w3c-hr-time": "^1.0.2", "w3c-xmlserializer": "^2.0.0", "webidl-conversions": "^6.1.0", "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", + "whatwg-url": "^8.5.0", + "ws": "^7.4.4", "xml-name-validator": "^3.0.0" }, "dependencies": { + "acorn": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", + "dev": true + }, "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "dev": true, "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" } } } @@ -7613,9 +8170,9 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -7707,23 +8264,6 @@ "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" - }, - "dependencies": { - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - } } }, "lines-and-columns": { @@ -7742,9 +8282,15 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true }, "lodash.escaperegexp": { "version": "4.1.2", @@ -7882,21 +8428,21 @@ } }, "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" }, "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" }, "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "requires": { - "mime-db": "1.45.0" + "mime-db": "1.46.0" } }, "mimic-fn": { @@ -7964,9 +8510,9 @@ "optional": true }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "mute-stream": { "version": "0.0.8", @@ -7983,30 +8529,6 @@ "mkdirp": "~0.5.1", "ncp": "~2.0.0", "rimraf": "~2.4.0" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "optional": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", - "optional": true, - "requires": { - "glob": "^6.0.1" - } - } } }, "nan": { @@ -8075,9 +8597,9 @@ "dev": true }, "node-notifier": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", - "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", "dev": true, "optional": true, "requires": { @@ -8100,22 +8622,15 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "optional": true, "requires": { "lru-cache": "^6.0.0" } }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "optional": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8136,9 +8651,9 @@ } }, "node-releases": { - "version": "1.1.69", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", - "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==", + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", "dev": true }, "normalize-package-data": { @@ -8214,6 +8729,11 @@ } } }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -8292,23 +8812,6 @@ "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" - }, - "dependencies": { - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - } } }, "os-tmpdir": { @@ -8347,6 +8850,14 @@ "p-limit": "^2.2.0" } }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -8363,9 +8874,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -8375,9 +8886,9 @@ } }, "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, "pascalcase": { @@ -8461,9 +8972,9 @@ "dev": true }, "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { @@ -8625,6 +9136,13 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } } }, "readdirp": { @@ -8702,9 +9220,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -8772,6 +9290,11 @@ "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, @@ -8813,12 +9336,12 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "is-core-module": "^2.1.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -8873,14 +9396,22 @@ }, "dependencies": { "qs": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", - "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "requires": { + "side-channel": "^1.0.4" + } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, @@ -8911,12 +9442,12 @@ "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==" }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "optional": true, "requires": { - "glob": "^7.1.3" + "glob": "^6.0.1" } }, "rsa-pem-from-mod-exp": { @@ -8937,9 +9468,9 @@ "dev": true }, "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -9065,6 +9596,26 @@ } } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -9129,8 +9680,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "semver-store": { "version": "0.3.0", @@ -9169,6 +9719,11 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -9228,6 +9783,21 @@ "dev": true, "optional": true }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -9308,10 +9878,10 @@ "is-extendable": "^0.1.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -9388,9 +9958,9 @@ } }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { @@ -9414,12 +9984,20 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spdx-correct": { @@ -9510,6 +10088,11 @@ "tweetnacl": "~0.14.0" } }, + "stack-chain": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", + "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" + }, "stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", @@ -9568,9 +10151,9 @@ } }, "string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", @@ -9578,9 +10161,9 @@ } }, "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -9757,6 +10340,22 @@ "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "text-table": { @@ -9836,13 +10435,6 @@ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" - }, - "dependencies": { - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - } } }, "tough-cookie": { @@ -9877,9 +10469,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "tsutils": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.18.0.tgz", - "integrity": "sha512-D9Tu8nE3E7D1Bsf/V29oMHceMf+gnVO+pDguk/A5YRo1cLpkiQ48ZnbbS57pvvHeY+OIeNQx1vf4ASPlEtRpcA==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -9904,12 +10496,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" } }, "type-detect": { @@ -9934,15 +10526,15 @@ } }, "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", + "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", "dev": true }, "underscore": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz", - "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -10030,9 +10622,9 @@ } }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -10064,13 +10656,6 @@ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "requires": { "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - } } }, "util-deprecate": { @@ -10079,20 +10664,20 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8-to-istanbul": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", - "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", + "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -10193,12 +10778,12 @@ "dev": true }, "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", + "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", + "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" } @@ -10288,22 +10873,22 @@ } }, "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", + "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==" }, "x2js": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/x2js/-/x2js-3.4.0.tgz", - "integrity": "sha512-1tozn7D51ghz2DAiy5U6R55qn9x2F3lHUxusOD0QtYlLSDGxyXjHfn0c508eXG1D7s8qqj54SiU5HsPEfhDIpg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/x2js/-/x2js-3.4.1.tgz", + "integrity": "sha512-RCMEmHNsyeyzF5NyGHbmCCZU9N8uMiz9FluAj3CpfVREHpgm3JB9Wr/dEWdPqGHmK3lRd2fm0ccOWtuJ2YUowQ==", "requires": { - "xmldom": "^0.1.19" + "xmldom": "^0.5.0" }, "dependencies": { "xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==" } } }, diff --git a/runtime/node/package.json b/runtime/node/package.json index 723f9da6c7..58a0ab977c 100644 --- a/runtime/node/package.json +++ b/runtime/node/package.json @@ -16,12 +16,14 @@ "license": "ISC", "dependencies": { "@azure/functions": "^1.2.2", - "adaptive-expressions": "4.12.0-rc3", - "botbuilder": "4.12.0-rc3", - "botbuilder-ai": "4.12.0-rc3", - "botbuilder-dialogs": "4.12.0-rc3", - "botbuilder-dialogs-adaptive": "4.12.0-rc3-preview", - "botbuilder-dialogs-declarative": "4.12.0-rc3-preview", + "adaptive-expressions": "4.12.0", + "botbuilder": "4.12.0", + "botbuilder-ai": "4.12.0", + "botbuilder-applicationinsights": "4.12.0", + "botbuilder-azure-blobs": "4.12.0-preview", + "botbuilder-dialogs": "4.12.0", + "botbuilder-dialogs-adaptive": "4.12.0-preview", + "botbuilder-dialogs-declarative": "4.12.0-preview", "debug": "^4.1.1", "lodash": "^4.17.19", "minimist": "1.2.5", diff --git a/runtime/node/src/functions.ts b/runtime/node/src/functions.ts index 4dac4a8e21..a0256c0725 100644 --- a/runtime/node/src/functions.ts +++ b/runtime/node/src/functions.ts @@ -13,7 +13,7 @@ import { } from 'botbuilder'; import { AuthenticationConfiguration, SimpleCredentialProvider } from 'botframework-connector'; import { ComposerBot } from './shared/composerBot'; -import { getBotAdapter, getSettings } from './shared/helpers'; +import { configureTelemetry, getBotAdapter, getSettings, getTelemetryClient } from './shared/helpers'; import { SkillConversationIdFactory } from './shared/skillConversationIdFactory'; // Create shared memory storage. @@ -27,10 +27,18 @@ const conversationState = new ConversationState(memoryStorage); const skillConversationIdFactory = new SkillConversationIdFactory(); // Get botframework adapter. -const adapter = getBotAdapter(userState, conversationState); +const adapter = getBotAdapter(memoryStorage, userState, conversationState); + +// Get bot telemetry client. +const telemetryClient = getTelemetryClient(); // Create composer bot instance with root dialog. -const bot = new ComposerBot(userState, conversationState, skillConversationIdFactory); +const bot = new ComposerBot(userState, conversationState, skillConversationIdFactory, telemetryClient); + +// Configure telemetry client. +if (telemetryClient) { + configureTelemetry(adapter, telemetryClient); +} export const messagesTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise { context.log('Messages endpoint triggerd.'); diff --git a/runtime/node/src/shared/composerBot.ts b/runtime/node/src/shared/composerBot.ts index 6745ce4b2d..d30c7a1505 100644 --- a/runtime/node/src/shared/composerBot.ts +++ b/runtime/node/src/shared/composerBot.ts @@ -4,6 +4,7 @@ import { ActivityHandler, ActivityTypes, + BotTelemetryClient, ComponentRegistration, ConversationState, SkillHttpClient, @@ -19,6 +20,7 @@ import { LanguagePolicy, ResourceExtensions, SkillExtensions, + useTelemetry, } from 'botbuilder-dialogs-adaptive'; import { ResourceExplorer } from 'botbuilder-dialogs-declarative'; import { SimpleCredentialProvider, SkillValidation } from 'botframework-connector'; @@ -36,6 +38,7 @@ export class ComposerBot extends ActivityHandler { private readonly userState: UserState; private readonly conversationState: ConversationState; private readonly skillConversationIdFactory: SkillConversationIdFactory; + private readonly telemetryClient: BotTelemetryClient; private readonly projectRoot: string; private readonly settings: BotSettings; private readonly resourceExplorer: ResourceExplorer; @@ -44,12 +47,14 @@ export class ComposerBot extends ActivityHandler { public constructor( userState: UserState, conversationState: ConversationState, - skillConversationIdFactory: SkillConversationIdFactory + skillConversationIdFactory: SkillConversationIdFactory, + telemetryClient: BotTelemetryClient ) { super(); this.userState = userState; this.conversationState = conversationState; this.skillConversationIdFactory = skillConversationIdFactory; + this.telemetryClient = telemetryClient; this.projectRoot = getProjectRoot(); this.settings = getSettings(this.projectRoot); @@ -76,7 +81,7 @@ export class ComposerBot extends ActivityHandler { rootDialog.configure({ autoEndDialog: true }); } - const removeRecipientMention = (this.settings.feature && this.settings.feature.removeRecipientMention) || false; + const removeRecipientMention = this.settings.feature?.RemoveRecipientMention ?? false; if (removeRecipientMention && turnContext.activity.type == ActivityTypes.Message) { TurnContext.removeRecipientMention(turnContext.activity); } @@ -92,6 +97,9 @@ export class ComposerBot extends ActivityHandler { this.dialogManager = new DialogManager(rootDialog); ResourceExtensions.useResourceExplorer(this.dialogManager, this.resourceExplorer); this.dialogManager.initialTurnState.set('settings', this.settings); + if (this.telemetryClient) { + useTelemetry(this.dialogManager, this.telemetryClient); + } } private configureLanguageGeneration() { diff --git a/runtime/node/src/shared/helpers.ts b/runtime/node/src/shared/helpers.ts index 35d1ae8371..4fc0ffac80 100644 --- a/runtime/node/src/shared/helpers.ts +++ b/runtime/node/src/shared/helpers.ts @@ -12,13 +12,25 @@ import { ChannelServiceRoutes, ConversationState, InputHints, + InspectionMiddleware, + InspectionState, SkillHandler, + Storage, + TranscriptLoggerMiddleware, TurnContext, UserState, useBotState, WebRequest, WebResponse, + ShowTypingMiddleware, + TelemetryLoggerMiddleware, + BotTelemetryClient, } from 'botbuilder'; +import { + ApplicationInsightsTelemetryClient, + TelemetryInitializerMiddleware, +} from 'botbuilder-applicationinsights'; +import { BlobsTranscriptStore } from 'botbuilder-azure-blobs'; import { AuthenticationConfiguration, SimpleCredentialProvider } from 'botframework-connector'; import { ComposerBot } from './composerBot'; import { BotSettings } from './settings'; @@ -113,7 +125,11 @@ export const getRootDialog = (folderPath: string): string => { * @param userState User state required by a botframework adapter. * @param conversationState Conversation state required by a botframework adapter. */ -export const getBotAdapter = (userState: UserState, conversationState: ConversationState): BotFrameworkAdapter => { +export const getBotAdapter = ( + storage: Storage, + userState: UserState, + conversationState: ConversationState +): BotFrameworkAdapter => { const settings = getSettings(); const adapterSettings: Partial = { appId: settings.MicrosoftAppId, @@ -121,6 +137,28 @@ export const getBotAdapter = (userState: UserState, conversationState: Conversat }; const adapter = new BotFrameworkAdapter(adapterSettings); useBotState(adapter, userState, conversationState); + + // Configure Middlewares + if (settings.blobStorage?.connectionString && settings.blobStorage?.container) { + adapter.use( + new TranscriptLoggerMiddleware( + new BlobsTranscriptStore(settings.blobStorage?.connectionString, settings.blobStorage?.container) + ) + ); + } + + if (settings.feature?.UseInspectionMiddleware) { + adapter.use(new InspectionMiddleware(new InspectionState(storage))); + } + + if (settings.feature?.UseShowTypingMiddleware) { + adapter.use(new ShowTypingMiddleware()); + } + + if (settings.feature?.UseSetSpeakMiddleware && settings.speech) { + // TODO: add SetSpeakMiddleware (not available in botbuilder 4.12) + } + adapter.onTurnError = async (turnContext: TurnContext, error: Error) => { try { // Send a message to the user. @@ -146,6 +184,14 @@ export const getBotAdapter = (userState: UserState, conversationState: Conversat return adapter; }; +export const getTelemetryClient = (): BotTelemetryClient => { + const settings = getSettings(); + if (settings.applicationInsights?.InstrumentationKey) { + return new ApplicationInsightsTelemetryClient(settings.applicationInsights?.InstrumentationKey); + } + return undefined; +}; + /** * Configure a server to work with botframework message requests. * @param server Web server to be configured. @@ -204,3 +250,21 @@ export const configureManifestsEndpoint = (server: Server) => { } } }; + +/** + * Configure botframework adapter to use telemetry client. + * @param adapter Botframework adapter to be configured. + * @param telemetryClient Telemetry client. + */ +export const configureTelemetry = (adapter: BotFrameworkAdapter, telemetryClient: BotTelemetryClient): void => { + const settings = getSettings(); + + const telemetryLoggerMiddleware = new TelemetryLoggerMiddleware( + telemetryClient, + settings.telemetry?.logPersonalInformation ?? false + ); + + adapter.use( + new TelemetryInitializerMiddleware(telemetryLoggerMiddleware, settings.telemetry?.logActivities ?? false) + ); +}; diff --git a/runtime/node/src/shared/settings.ts b/runtime/node/src/shared/settings.ts index 31d16b4e4f..9b98d29fb4 100644 --- a/runtime/node/src/shared/settings.ts +++ b/runtime/node/src/shared/settings.ts @@ -15,10 +15,10 @@ export interface BotSettings { } export interface BotFeatureSettings { - useShowTypingMiddleware: boolean; - useInspectionMiddleware: boolean; - removeRecipientMention: boolean; - useSetSpeakMiddleware: boolean; + UseShowTypingMiddleware: boolean; + UseInspectionMiddleware: boolean; + RemoveRecipientMention: boolean; + UseSetSpeakMiddleware: boolean; } export interface BotSkillSettings { diff --git a/runtime/node/src/webapp.ts b/runtime/node/src/webapp.ts index 2162700831..f9e31edda4 100644 --- a/runtime/node/src/webapp.ts +++ b/runtime/node/src/webapp.ts @@ -3,6 +3,7 @@ import * as restify from 'restify'; import { ConversationState, MemoryStorage, UserState } from 'botbuilder'; +import { ApplicationInsightsWebserverMiddleware } from 'botbuilder-applicationinsights'; import { ComposerBot } from './shared/composerBot'; import { getBotAdapter, @@ -10,6 +11,8 @@ import { configureMessageEndpoint, getServerPort, configureManifestsEndpoint, + configureTelemetry, + getTelemetryClient, } from './shared/helpers'; import { SkillConversationIdFactory } from './shared/skillConversationIdFactory'; import debug from 'debug'; @@ -30,10 +33,13 @@ const skillConversationIdFactory = new SkillConversationIdFactory(); const server = restify.createServer({ maxParamLength: 1000 }); // Get botframework adapter. -const adapter = getBotAdapter(userState, conversationState); +const adapter = getBotAdapter(memoryStorage, userState, conversationState); + +// Get bot telemetry client. +const telemetryClient = getTelemetryClient(); // Create composer bot instance with root dialog. -const bot = new ComposerBot(userState, conversationState, skillConversationIdFactory); +const bot = new ComposerBot(userState, conversationState, skillConversationIdFactory, telemetryClient); // Configure message endpoint. configureMessageEndpoint(server, adapter, bot); @@ -44,6 +50,12 @@ configureSkillEndpoint(server, adapter, bot, skillConversationIdFactory); // Configure manifests endpoint. configureManifestsEndpoint(server); +// Configure telemetry client, initializers and middleware. +if (telemetryClient) { + server.use(ApplicationInsightsWebserverMiddleware); + configureTelemetry(adapter, telemetryClient); +} + // Get port and listen. const port = getServerPort(); server.listen(port, (): void => { From dcde81b486a77c7335385e16ca5d5a70220cb437 Mon Sep 17 00:00:00 2001 From: Qi Kang Date: Tue, 6 Apr 2021 23:53:14 +0800 Subject: [PATCH 37/41] add retry logic for adding app password (#6703) Co-authored-by: Dong Lei --- extensions/azurePublish/src/node/provision.ts | 59 +++++++++++++------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/extensions/azurePublish/src/node/provision.ts b/extensions/azurePublish/src/node/provision.ts index 94027ded7b..ec0f15b752 100644 --- a/extensions/azurePublish/src/node/provision.ts +++ b/extensions/azurePublish/src/node/provision.ts @@ -49,6 +49,8 @@ export class BotProjectProvision { this.graphToken = config.graphToken; } + private sleep = (waitTimeInMs) => new Promise((resolve) => setTimeout(resolve, waitTimeInMs)); + /*******************************************************************************************************************************/ /* This section has to do with creating new Azure resources /*******************************************************************************************************************************/ @@ -101,19 +103,29 @@ export class BotProjectProvision { // documented here: https://docs.microsoft.com/en-us/graph/api/resources/application?view=graph-rest-1.0#properties // we need the `appId` and `id` fields - appId is part of our configuration, and the `id` is used to set the password. let appCreated; - try { - appCreated = await rp.post(applicationUri, appCreateOptions); - } catch (err) { + let retryCount = 3; + while (retryCount >= 0) { + try { + appCreated = await rp.post(applicationUri, appCreateOptions); + } catch (err) { + this.logger({ + status: BotProjectDeployLoggerType.PROVISION_ERROR, + message: `App create failed: ${JSON.stringify(err, null, 4)}, retrying ...`, + }); + if (retryCount == 0) { + throw createCustomizeError(ProvisionErrors.CREATE_APP_REGISTRATION, 'App create failed!'); + } else { + await this.sleep(3000); + retryCount--; + continue; + } + } this.logger({ - status: BotProjectDeployLoggerType.PROVISION_ERROR, - message: `App create failed: ${JSON.stringify(err, null, 4)}`, + status: BotProjectDeployLoggerType.PROVISION_INFO, + message: `Start to add password for App, Id : ${appCreated.appId}`, }); - throw createCustomizeError(ProvisionErrors.CREATE_APP_REGISTRATION, 'App create failed!'); + break; } - this.logger({ - status: BotProjectDeployLoggerType.PROVISION_INFO, - message: `Start to add password for App, Id : ${appCreated.appId}`, - }); const appId = appCreated.appId; @@ -131,16 +143,25 @@ export class BotProjectProvision { } as rp.RequestPromiseOptions; let passwordSet; - try { - passwordSet = await rp.post(addPasswordUri, setSecretOptions); - } catch (err) { - this.logger({ - status: BotProjectDeployLoggerType.PROVISION_ERROR, - message: `Add application password failed: ${JSON.stringify(err, null, 4)}`, - }); - throw createCustomizeError(ProvisionErrors.CREATE_APP_REGISTRATION, 'Add application password failed!'); + retryCount = 3; + while (retryCount >= 0) { + try { + passwordSet = await rp.post(addPasswordUri, setSecretOptions); + } catch (err) { + this.logger({ + status: BotProjectDeployLoggerType.PROVISION_ERROR, + message: `Add application password failed: ${JSON.stringify(err, null, 4)}, retrying ...`, + }); + if (retryCount == 0) { + throw createCustomizeError(ProvisionErrors.CREATE_APP_REGISTRATION, 'Add application password failed!'); + } else { + await this.sleep(3000); + retryCount--; + continue; + } + } + break; } - const appPassword = passwordSet.secretText; this.logger({ From a7e5780b9e6c1e9f20096d92b2988bd0e7aa8a6b Mon Sep 17 00:00:00 2001 From: Chris Whitten Date: Tue, 6 Apr 2021 08:55:05 -0700 Subject: [PATCH 38/41] Update README.md --- releases/1.4.1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/1.4.1.md b/releases/1.4.1.md index c7e5d6474b..77c20a962b 100644 --- a/releases/1.4.1.md +++ b/releases/1.4.1.md @@ -4,6 +4,7 @@ #### Fixed +- fix: add retry logic for adding app password ([#6703](https://github.com/microsoft/BotFramework-Composer/pull/6703)) - fix: ARM token for provisioning is now passed via body. ([#6684](https://github.com/microsoft/BotFramework-Composer/pull/6684)) - fix: Publish page now populates publish types ([#6544](https://github.com/microsoft/BotFramework-Composer/pull/6544)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) - fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) \ No newline at end of file From 75ffa8edd8eb4de70143c805eff8e06a96ace209 Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Mon, 3 May 2021 18:54:17 -0700 Subject: [PATCH 39/41] feat: Breaking change upgrade UX from 1.4 to 2.0 (#7388) * Added mechanism to show custom UX on breaking updates * Minor updates / l10n * Fixed some minor bugs and added l10n * Cleaned up types * Fixed "Not now" behavior * Reenabled nightly feed to composer Signed-off-by: Srinaath Ravichandran * Revert "Reenabled nightly feed to composer" This reverts commit 63515752330813a4f842059199160acfe3688888. Signed-off-by: Srinaath Ravichandran * Updated changelog and set correct feed URL Signed-off-by: Srinaath Ravichandran * revert updates Signed-off-by: Srinaath Ravichandran Revert import order Signed-off-by: Srinaath Ravichandran Removed logs Signed-off-by: Srinaath Ravichandran * Handle unit test upgrades Signed-off-by: Srinaath Ravichandran Co-authored-by: Tony Co-authored-by: Srinaath Ravichandran --- .../{ => AppUpdater}/AppUpdater.tsx | 117 ++++++++++----- .../breakingUpdates/breakingUpdatesMap.ts | 20 +++ .../AppUpdater/breakingUpdates/types.ts | 11 ++ .../breakingUpdates/version1To2.tsx | 142 ++++++++++++++++++ .../src/components/AppUpdater/index.tsx | 4 + Composer/packages/client/src/constants.ts | 1 + .../recoilModel/dispatchers/application.ts | 2 +- .../__tests__/appUpdater.test.ts | 10 +- .../src/{ => appUpdater}/appUpdater.ts | 46 ++++-- .../src/appUpdater/breakingUpdates/index.ts | 13 ++ .../src/appUpdater/breakingUpdates/types.ts | 7 + .../appUpdater/breakingUpdates/version1To2.ts | 11 ++ .../electron-server/src/appUpdater/index.ts | 4 + Composer/packages/electron-server/src/main.ts | 5 +- .../packages/server/src/locales/en-US.json | 15 ++ Composer/packages/types/src/appUpdates.ts | 5 + Composer/packages/types/src/index.ts | 1 + releases/1.4.1.md | 10 +- 18 files changed, 367 insertions(+), 57 deletions(-) rename Composer/packages/client/src/components/{ => AppUpdater}/AppUpdater.tsx (73%) create mode 100644 Composer/packages/client/src/components/AppUpdater/breakingUpdates/breakingUpdatesMap.ts create mode 100644 Composer/packages/client/src/components/AppUpdater/breakingUpdates/types.ts create mode 100644 Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx create mode 100644 Composer/packages/client/src/components/AppUpdater/index.tsx rename Composer/packages/electron-server/src/{ => appUpdater}/appUpdater.ts (81%) create mode 100644 Composer/packages/electron-server/src/appUpdater/breakingUpdates/index.ts create mode 100644 Composer/packages/electron-server/src/appUpdater/breakingUpdates/types.ts create mode 100644 Composer/packages/electron-server/src/appUpdater/breakingUpdates/version1To2.ts create mode 100644 Composer/packages/electron-server/src/appUpdater/index.ts create mode 100644 Composer/packages/types/src/appUpdates.ts diff --git a/Composer/packages/client/src/components/AppUpdater.tsx b/Composer/packages/client/src/components/AppUpdater/AppUpdater.tsx similarity index 73% rename from Composer/packages/client/src/components/AppUpdater.tsx rename to Composer/packages/client/src/components/AppUpdater/AppUpdater.tsx index 9c4c4aa2b9..329d14b641 100644 --- a/Composer/packages/client/src/components/AppUpdater.tsx +++ b/Composer/packages/client/src/components/AppUpdater/AppUpdater.tsx @@ -20,8 +20,10 @@ import { useRecoilValue } from 'recoil'; import { SharedColors, NeutralColors } from '@uifabric/fluent-theme'; import { IpcRendererEvent } from 'electron'; -import { AppUpdaterStatus } from '../constants'; -import { appUpdateState, dispatcherState } from '../recoilModel'; +import { AppUpdaterStatus } from '../../constants'; +import { appUpdateState, dispatcherState } from '../../recoilModel'; + +import { breakingUpdatesMap } from './breakingUpdates/breakingUpdatesMap'; const updateAvailableDismissBtn: Partial = { root: { @@ -85,6 +87,12 @@ const downloadOptions = { installAndUpdate: 'installAndUpdate', }; +// TODO: factor this out into shared or types +type BreakingUpdateMetaData = { + explicitCheck: boolean; + uxId: string; +}; + // -------------------- AppUpdater -------------------- // export const AppUpdater: React.FC<{}> = () => { @@ -93,9 +101,11 @@ export const AppUpdater: React.FC<{}> = () => { ); const { downloadSizeInBytes, error, progressPercent, showing, status, version } = useRecoilValue(appUpdateState); const [downloadOption, setDownloadOption] = useState(downloadOptions.installAndUpdate); + const [breakingMetaData, setBreakingMetaData] = useState(undefined); const handleDismiss = useCallback(() => { setAppUpdateShowing(false); + setBreakingMetaData(undefined); if (status === AppUpdaterStatus.UPDATE_UNAVAILABLE || status === AppUpdaterStatus.UPDATE_FAILED) { setAppUpdateStatus(AppUpdaterStatus.IDLE, undefined); } @@ -118,53 +128,69 @@ export const AppUpdater: React.FC<{}> = () => { setDownloadOption(option); }, []); + // necessary? + const handleContinueFromBreakingUx = useCallback(() => { + handlePreDownloadOkay(); + }, [handlePreDownloadOkay]); + // listen for app updater events from main process useEffect(() => { - ipcRenderer.on('app-update', (_event: IpcRendererEvent, name: string, payload) => { - switch (name) { - case 'update-available': - setAppUpdateStatus(AppUpdaterStatus.UPDATE_AVAILABLE, payload.version); - setAppUpdateShowing(true); - break; - - case 'progress': { - const progress = +(payload.percent as number).toFixed(2); - setAppUpdateProgress(progress, payload.total); - break; - } + ipcRenderer.on( + 'app-update', + (_event: IpcRendererEvent, name: string, payload, breakingMetaData?: BreakingUpdateMetaData) => { + switch (name) { + case 'update-available': + setAppUpdateStatus(AppUpdaterStatus.UPDATE_AVAILABLE, payload.version); + setAppUpdateShowing(true); + break; - case 'update-in-progress': { - setAppUpdateStatus(AppUpdaterStatus.UPDATE_AVAILABLE, payload.version); - setAppUpdateShowing(true); - break; - } + case 'progress': { + const progress = +(payload.percent as number).toFixed(2); + setAppUpdateProgress(progress, payload.total); + break; + } - case 'update-not-available': { - const explicit = payload; - if (explicit) { - // the user has explicitly checked for an update via the Help menu; - // we should display some UI feedback if there are no updates available - setAppUpdateStatus(AppUpdaterStatus.UPDATE_UNAVAILABLE, undefined); + case 'update-in-progress': { + setAppUpdateStatus(AppUpdaterStatus.UPDATE_AVAILABLE, payload.version); setAppUpdateShowing(true); + break; } - break; - } - case 'update-downloaded': - setAppUpdateStatus(AppUpdaterStatus.UPDATE_SUCCEEDED, undefined); - setAppUpdateShowing(true); - break; + case 'update-not-available': { + const explicit = payload; + if (explicit) { + // the user has explicitly checked for an update via the Help menu; + // we should display some UI feedback if there are no updates available + setAppUpdateStatus(AppUpdaterStatus.UPDATE_UNAVAILABLE, undefined); + setAppUpdateShowing(true); + } + break; + } - case 'error': - setAppUpdateStatus(AppUpdaterStatus.UPDATE_FAILED, undefined); - setAppUpdateError(payload); - setAppUpdateShowing(true); - break; + case 'update-downloaded': + setAppUpdateStatus(AppUpdaterStatus.UPDATE_SUCCEEDED, undefined); + setAppUpdateShowing(true); + break; - default: - break; + case 'error': + setAppUpdateStatus(AppUpdaterStatus.UPDATE_FAILED, undefined); + setAppUpdateError(payload); + setAppUpdateShowing(true); + break; + + case 'breaking-update-available': + if (breakingMetaData) { + setBreakingMetaData(breakingMetaData); + setAppUpdateStatus(AppUpdaterStatus.BREAKING_UPDATE_AVAILABLE, payload.version); + setAppUpdateShowing(true); + } + break; + + default: + break; + } } - }); + ); }, []); const title = useMemo(() => { @@ -292,6 +318,19 @@ export const AppUpdater: React.FC<{}> = () => { const subText = status === AppUpdaterStatus.UPDATE_AVAILABLE ? `${formatMessage('Bot Framework Composer')} v${version}` : ''; + if (status === AppUpdaterStatus.BREAKING_UPDATE_AVAILABLE && showing && breakingMetaData) { + const BreakingUpdateUx = breakingUpdatesMap[breakingMetaData.uxId]; + // TODO: check if breaking update ux component is defined and handle undefined case + return ( + + ); + } + return showing ? ( > = { + 'Version1.x.xTo2.x.x': Version1To2Content, +}; diff --git a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/types.ts b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/types.ts new file mode 100644 index 0000000000..9c5fa3374c --- /dev/null +++ b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/types.ts @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export type BreakingUpdateProps = { + explicitCheck: boolean; + /** Called when the user dismisses the breaking changes UX; stops the update flow completely. */ + onCancel: () => void; + /** Called when the breaking changes UX is ready to continue into the normal update flow. */ + onContinue: () => void; + version?: string; +}; diff --git a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx new file mode 100644 index 0000000000..f78c3e54ec --- /dev/null +++ b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** @jsx jsx */ +import { jsx, css } from '@emotion/core'; +import React, { useCallback, useState } from 'react'; +import { DefaultButton, PrimaryButton, IButtonStyles } from 'office-ui-fabric-react/lib/Button'; +import { Dialog, DialogType, IDialogContentStyles } from 'office-ui-fabric-react/lib/Dialog'; +import { Link } from 'office-ui-fabric-react/lib/Link'; +import { NeutralColors } from '@uifabric/fluent-theme'; +import formatMessage from 'format-message'; +import { useRecoilValue } from 'recoil'; + +import { dispatcherState, userSettingsState } from '../../../recoilModel'; + +import { BreakingUpdateProps } from './types'; + +const dismissButton: Partial = { + root: { + marginRight: '6px;', + marginLeft: 'auto', + }, +}; + +const dialogContent: Partial = { + content: { color: NeutralColors.black }, +}; + +const dialogContentWithoutHeader: Partial = { + ...dialogContent, + header: { + display: 'none', + }, + inner: { + padding: '36px 24px 24px 24px', + }, +}; + +const buttonRow = css` + display: flex; + flex-flow: row nowrap; + justify-items: flex-end; +`; + +const gotItButton = css` + margin-left: auto; +`; + +const updateCancelledCopy = css` + margin-top: 0; + margin-bottom: 27px; +`; + +type ModalState = 'Default' | 'PressedNotNow'; + +export const Version1To2Content: React.FC = (props) => { + const { explicitCheck, onCancel, onContinue } = props; + const [currentState, setCurrentState] = useState('Default'); + const userSettings = useRecoilValue(userSettingsState); + const { updateUserSettings } = useRecoilValue(dispatcherState); + const onNotNow = useCallback(() => { + if (userSettings.appUpdater.autoDownload) { + // disable auto update and notify the user + updateUserSettings({ + appUpdater: { + autoDownload: false, + }, + }); + setCurrentState('PressedNotNow'); + } else { + onCancel(); + } + }, []); + + return currentState === 'Default' ? ( + + ) : ( + + ); +}; diff --git a/Composer/packages/client/src/components/AppUpdater/index.tsx b/Composer/packages/client/src/components/AppUpdater/index.tsx new file mode 100644 index 0000000000..57fef970fe --- /dev/null +++ b/Composer/packages/client/src/components/AppUpdater/index.tsx @@ -0,0 +1,4 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export { AppUpdater } from './AppUpdater'; diff --git a/Composer/packages/client/src/constants.ts b/Composer/packages/client/src/constants.ts index 2ede718606..8d67742cd8 100644 --- a/Composer/packages/client/src/constants.ts +++ b/Composer/packages/client/src/constants.ts @@ -346,6 +346,7 @@ export const SupportedFileTypes = [ export const USER_TOKEN_STORAGE_KEY = 'composer.userToken'; export enum AppUpdaterStatus { + BREAKING_UPDATE_AVAILABLE, IDLE, UPDATE_AVAILABLE, UPDATE_UNAVAILABLE, diff --git a/Composer/packages/client/src/recoilModel/dispatchers/application.ts b/Composer/packages/client/src/recoilModel/dispatchers/application.ts index 906f1d2a35..48831fc503 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/application.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/application.ts @@ -30,7 +30,7 @@ export const applicationDispatcher = () => { const newAppUpdateState = { ...currentAppUpdate, }; - if (status === AppUpdaterStatus.UPDATE_AVAILABLE) { + if (status === AppUpdaterStatus.UPDATE_AVAILABLE || status === AppUpdaterStatus.BREAKING_UPDATE_AVAILABLE) { newAppUpdateState.version = version; } if (status === AppUpdaterStatus.IDLE) { diff --git a/Composer/packages/electron-server/__tests__/appUpdater.test.ts b/Composer/packages/electron-server/__tests__/appUpdater.test.ts index 51fb95c86e..f6d7f9872e 100644 --- a/Composer/packages/electron-server/__tests__/appUpdater.test.ts +++ b/Composer/packages/electron-server/__tests__/appUpdater.test.ts @@ -1,6 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { AppUpdater } from '../src/appUpdater'; + const mockAutoUpdater = { allowDowngrade: false, autoDownload: false, @@ -23,14 +25,13 @@ jest.mock('electron', () => ({ }, })); -import { AppUpdater } from '../src/appUpdater'; - describe('App updater', () => { let appUpdater: AppUpdater; beforeEach(() => { mockAutoUpdater.allowDowngrade = false; mockAutoUpdater.autoDownload = false; appUpdater = AppUpdater.getInstance(); + (appUpdater as any).currentAppVersion = mockGetVersion(); (appUpdater as any).checkingForUpdate = false; (appUpdater as any).downloadingUpdate = false; (appUpdater as any)._downloadedUpdate = false; @@ -45,12 +46,10 @@ describe('App updater', () => { }); it('should check for updates from the nightly repo', () => { - (appUpdater as any).settings.autoDownload = true; (appUpdater as any).settings.useNightly = true; appUpdater.checkForUpdates(true); expect(mockAutoUpdater.checkForUpdates).toHaveBeenCalled(); - expect(mockAutoUpdater.autoDownload).toBe(true); expect((appUpdater as any).explicitCheck).toBe(true); expect(mockAutoUpdater.setFeedURL).toHaveBeenCalledWith({ provider: 'github', @@ -89,10 +88,9 @@ describe('App updater', () => { }); it('should not allow a downgrade when checking for updates from nightly to (stable or nightly)', () => { - mockGetVersion.mockReturnValueOnce('0.0.1-nightly.12345.abcdef'); + (appUpdater as any).currentAppVersion = '0.0.1-nightly.12345.abcdef'; mockAutoUpdater.allowDowngrade = true; appUpdater.checkForUpdates(); - expect(mockAutoUpdater.allowDowngrade).toBe(false); }); diff --git a/Composer/packages/electron-server/src/appUpdater.ts b/Composer/packages/electron-server/src/appUpdater/appUpdater.ts similarity index 81% rename from Composer/packages/electron-server/src/appUpdater.ts rename to Composer/packages/electron-server/src/appUpdater/appUpdater.ts index 70d8460467..dac0e4d9a9 100644 --- a/Composer/packages/electron-server/src/appUpdater.ts +++ b/Composer/packages/electron-server/src/appUpdater/appUpdater.ts @@ -8,15 +8,26 @@ import { app } from 'electron'; import { prerelease as isNightly } from 'semver'; import { AppUpdaterSettings } from '@bfc/shared'; -import logger from './utility/logger'; +import logger from '../utility/logger'; + +import { breakingUpdates } from './breakingUpdates'; + const log = logger.extend('app-updater'); +export type BreakingUpdateMetaData = { + explicitCheck: boolean; + uxId: string; +}; + let appUpdater: AppUpdater | undefined; export class AppUpdater extends EventEmitter { + private currentAppVersion = app.getVersion(); + private checkingForUpdate = false; private downloadingUpdate = false; private _downloadedUpdate = false; private explicitCheck = false; + private isBreakingUpdate = false; private updateInfo: UpdateInfo | undefined = undefined; private settings: AppUpdaterSettings = { autoDownload: false, useNightly: false }; @@ -25,6 +36,7 @@ export class AppUpdater extends EventEmitter { autoUpdater.allowDowngrade = false; autoUpdater.allowPrerelease = true; + autoUpdater.autoDownload = false; autoUpdater.autoInstallOnAppQuit = false; // we will explicitly call the install logic autoUpdater.on('error', this.onError.bind(this)); @@ -54,10 +66,8 @@ export class AppUpdater extends EventEmitter { this.emit('update-in-progress', this.updateInfo); return; } - this.setFeedURL(); this.determineUpdatePath(); - autoUpdater.autoDownload = this.settings.autoDownload; autoUpdater.checkForUpdates(); } @@ -98,8 +108,28 @@ export class AppUpdater extends EventEmitter { log('Update available: %O', updateInfo); this.checkingForUpdate = false; this.updateInfo = updateInfo; + + // check to see if the update will include breaking changes + const breakingUpdate = breakingUpdates + .map((predicate) => predicate(this.currentAppVersion, updateInfo.version)) + .find((result) => result.breaking); + if (breakingUpdate) { + this.isBreakingUpdate = true; + // show custom UX for the breaking changes + this.emit('breaking-update-available', updateInfo, { + uxId: breakingUpdate.uxId, + explicitCheck: this.explicitCheck, + }); + return; + } + + // show standard update UX if (this.explicitCheck || !this.settings.autoDownload) { + this.isBreakingUpdate = false; this.emit('update-available', updateInfo); + } else { + // silently download + autoUpdater.downloadUpdate(); } } @@ -115,7 +145,7 @@ export class AppUpdater extends EventEmitter { private onDownloadProgress(progress: any) { log('Got update progress: %O', progress); this.downloadingUpdate = true; - if (this.explicitCheck || !this.settings.autoDownload) { + if (this.explicitCheck || !this.settings.autoDownload || this.isBreakingUpdate) { this.emit('progress', progress); } } @@ -124,7 +154,7 @@ export class AppUpdater extends EventEmitter { log('Update downloaded: %O', updateInfo); this._downloadedUpdate = true; this.updateInfo = updateInfo; - if (this.explicitCheck || !this.settings.autoDownload) { + if (this.explicitCheck || !this.settings.autoDownload || this.isBreakingUpdate) { this.emit('update-downloaded', updateInfo); } this.resetToIdle(); @@ -158,12 +188,10 @@ export class AppUpdater extends EventEmitter { } private determineUpdatePath() { - const currentVersion = app.getVersion(); - // The following paths don't need to allow downgrade: // nightly -> stable (1.0.1-nightly.x.x -> 1.0.2) // nightly -> nightly (1.0.1-nightly.x.x -> 1.0.1-nightly.y.x) - if (isNightly(currentVersion)) { + if (isNightly(this.currentAppVersion)) { const targetChannel = this.settings.useNightly ? 'nightly' : 'stable'; log(`Updating from nightly to ${targetChannel}. Not allowing downgrade.`); autoUpdater.allowDowngrade = false; @@ -173,7 +201,7 @@ export class AppUpdater extends EventEmitter { // https://github.com/npm/node-semver/blob/v7.3.2/classes/semver.js#L127 // The following path needs to allow downgrade to work: // stable -> nightly (1.0.1 -> 1.0.1-nightly.x.x) - if (!isNightly(currentVersion) && this.settings.useNightly) { + if (!isNightly(this.currentAppVersion) && this.settings.useNightly) { log(`Updating from stable to nightly. Allowing downgrade.`); autoUpdater.allowDowngrade = true; return; diff --git a/Composer/packages/electron-server/src/appUpdater/breakingUpdates/index.ts b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/index.ts new file mode 100644 index 0000000000..2af7b54690 --- /dev/null +++ b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/index.ts @@ -0,0 +1,13 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { BreakingUpdatePredicate } from './types'; +import { version1To2 } from './version1To2'; + +/** + * Array of functions that will check the current version and latest version during an update to determine + * if the user is about to install a breaking update. If any of these checks is satisfied, the client will + * display custom UX for the offending update before allowing the user to proceed with the standard + * update flow. + */ +export const breakingUpdates: BreakingUpdatePredicate[] = [version1To2]; diff --git a/Composer/packages/electron-server/src/appUpdater/breakingUpdates/types.ts b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/types.ts new file mode 100644 index 0000000000..f6574ef2ae --- /dev/null +++ b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/types.ts @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { BreakingUpdateId } from '@botframework-composer/types'; + +type BreakingUpdateResult = { breaking: boolean; uxId: BreakingUpdateId }; +export type BreakingUpdatePredicate = (curVersion: string, newVersion: string) => BreakingUpdateResult; diff --git a/Composer/packages/electron-server/src/appUpdater/breakingUpdates/version1To2.ts b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/version1To2.ts new file mode 100644 index 0000000000..0c24ed06a1 --- /dev/null +++ b/Composer/packages/electron-server/src/appUpdater/breakingUpdates/version1To2.ts @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { lt, satisfies } from 'semver'; + +import { BreakingUpdatePredicate } from './types'; + +export const version1To2: BreakingUpdatePredicate = (curVersion: string, newVersion: string) => { + const breaking = lt(curVersion, '2.0.0') && satisfies(newVersion, '>= 2.0.0 < 3.0.0'); + return { breaking, uxId: 'Version1.x.xTo2.x.x' }; +}; diff --git a/Composer/packages/electron-server/src/appUpdater/index.ts b/Composer/packages/electron-server/src/appUpdater/index.ts new file mode 100644 index 0000000000..a52cb14334 --- /dev/null +++ b/Composer/packages/electron-server/src/appUpdater/index.ts @@ -0,0 +1,4 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export * from './appUpdater'; diff --git a/Composer/packages/electron-server/src/main.ts b/Composer/packages/electron-server/src/main.ts index 553419e4be..94acb8cc8c 100644 --- a/Composer/packages/electron-server/src/main.ts +++ b/Composer/packages/electron-server/src/main.ts @@ -11,7 +11,7 @@ import formatMessage from 'format-message'; import { mkdirp } from 'fs-extra'; import { initAppMenu } from './appMenu'; -import { AppUpdater } from './appUpdater'; +import { AppUpdater, BreakingUpdateMetaData } from './appUpdater'; import { OneAuthService } from './auth/oneAuthService'; import { composerProtocol } from './constants'; import ElectronWindow from './electronWindow'; @@ -101,6 +101,9 @@ function initializeAppUpdater(settings: AppUpdaterSettings) { appUpdater.on('update-available', (updateInfo: UpdateInfo) => { mainWindow.webContents.send('app-update', 'update-available', updateInfo); }); + appUpdater.on('breaking-update-available', (updateInfo: UpdateInfo, breakingMetaData: BreakingUpdateMetaData) => { + mainWindow.webContents.send('app-update', 'breaking-update-available', updateInfo, breakingMetaData); + }); appUpdater.on('progress', (progress) => { mainWindow.webContents.send('app-update', 'progress', progress); }); diff --git a/Composer/packages/server/src/locales/en-US.json b/Composer/packages/server/src/locales/en-US.json index b4e03949ca..1a821918ba 100644 --- a/Composer/packages/server/src/locales/en-US.json +++ b/Composer/packages/server/src/locales/en-US.json @@ -449,6 +449,9 @@ "bot_files_created_986109df": { "message": "Bot files created" }, + "bot_framework_composer_2_0_provides_more_built_in__c6abf11c": { + "message": "Bot Framework Composer 2.0 provides more built-in capabilities so you can build complex bots quickly. Update to Composer 2.0 for advanced bot templates, prebuilt components, and a runtime that is fully extensible through packages." + }, "bot_framework_composer_enables_developers_and_mult_ce0e42a9": { "message": "Bot Framework Composer enables developers and multi-disciplinary teams to build all kinds of conversational experiences, using the latest components from the Bot Framework: SDK, LG, LU, and declarative file formats, all without writing code." }, @@ -632,6 +635,9 @@ "component_stacktrace_e24b1983": { "message": "Component Stacktrace:" }, + "composer_2_0_is_now_available_113ed532": { + "message": "Composer 2.0 is now available!" + }, "composer_cannot_yet_translate_your_bot_automatical_2d54081b": { "message": "Composer cannot yet translate your bot automatically.\nTo create a translation manually, Composer will create a copy of your bot’s content with the name of the additional language. This content can then be translated without affecting the original bot logic or flow and you can switch between languages to ensure the responses are correctly and appropriately translated." }, @@ -2276,6 +2282,9 @@ "not_yet_published_669e37b3": { "message": "Not yet published" }, + "note_if_your_bot_is_using_custom_actions_they_will_a500ed2": { + "message": "Note: If your bot is using custom actions, they will not be supported in Composer 2.0. Learn more about updating to Composer 2.0." + }, "notifications_cbfa7704": { "message": "Notifications" }, @@ -3446,9 +3455,15 @@ "update_activity_2b05e6c6": { "message": "Update activity" }, + "update_and_restart_b236a67": { + "message": "Update and restart" + }, "update_available_b637d767": { "message": "Update available" }, + "update_cancelled_auto_update_has_been_turned_off_f_7f7e08d7": { + "message": "Update cancelled. Auto-update has been turned off for this release. You can update at any time by selecting Help > Check for updates." + }, "update_complete_c5163fbf": { "message": "Update complete" }, diff --git a/Composer/packages/types/src/appUpdates.ts b/Composer/packages/types/src/appUpdates.ts new file mode 100644 index 0000000000..50effc11d4 --- /dev/null +++ b/Composer/packages/types/src/appUpdates.ts @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/** Used to look up the corresponding UX to display for each breaking update */ +export type BreakingUpdateId = 'Version1.x.xTo2.x.x'; diff --git a/Composer/packages/types/src/index.ts b/Composer/packages/types/src/index.ts index 7c4deb0901..91b01a0243 100644 --- a/Composer/packages/types/src/index.ts +++ b/Composer/packages/types/src/index.ts @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +export * from './appUpdates'; export * from './auth'; export * from './azure'; export * from './diagnostic'; diff --git a/releases/1.4.1.md b/releases/1.4.1.md index 77c20a962b..aeb84675b4 100644 --- a/releases/1.4.1.md +++ b/releases/1.4.1.md @@ -2,9 +2,17 @@ ## Changelog +## Summary + +This release mostly contains small bug fixes and performance improvements in addition to providing a UX for a breaking change upgrade. + +#### Added + +- feat: Breaking change upgrade UX from 1.4 to 2.0 ([#7388](https://github.com/microsoft/BotFramework-Composer/pull/7388)) ([@srinaath](https://github.com/srinaath)) + #### Fixed - fix: add retry logic for adding app password ([#6703](https://github.com/microsoft/BotFramework-Composer/pull/6703)) - fix: ARM token for provisioning is now passed via body. ([#6684](https://github.com/microsoft/BotFramework-Composer/pull/6684)) - fix: Publish page now populates publish types ([#6544](https://github.com/microsoft/BotFramework-Composer/pull/6544)) ([@GeoffCoxMSFT](https://github.com/GeoffCoxMSFT)) -- fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) \ No newline at end of file +- fix: unify runtime path from ejecting ([#6520](https://github.com/microsoft/BotFramework-Composer/pull/6520)) ([@lei9444](https://github.com/lei9444)) From 44f26f665358674c6823daaac191f917cd260f91 Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Thu, 6 May 2021 14:21:51 -0700 Subject: [PATCH 40/41] Updated migration aka.ms link Signed-off-by: Srinaath Ravichandran --- .../src/components/AppUpdater/breakingUpdates/version1To2.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx index f78c3e54ec..fc656f4561 100644 --- a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx +++ b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx @@ -96,9 +96,8 @@ export const Version1To2Content: React.FC = (props) => { {formatMessage.rich( 'Note: If your bot is using custom actions, they will not be supported in Composer 2.0. Learn more about updating to Composer 2.0.', { - // TODO: needs real link a: ({ children }) => ( - + {children} ), From 0c8b8197cfe266bcb91cb3b2300457ca59c8e22d Mon Sep 17 00:00:00 2001 From: Srinaath Ravichandran Date: Thu, 6 May 2021 15:11:10 -0700 Subject: [PATCH 41/41] Revert "Updated migration aka.ms link" This reverts commit 44f26f665358674c6823daaac191f917cd260f91. Signed-off-by: Srinaath Ravichandran --- .../src/components/AppUpdater/breakingUpdates/version1To2.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx index fc656f4561..f78c3e54ec 100644 --- a/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx +++ b/Composer/packages/client/src/components/AppUpdater/breakingUpdates/version1To2.tsx @@ -96,8 +96,9 @@ export const Version1To2Content: React.FC = (props) => { {formatMessage.rich( 'Note: If your bot is using custom actions, they will not be supported in Composer 2.0. Learn more about updating to Composer 2.0.', { + // TODO: needs real link a: ({ children }) => ( - + {children} ),