diff --git a/Composer/packages/server/jest.config.js b/Composer/packages/server/jest.config.js index 316a1ce372..a8a38e4042 100644 --- a/Composer/packages/server/jest.config.js +++ b/Composer/packages/server/jest.config.js @@ -4,5 +4,5 @@ const { createConfig } = require('@botframework-composer/test-utils'); module.exports = createConfig('server', 'node', { setupFiles: [path.resolve(__dirname, 'src/__tests__/setupEnv.ts')], - testPathIgnorePatterns: ['src/__tests__/setupEnv.ts'], + testPathIgnorePatterns: ['src/__tests__/setupEnv.ts', 'orchestratorBuilder'], }); diff --git a/Composer/packages/server/package.json b/Composer/packages/server/package.json index c58362cdb4..ac0be88452 100644 --- a/Composer/packages/server/package.json +++ b/Composer/packages/server/package.json @@ -65,6 +65,7 @@ "@microsoft/bf-dispatcher": "^4.11.0-beta.20201016.393c6b2", "@microsoft/bf-generate-library": "^4.10.0-daily.20201015.174962", "@microsoft/bf-lu": "^4.11.0-dev.20201013.7ccb128", + "@microsoft/bf-orchestrator": "4.11.0-beta.20201013.20d7917", "archiver": "^5.0.2", "axios": "^0.19.2", "azure-storage": "^2.10.3", diff --git a/Composer/packages/server/src/models/bot/__mocks__/mockLUInput.json b/Composer/packages/server/src/models/bot/__mocks__/mockLUInput.json new file mode 100644 index 0000000000..7ce01a1199 --- /dev/null +++ b/Composer/packages/server/src/models/bot/__mocks__/mockLUInput.json @@ -0,0 +1,16 @@ +[ + { + "name": "emptybot-1.dialog", + "content": "{\n \"$kind\": \"Microsoft.AdaptiveDialog\",\n \"$designer\": {\n \"name\": \"AddItem\",\n \"id\": \"225905\"\n },\n \"autoEndDialog\": true,\n \"defaultResultProperty\": \"dialog.result\",\n \"triggers\": [\n {\n \"$kind\": \"Microsoft.OnBeginDialog\",\n \"$designer\": {\n \"name\": \"BeginDialog\",\n \"id\": \"479346\"\n },\n \"actions\": [\n {\n \"$kind\": \"Microsoft.SetProperties\",\n \"$designer\": {\n \"id\": \"811190\",\n \"name\": \"Set properties\"\n },\n \"assignments\": [\n {\n \"property\": \"dialog.itemTitle\",\n \"value\": \"=coalesce(@itemTitle, $itemTitle)\"\n },\n {\n \"property\": \"dialog.listType\",\n \"value\": \"=coalesce(@listType, $listType)\"\n }\n ]\n },\n {\n \"$kind\": \"Microsoft.TextInput\",\n \"$designer\": {\n \"id\": \"282825\",\n \"name\": \"AskForTitle\"\n },\n \"prompt\": \"${TextInput_Prompt_282825()}\",\n \"maxTurnCount\": \"3\",\n \"property\": \"dialog.itemTitle\",\n \"value\": \"=coalesce(@itemTitle, $itemTitle)\",\n \"allowInterruptions\": \"!@itemTitle && #_Interruption.Score >= 0.9\"\n },\n {\n \"$kind\": \"Microsoft.ChoiceInput\",\n \"$designer\": {\n \"id\": \"878594\",\n \"name\": \"AskForListType\"\n },\n \"prompt\": \"${TextInput_Prompt_878594()}\",\n \"maxTurnCount\": \"3\",\n \"property\": \"dialog.listType\",\n \"value\": \"=@listType\",\n \"allowInterruptions\": \"!@listType\",\n \"outputFormat\": \"value\",\n \"choices\": [\n {\n \"value\": \"todo\",\n \"synonyms\": [\n \"to do\"\n ]\n },\n {\n \"value\": \"grocery\",\n \"synonyms\": [\n \"groceries\"\n ]\n },\n {\n \"value\": \"shopping\",\n \"synonyms\": [\n \"shoppers\"\n ]\n }\n ],\n \"appendChoices\": \"true\",\n \"defaultLocale\": \"en-us\",\n \"style\": \"Auto\",\n \"choiceOptions\": {\n \"inlineSeparator\": \", \",\n \"inlineOr\": \" or \",\n \"inlineOrMore\": \", or \",\n \"includeNumbers\": true\n },\n \"recognizerOptions\": {\n \"noValue\": false\n }\n },\n {\n \"$kind\": \"Microsoft.EditArray\",\n \"$designer\": {\n \"id\": \"733511\",\n \"name\": \"Edit an Array property\"\n },\n \"changeType\": \"push\",\n \"itemsProperty\": \"user.lists[dialog.listType]\",\n \"value\": \"=$itemTitle\"\n },\n {\n \"$kind\": \"Microsoft.SendActivity\",\n \"$designer\": {\n \"id\": \"139532\",\n \"name\": \"Send a response\"\n },\n \"activity\": \"${SendActivity_139532()}\"\n }\n ]\n }\n ],\n \"generator\": \"additem.lg\",\n \"recognizer\": \"additem.lu\"\n}\n", + "path": "/Users/tester/Desktop/EmptyBot-1/additem.dialog", + "relativePath": "", + "lastModified": "Thu Jul 09 2020 10:19:09 GMT-0700 (Pacific Daylight Time)" + }, + { + "name": "additem.en-us.lu", + "content": "\n# TextInput_Response_282825\n- Please remind me to {itemTitle=buy milk}\n- Please remember that I need to {itemTitle=buy milk}\n- shoppers", + "path": "/Users/tester/Desktop/EmptyBot-1/dialogs/additem/language-understanding/en-us/additem.en-us.lu", + "relativePath": "dialogs/additem/language-understanding/en-us/additem.en-us.lu", + "lastModified": "Thu Jul 09 2020 10:19:09 GMT-0700 (Pacific Daylight Time)" + } +] \ No newline at end of file diff --git a/Composer/packages/server/src/models/bot/__tests__/orchestratorBuilder.test.ts b/Composer/packages/server/src/models/bot/__tests__/orchestratorBuilder.test.ts new file mode 100644 index 0000000000..f34ef487c7 --- /dev/null +++ b/Composer/packages/server/src/models/bot/__tests__/orchestratorBuilder.test.ts @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as path from 'path'; + +import rimraf from 'rimraf'; +import { FileInfo } from '@bfc/shared'; +import { Utility } from '@microsoft/bf-orchestrator'; + +import { IFileStorage } from '../../storage/interface'; +import { Builder } from '../builder'; +import mockLUInput from '../__mocks__/mockLUInput.json'; + +const nlrId = 'pretrained.20200924.microsoft.dte.00.03.en.onnx'; +const nlrPath: string = path.resolve('./orchestrator_ut_model/'); +const downloadModelTimeoutMs = 90000; + +describe('Orchestrator Tests', () => { + beforeAll(async () => { + // disable Orchestrator Lib console logging across the board - interferes with Jest + Utility.toPrintDebuggingLogToConsole = false; + + const progressStatusStub = jest.fn(); + const successStatusStub = jest.fn(); + + const builder = new Builder('', {} as IFileStorage, 'en-us'); + + // download the UT NLR model once before all tests are run - build tests don't work without a valid model + await builder.runOrchestratorNlrGet(nlrPath, nlrId, progressStatusStub, successStatusStub); + + expect(progressStatusStub).toBeCalled(); + expect(successStatusStub).toBeCalledTimes(1); + }, downloadModelTimeoutMs); + + afterAll(async () => { + const callbackStub = jest.fn(); + rimraf(nlrPath, callbackStub); + + expect(callbackStub).toBeCalledWith(); + }); + + it('always lists DTE 3L model for FTs', async () => { + const builder = new Builder('', {} as IFileStorage, 'en-us'); + + const nlrList = await builder.runOrchestratorNlrList(); + expect(Object.getOwnPropertyNames(nlrList.models)).toContain(nlrId); + }); + + it('throws if input empty', () => { + const builder = new Builder('', {} as IFileStorage, 'en-us'); + + expect(builder.runOrchestratorBuild([], nlrPath)).rejects.toThrow(); + }); + + it('throws if NLR path invalid', () => { + const builder = new Builder('', {} as IFileStorage, 'en-us'); + + const data: FileInfo[] = [{ name: 'hello', content: 'test', lastModified: '', path: '', relativePath: '' }]; + expect(builder.runOrchestratorBuild(data, 'invalidPath')).rejects.toThrow(); + }); + + it('produces expected snapshot and recognizer shape', async () => { + const builder = new Builder('', {} as IFileStorage, 'en-us'); + + const buildOutput = await builder.runOrchestratorBuild(mockLUInput, nlrPath); + + expect(buildOutput.outputs.map((o) => o.id)).toContain('additem.en-us.lu'); + + const addItemData = buildOutput.outputs.find((o) => o.id == 'additem.en-us.lu'); + expect(addItemData?.snapshot).toBeTruthy(); + }); + + it('produces expected recognizer shape', async () => { + const builder = new Builder('', {} as IFileStorage, 'en-us'); + const buildOutput = await builder.runOrchestratorBuild(mockLUInput, nlrPath); + + expect(buildOutput.outputs.map((o) => o.id)).toContain('additem.en-us.lu'); + + const addItemData = buildOutput.outputs.find((o) => o.id == 'additem.en-us.lu'); + expect(addItemData?.recognizer).toBeTruthy(); + + expect(addItemData?.recognizer.orchestratorRecognizer).toBeTruthy(); + expect(addItemData?.recognizer.orchestratorRecognizer.$kind).toBe('Microsoft.OrchestratorRecognizer'); + }); +}); diff --git a/Composer/packages/server/src/models/bot/botProject.ts b/Composer/packages/server/src/models/bot/botProject.ts index 2052967dff..446d5414f8 100644 --- a/Composer/packages/server/src/models/bot/botProject.ts +++ b/Composer/packages/server/src/models/bot/botProject.ts @@ -818,7 +818,7 @@ export class BotProject implements IBotProject { try { const defaultBotProjectFile: any = await AssetService.manager.botProjectFileTemplate; - for (const [_, file] of files) { + for (const [, file] of files) { if (file.name.endsWith(FileExtensions.BotProject)) { return fileList; } diff --git a/Composer/packages/server/src/models/bot/builder.ts b/Composer/packages/server/src/models/bot/builder.ts index 8289919cdd..9917737e05 100644 --- a/Composer/packages/server/src/models/bot/builder.ts +++ b/Composer/packages/server/src/models/bot/builder.ts @@ -5,13 +5,16 @@ import { FileInfo, IConfig } from '@bfc/shared'; import { ComposerReservoirSampler } from '@microsoft/bf-dispatcher/lib/mathematics/sampler/ComposerReservoirSampler'; import { ComposerBootstrapSampler } from '@microsoft/bf-dispatcher/lib/mathematics/sampler/ComposerBootstrapSampler'; +import { Orchestrator } from '@microsoft/bf-orchestrator'; import { Path } from '../../utility/path'; import { IFileStorage } from '../storage/interface'; import log from '../../logger'; +import { IOrchestratorBuildOutput, IOrchestratorNLRList, IOrchestratorProgress } from './interface'; import { luImportResolverGenerator, getLUFiles, getQnAFiles } from './luResolver'; +// eslint-disable-next-line @typescript-eslint/no-var-requires const crossTrainer = require('@microsoft/bf-lu/lib/parser/cross-train/crossTrainer.js'); const luBuild = require('@microsoft/bf-lu/lib/parser/lubuild/builder.js'); const qnaBuild = require('@microsoft/bf-lu/lib/parser/qnabuild/builder.js'); @@ -100,6 +103,59 @@ export class Builder { this._locale = v; } + /** + * Orchestrator: Get available list of NLR models + */ + public async runOrchestratorNlrList(): Promise { + return JSON.parse(await Orchestrator.nlrListAsync()); + } + + /** + * Orchestrator: Download an available NLR model. + * + * @remarks Available NLR models and VersionIds are obtained by running runOrchestratorNlrList first. + * + * @param modelPath - Folder path to save NLR model + * @param nlrId - VersionId of the model + * @param onProgress - Callback to notify of D/L progress + * @param onFinish - Callback to notify of D/L completed + */ + public async runOrchestratorNlrGet( + modelPath: string, + nlrId: string, + onProgress: IOrchestratorProgress, + onFinish: IOrchestratorProgress + ): Promise { + await Orchestrator.nlrGetAsync(modelPath, nlrId, onProgress, onFinish); + } + + /** + * Orchestrator: Build command to compile .lu files into Binary LU (.blu) snapshots. + * + * A snapshot (.blu file) is created per .lu supplied + * + * @param files - Array of FileInfo + * @param modelPath - Path to NLR model folder + * @param isDialog - Flag to toggle creation of Recognizer Dialogs (default: true) + * @param fullEmbedding - Use larger embeddings and skip size optimization (default: false) + * @returns An object containing snapshot bytes and recognizer dialogs for each .lu file + */ + public async runOrchestratorBuild( + files: FileInfo[], + modelPath: string, + isDialog = true, + fullEmbedding = false + ): Promise { + const luObjects = files + .filter((fi) => fi.name.endsWith('.lu')) + .map((fi) => ({ + id: fi.name, + content: fi.content, + })); + + return await Orchestrator.buildAsync(modelPath, luObjects, isDialog, null, fullEmbedding); + } + private async createGeneratedDir() { // clear previous folder await this.deleteDir(this.generatedFolderPath); diff --git a/Composer/packages/server/src/models/bot/interface.ts b/Composer/packages/server/src/models/bot/interface.ts index 4313fb01da..97b969d6ff 100644 --- a/Composer/packages/server/src/models/bot/interface.ts +++ b/Composer/packages/server/src/models/bot/interface.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { ILuisConfig, IQnAConfig } from '@bfc/shared'; +import { BaseSchema, ILuisConfig, IQnAConfig } from '@bfc/shared'; import { CrossTrainConfig } from './builder'; import { RecognizerTypes } from './recognizer'; @@ -48,3 +48,33 @@ export interface IOperationLUFile { export interface ILuisStatusOperation { [key: string]: IOperationLUFile; } + +export interface IOrchestratorNLRList { + version: string; + readonly models: { + [versionId: string]: { + releaseDate: string; + description: string; + }; + }; +} + +export interface IOrchestratorProgress { + (status: string): void; +} + +export interface IOrchestratorRecognizer extends BaseSchema { + modelPath: string; + snapshotPath: string; + entityRecognizers: any[]; +} + +export interface IOrchestratorBuildOutput { + outputs: [{ id: string; snapshot: Uint8Array; recognizer: { [recog: string]: BaseSchema } }]; + settings: { + orchestrator: { + modelPath: string; + snapshots: Map; + }; + }; +} diff --git a/Composer/yarn.lock b/Composer/yarn.lock index 23c5fe9822..ee886a588e 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -881,9 +881,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.11.3", "@babel/parser@^7.11.5", "@babel/parser@^7.2.2", "@babel/parser@^7.3.4", "@babel/parser@^7.4.0", "@babel/parser@^7.7.0", "@babel/parser@^7.7.4", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0", "@babel/parser@^7.9.6": - version "7.11.5" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/@babel/parser/-/@babel/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha1-x/9jA99xCA7HpPW4wAPFjxz1EDc= + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -2980,6 +2980,19 @@ fs-extra "^7.0.1" tslib "~1.10.0" +"@microsoft/bf-dispatcher@4.11.0-beta.20201013.20d7917": + version "4.11.0-beta.20201013.20d7917" + resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.11.0-beta.20201013.20d7917.tgz#1e9d272d2f2746887617df8ed42980cf2c52c9f9" + integrity sha512-nyyZBEPHfvLpIFRrcDczOwVqJn5qyqCPz8uGCVHO6He5m1xjmuXPH9mKL/nOAkO/THvBzMMI3vCP3iK7h43SCw== + dependencies: + "@microsoft/bf-lu" next + "@oclif/command" "~1.5.19" + "@oclif/config" "~1.13.3" + argparse "~1.0.10" + readline-sync "^1.4.10" + ts-md5 "^1.2.6" + tslib "^1.10.0" + "@microsoft/bf-dispatcher@^4.11.0-beta.20201016.393c6b2": version "4.11.0-beta.20201016.393c6b2" resolved "https://registry.yarnpkg.com/@microsoft/bf-dispatcher/-/bf-dispatcher-4.11.0-beta.20201016.393c6b2.tgz#7dab414752f8711fed37ae5625c38fdd0192eddb" @@ -3011,7 +3024,7 @@ seedrandom "~3.0.5" swagger-parser "^8.0.4" -"@microsoft/bf-lu@^4.11.0-dev.20201013.7ccb128": +"@microsoft/bf-lu@^4.11.0-dev.20201013.7ccb128", "@microsoft/bf-lu@next": version "4.11.0-dev.20201013.7ccb128" resolved "https://registry.yarnpkg.com/@microsoft/bf-lu/-/bf-lu-4.11.0-dev.20201013.7ccb128.tgz#9dbb5043d3f7a384d1449c73fd984016b5115ca4" integrity sha512-xaG5yDxtdwNNfYa6cs9wmCGTN6K6d2sh8jfGvMt7dqs26My3c6Sus03VF74sRrp2OQXnbBLqZPVY1qzLKnjoJg== @@ -3055,27 +3068,22 @@ semver "^5.5.1" tslib "^2.0.3" -"@microsoft/bf-lu@next": - version "4.11.0-dev.20201015.a41c691" - resolved "https://registry.yarnpkg.com/@microsoft/bf-lu/-/bf-lu-4.11.0-dev.20201015.a41c691.tgz#1002eb10b7625fead68274c007ac857de79f4446" - integrity sha512-Bq/4NJ8FpJV/wOOdjxLPMHmZoT08qSKozFbnukjdh5L0UNDDDyhTSSLmG1hdGc337VmtQF6YBsLu9sEmATSJUA== +"@microsoft/bf-orchestrator@4.11.0-beta.20201013.20d7917": + version "4.11.0-beta.20201013.20d7917" + resolved "https://registry.yarnpkg.com/@microsoft/bf-orchestrator/-/bf-orchestrator-4.11.0-beta.20201013.20d7917.tgz#525e167625ce2c64f079d937aeb7495a07a7a1d0" + integrity sha512-J5yobTheQuE+gme1R30xIIlCU9xVaiHLUrXyI6xZnT922EYEGsn7qAWfeuP0AM6b5JgD4exAOwHf02ggOIZmGQ== dependencies: - "@azure/cognitiveservices-luis-authoring" "4.0.0-preview.1" - "@azure/ms-rest-azure-js" "2.0.1" + "@microsoft/bf-dispatcher" "4.11.0-beta.20201013.20d7917" + "@microsoft/bf-lu" next + "@types/fs-extra" "~8.1.0" "@types/node-fetch" "~2.5.5" - antlr4 "^4.7.2" - chalk "2.4.1" - console-stream "^0.1.1" - deep-equal "^1.0.1" - delay "^4.3.0" - fs-extra "^8.1.0" - get-stdin "^6.0.0" - globby "^10.0.1" - intercept-stdout "^0.1.2" - lodash "^4.17.19" + fast-text-encoding "^1.0.3" + fs-extra "~9.0.0" + node-7z-forall "~1.0.5" node-fetch "~2.6.0" - semver "^5.5.1" - tslib "^2.0.3" + orchestrator-core beta + read-text-file "~1.1.0" + tslib "^1.10.0" "@microsoft/load-themed-styles@^1.10.26": version "1.10.39" @@ -3597,6 +3605,13 @@ dependencies: "@types/node" "*" +"@types/fs-extra@~8.1.0": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.1.tgz#1e49f22d09aa46e19b51c0b013cb63d0d923a068" + integrity sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w== + dependencies: + "@types/node" "*" + "@types/glob@*", "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" @@ -4688,6 +4703,18 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +all-unpacker@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/all-unpacker/-/all-unpacker-0.1.5.tgz#801339142f934d3dc869aeda38f84d1fb19c61a2" + integrity sha512-QktwQOtAQjpM5wBLFSkg20l2eseblikh7G0BTCkkphmaN29JRcO4TE3k4uJCJ0/onz2Um7TeMHuo2j4nIwKoyg== + dependencies: + array-map "~0.0.0" + npmlog "^4.1.2" + optionalDependencies: + node-stream-zip "^1.11.3" + node-wget-js "^0.4.4" + system-installer "^1.1.0" + ally.js@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/ally.js/-/ally.js-1.4.1.tgz#9fb7e6ba58efac4ee9131cb29aa9ee3b540bcf1e" @@ -5614,6 +5641,11 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== +bindings@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + integrity sha1-FK1hE4EtLTfXLme0ystLtyZQXxE= + bl@^2.2.1, bl@^4.0.3: version "2.2.1" resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" @@ -7196,6 +7228,15 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -8162,6 +8203,13 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -8302,7 +8350,7 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-libc@^1.0.2: +detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= @@ -8670,8 +8718,8 @@ elegant-spinner@^1.0.1: elliptic@^6.0.0, elliptic@^6.5.3: version "6.5.3" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y= + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -9493,6 +9541,11 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -9727,6 +9780,11 @@ fast-memoize@^2.5.1: resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== +fast-text-encoding@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" + integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== + fastq@^1.6.0: version "1.6.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.1.tgz#4570c74f2ded173e71cf0beb08ac70bb85826791" @@ -10180,7 +10238,7 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.1.0: +fs-extra@^8.0.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -10199,7 +10257,7 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^1.0.0" -fs-extra@^9.0.1: +fs-extra@^9.0.1, fs-extra@~9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== @@ -10394,6 +10452,11 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -10701,7 +10764,7 @@ graceful-fs@^4.2.0, graceful-fs@^4.2.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -graceful-fs@^4.2.4: +graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -12763,8 +12826,8 @@ killable@^1.0.1: kind-of@^2.0.1, kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.2: version "3.0.2" @@ -13178,8 +13241,8 @@ lodash.uniq@^4.5.0: "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: version "4.17.20" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== log-driver@^1.2.7: version "1.2.7" @@ -13311,6 +13374,11 @@ luis-apis@2.5.1: tslib "^1.9.3" window-size "^1.1.0" +macos-release@^2.0.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" + integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -13590,6 +13658,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -13632,7 +13705,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -13666,6 +13739,14 @@ minipass@^2.2.1, minipass@^2.3.4: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + minipass@^3.0.0, minipass@^3.1.1: version "3.1.1" resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" @@ -13680,6 +13761,13 @@ minizlib@^1.1.1: dependencies: minipass "^2.2.1" +minizlib@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -13704,10 +13792,15 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.2, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^1.0.3, mkdirp@~0.5.1: version "0.5.5" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" @@ -13879,6 +13972,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -13898,6 +13996,15 @@ needle@^2.2.1: iconv-lite "^0.4.4" sax "^1.2.4" +needle@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.2.tgz#cf1a8fce382b5a280108bba90a14993c00e4010a" + integrity sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" @@ -13930,6 +14037,32 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-7z-forall@~1.0.5: + version "1.0.9" + resolved "https://registry.yarnpkg.com/node-7z-forall/-/node-7z-forall-1.0.9.tgz#51b32188f0f71aba0b5f49d17a919b38e2e42ce0" + integrity sha512-91a+c3ZAJQK+9a0/XXqdxjj1FESlVxNXzXgUVvP49VeSxTwYSYe6hMU7QaS8F9XZBYuGbPvpUXM6E7+WAHMNmA== + dependencies: + all-unpacker "^0.1.5" + cross-spawn "^7.0.3" + fs-extra "^8.0.0" + macos-release "^2.0.0" + node-wget-js "^0.4.4" + retrying-promise "^0.0.4" + system-installer "^1.1.0" + when "^3.7.8" + +node-abi@^2.7.0: + version "2.19.1" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.1.tgz#6aa32561d0a5e2fdb6810d8c25641b657a8cea85" + integrity sha512-HbtmIuByq44yhAzK7b9j/FelKlHYISKQn0mtvcBrU5QBkhoCMp5bu8Hv5AI34DcKfOAcJBcOEMwLlwO62FFu9A== + dependencies: + semver "^5.4.1" + +node-addon-api@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681" + integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg== + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -13953,6 +14086,22 @@ node-forge@^0.10.0: resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= +node-gyp@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.0.0.tgz#2e88425ce84e9b1a4433958ed55d74c70fffb6be" + integrity sha512-ZW34qA3CJSPKDz2SJBHKRvyNQN0yWO5EGKKksJc+jElu9VA468gwJTyTArC1iOXU7rN3Wtfg/CMt/dBAOFIjvg== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^4.0.3" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^2.6.3" + semver "^7.3.2" + tar "^6.0.1" + which "^2.0.2" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -14015,6 +14164,22 @@ node-notifier@^7.0.0: uuid "^7.0.3" which "^2.0.2" +node-pre-gyp@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz#c2fc383276b74c7ffa842925241553e8b40f1087" + integrity sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.3" + needle "^2.5.0" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4.4.2" + node-pre-gyp@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" @@ -14043,6 +14208,18 @@ node-releases@^1.1.53: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== +node-stream-zip@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.11.3.tgz#223892620b4889bce9782b256a76682631c507be" + integrity sha512-GY+9LxkQuIT3O7K8BTdHVGKFcBYBy2vAVcTBtkKpu+OlBef/NSb6VuIWSyLiVDfmLMkggHeRJZN0F3W0GWU/uw== + +node-wget-js@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/node-wget-js/-/node-wget-js-0.4.4.tgz#e4bab707623a17d032ce2e942a6424f7ff66388b" + integrity sha512-0HXEIQg7d74Dbdl09tlDQji6pi/AXgcQzXBGHshF4jPP7vA8583aNn1S3vrCh0m7NVGScA5/hdVWmJtinDiZPQ== + dependencies: + request "^2.88.0" + nodemon@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.3.tgz#e9c64df8740ceaef1cb00e1f3da57c0a93ef3714" @@ -14067,6 +14244,11 @@ noms@0.0.0: inherits "^2.0.1" readable-stream "~1.0.31" +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -14075,6 +14257,14 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== + dependencies: + abbrev "1" + osenv "^0.1.4" + nopt@~1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" @@ -14189,7 +14379,7 @@ npm-which@^3.0.1: npm-path "^2.0.2" which "^1.2.10" -npmlog@^4.0.2: +npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -14411,6 +14601,13 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +onnxruntime@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/onnxruntime/-/onnxruntime-1.4.0.tgz#22723c8687db7e4c26345134eae6364b30bd4d22" + integrity sha512-fksG35z5+hIFSg9yvgCa8mWI2IUwISRJRFurLTtov/JUL4P/iwiI+RuDg5C6v7Lt2u3w5WRu65cHVZcKYwaiPg== + dependencies: + prebuild-install "^5.3.3" + ono@^6.0.0: version "6.0.1" resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/ono/-/ono-6.0.1.tgz#1bc14ffb8af1e5db3f7397f75b88e4a2d64bbd71" @@ -14505,6 +14702,17 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +orchestrator-core@beta: + version "4.11.0-dev.20201024.0c5247b" + resolved "https://registry.yarnpkg.com/orchestrator-core/-/orchestrator-core-4.11.0-dev.20201024.0c5247b.tgz#4a6d219ff2184cdbb1ed9f73d144c636fb3c036c" + integrity sha512-MFSwy1+vsFxkt0DdjAFyn98hng7Hsy9BbMRBvHRKdu5aM/W0lrg1LkETSEWlbmd1Edzgi+GptkdClcdMpXqyUg== + dependencies: + bindings "1.2.1" + node-addon-api "^3.0.0" + node-gyp "7.0.0" + node-pre-gyp "0.15.0" + onnxruntime "1.4.0" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -15750,6 +15958,27 @@ postcss@^7.0.16, postcss@^7.0.17: source-map "^0.6.1" supports-color "^6.1.0" +prebuild-install@^5.3.3: + version "5.3.6" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.6.tgz#7c225568d864c71d89d07f8796042733a3f54291" + integrity sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.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" @@ -16376,7 +16605,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read-text-file@^1.1.0: +read-text-file@^1.1.0, read-text-file@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-text-file/-/read-text-file-1.1.0.tgz#d0c3f18768828f9107d61bb0b368ee7b90f71893" integrity sha1-0MPxh2iCj5EH1huws2jue5D3GJM= @@ -16985,6 +17214,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +retrying-promise@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/retrying-promise/-/retrying-promise-0.0.4.tgz#9362a42151c72d98b39246b1af061d4efa8313ac" + integrity sha1-k2KkIVHHLZizkkaxrwYdTvqDE6w= + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -17217,8 +17451,8 @@ select-hose@^2.0.0: selfsigned@1.10.8, selfsigned@^1.10.7: version "1.10.8" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA= + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== dependencies: node-forge "^0.10.0" @@ -17361,8 +17595,8 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: set-value@^0.4.3, set-value@^2.0.0, set-value@^3.0.2: version "3.0.2" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/set-value/-/set-value-3.0.2.tgz#74e8ecd023c33d0f77199d415409a40f21e61b90" - integrity sha1-dOjs0CPDPQ93GZ1BVAmkDyHmG5A= + resolved "https://registry.yarnpkg.com/set-value/-/set-value-3.0.2.tgz#74e8ecd023c33d0f77199d415409a40f21e61b90" + integrity sha512-npjkVoz+ank0zjlV9F47Fdbjfj/PfXyVhZvGALWsyIYU/qrMzpi6avjKW3/7KeSU2Df3I46BrN1xOI1+6vW0hA== dependencies: is-plain-object "^2.0.4" @@ -17481,6 +17715,20 @@ 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= +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-git@^1.85.0: version "1.107.0" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.107.0.tgz#12cffaf261c14d6f450f7fdb86c21ccee968b383" @@ -18291,6 +18539,13 @@ synchronous-promise@^2.0.5: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.6.tgz#de76e0ea2b3558c1e673942e47e714a930fa64aa" integrity sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g== +system-installer@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/system-installer/-/system-installer-1.1.0.tgz#cf4801916a336c5b1b6b11a0505ea465eef471a0" + integrity sha512-qW+M9sTuZaJhBPMMbo3mHRzLZaIFJwGYcn7K9R/czAtlgF6PiehZ18+sFJGZsRa2MGDJZKKKv0IaiAdV7O8tgw== + dependencies: + which "^1.3.1" + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -18318,7 +18573,17 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar-stream@^2.1.4: +tar-fs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5" + integrity sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-stream@^2.0.0, tar-stream@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== @@ -18342,7 +18607,20 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -tar@^6.0.5: +tar@^4.4.2: + version "4.4.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.8.6" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + +tar@^6.0.1, tar@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== @@ -18384,8 +18662,8 @@ terminal-link@^2.0.0: terser-webpack-plugin@2.3.7, terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^2.3.7: version "2.3.8" - resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" - integrity sha1-iUdkoZsHQ/L3BOfCqEjFKDppZyQ= + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" + integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== dependencies: cacache "^13.0.1" find-cache-dir "^3.3.1" @@ -19771,11 +20049,21 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^5.0.0" +when@^3.7.8: + version "3.7.8" + resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" + integrity sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I= + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -20174,6 +20462,11 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yallist@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" diff --git a/Dockerfile b/Dockerfile index c7e394fcdf..31e113d226 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ FROM mcr.microsoft.com/dotnet/core/sdk:3.1-focal as base RUN apt update \ && apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates \ && curl -sL https://deb.nodesource.com/setup_12.x | bash - \ - && apt install -y nodejs \ + && apt install -y nodejs libgomp1 \ && npm install -g yarn FROM base as build