From bf2af453f2ee24b1772ae4de3d8c1a6fc808cb6f Mon Sep 17 00:00:00 2001
From: Justin Wilaby
Date: Mon, 19 Nov 2018 13:35:02 -0800
Subject: [PATCH 1/4] #935 - added the ability to input App insights manually
---
package-lock.json | 366 +++++++++---------
.../data/sagas/servicesExplorerSagas.spec.ts | 6 +-
.../src/data/sagas/servicesExplorerSagas.ts | 8 +-
.../connectLuisAppPromptDialog.tsx | 108 ------
.../connectServicePromptDialog.spec.tsx} | 14 +-
.../connectServicePromptDialog.tsx | 145 +++++++
.../connectServicePromptDialogContainer.ts} | 12 +-
packages/app/client/src/ui/dialogs/index.ts | 2 +-
.../connectedServiceEditor.scss | 3 +
.../connectedServiceEditor.scss.d.ts | 2 +
.../connectedServiceEditor.spec.tsx | 36 +-
.../connectedServiceEditor.tsx | 63 ++-
.../connectedServicePicker.tsx | 3 +-
.../servicesExplorer.spec.tsx | 50 ++-
.../servicesExplorer/servicesExplorer.tsx | 38 +-
.../servicesExplorerContainer.ts | 9 +-
.../app/client/src/utils/serviceTypeLables.ts | 2 +
.../src/widget/textField/textField.scss | 2 +-
.../src/widget/textField/textField.scss.d.ts | 1 +
.../src/widget/textField/textField.tsx | 6 +-
20 files changed, 501 insertions(+), 375 deletions(-)
delete mode 100644 packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.tsx
rename packages/app/client/src/ui/dialogs/{connectLuisAppPromptDialog/connectLuisAppPromptDialog.spec.tsx => connectServicePromptDialog/connectServicePromptDialog.spec.tsx} (81%)
create mode 100644 packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
rename packages/app/client/src/ui/dialogs/{connectLuisAppPromptDialog/connectLuisAppPromptDialogContainer.ts => connectServicePromptDialog/connectServicePromptDialogContainer.ts} (87%)
create mode 100644 packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss
create mode 100644 packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss.d.ts
diff --git a/package-lock.json b/package-lock.json
index 231222640..b5a2fec61 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2032,7 +2032,7 @@
},
"@types/chokidar": {
"version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.5.tgz",
+ "resolved": "http://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.5.tgz",
"integrity": "sha512-PDkSRY7KltW3M60hSBlerxI8SFPXsO3AL/aRVsO4Kh9IHRW74Ih75gUuTd/aE4LSSFqypb10UIX3QzOJwBQMGQ==",
"requires": {
"@types/events": "*",
@@ -2058,7 +2058,7 @@
},
"@types/events": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
},
"@types/express": {
@@ -2091,7 +2091,7 @@
},
"@types/formidable": {
"version": "1.0.31",
- "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz",
+ "resolved": "http://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz",
"integrity": "sha512-dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==",
"requires": {
"@types/events": "*",
@@ -2121,7 +2121,7 @@
},
"@types/lscache": {
"version": "1.0.29",
- "resolved": "https://registry.npmjs.org/@types/lscache/-/lscache-1.0.29.tgz",
+ "resolved": "http://registry.npmjs.org/@types/lscache/-/lscache-1.0.29.tgz",
"integrity": "sha1-BoqKzKhmjAorXV3LKAD6M0x7H2A="
},
"@types/mime": {
@@ -2541,7 +2541,7 @@
},
"adaptivecards": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/adaptivecards/-/adaptivecards-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/adaptivecards/-/adaptivecards-1.0.0.tgz",
"integrity": "sha1-96HxdpJRYmirQMpU8Z/aP6WJdjQ="
},
"address": {
@@ -2640,7 +2640,7 @@
},
"ansi-align": {
"version": "2.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/ansi-align/-/ansi-align-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
"integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
"requires": {
"string-width": "^2.0.0"
@@ -2920,7 +2920,7 @@
},
"array-ify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/array-ify/-/array-ify-1.0.0.tgz",
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
},
"array-initial": {
@@ -3189,7 +3189,7 @@
"dependencies": {
"chalk": {
"version": "1.1.3",
- "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
@@ -3425,7 +3425,7 @@
},
"babel-plugin-istanbul": {
"version": "4.1.6",
- "resolved": "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
"integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==",
"requires": {
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
@@ -3471,7 +3471,7 @@
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
},
"babel-plugin-syntax-trailing-function-commas": {
@@ -4073,7 +4073,7 @@
},
"base64url": {
"version": "2.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/base64url/-/base64url-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz",
"integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
},
"batch": {
@@ -4102,7 +4102,7 @@
},
"bl": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
+ "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
"requires": {
"readable-stream": "^2.3.5",
@@ -4192,7 +4192,7 @@
},
"boom": {
"version": "2.10.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/boom/-/boom-2.10.1.tgz",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"requires": {
"hoek": "2.x.x"
@@ -4229,7 +4229,7 @@
},
"async": {
"version": "1.5.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/async/-/async-1.5.2.tgz",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
},
"jsonwebtoken": {
@@ -4315,12 +4315,12 @@
"dependencies": {
"core-js": {
"version": "2.4.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/core-js/-/core-js-2.4.1.tgz",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
"integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4="
},
"react-redux": {
"version": "5.0.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/react-redux/-/react-redux-5.0.5.tgz",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.5.tgz",
"integrity": "sha1-+OjHsjlCJXblLWt9sGQ5RpvphGo=",
"requires": {
"create-react-class": "^15.5.3",
@@ -4334,7 +4334,7 @@
},
"tslib": {
"version": "1.7.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/tslib/-/tslib-1.7.1.tgz",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz",
"integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw="
}
}
@@ -4355,7 +4355,7 @@
"dependencies": {
"camelcase": {
"version": "4.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/camelcase/-/camelcase-4.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
}
}
@@ -4524,12 +4524,12 @@
},
"buffer-equal-constant-time": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
},
"buffer-fill": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/buffer-fill/-/buffer-fill-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
"integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
},
"buffer-from": {
@@ -4631,7 +4631,7 @@
},
"bunyan": {
"version": "1.8.12",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/bunyan/-/bunyan-1.8.12.tgz",
+ "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
"integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=",
"requires": {
"dtrace-provider": "~0.8",
@@ -4642,7 +4642,7 @@
},
"byline": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/byline/-/byline-5.0.0.tgz",
"integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE="
},
"byte-size": {
@@ -4905,12 +4905,12 @@
},
"chromium-pickle-js": {
"version": "0.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
"integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU="
},
"chrono-node": {
"version": "1.3.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/chrono-node/-/chrono-node-1.3.5.tgz",
+ "resolved": "https://registry.npmjs.org/chrono-node/-/chrono-node-1.3.5.tgz",
"integrity": "sha1-oklSmKMtqCvMAa2b59d++l4kQSI=",
"requires": {
"moment": "^2.10.3"
@@ -5031,7 +5031,7 @@
},
"cli-boxes": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/cli-boxes/-/cli-boxes-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
"integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM="
},
"cli-cursor": {
@@ -5188,7 +5188,7 @@
},
"cmd-shim": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/cmd-shim/-/cmd-shim-2.0.2.tgz",
"integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=",
"requires": {
"graceful-fs": "^4.1.2",
@@ -5234,7 +5234,7 @@
},
"color": {
"version": "0.11.4",
- "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "resolved": "http://registry.npmjs.org/color/-/color-0.11.4.tgz",
"integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
"requires": {
"clone": "^1.0.2",
@@ -5291,7 +5291,7 @@
},
"columnify": {
"version": "1.5.4",
- "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/columnify/-/columnify-1.5.4.tgz",
"integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=",
"requires": {
"strip-ansi": "^3.0.0",
@@ -5330,7 +5330,7 @@
},
"compare-func": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/compare-func/-/compare-func-1.3.2.tgz",
"integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
"requires": {
"array-ify": "^1.0.0",
@@ -5339,7 +5339,7 @@
"dependencies": {
"dot-prop": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/dot-prop/-/dot-prop-3.0.0.tgz",
"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
"requires": {
"is-obj": "^1.0.0"
@@ -5349,7 +5349,7 @@
},
"compare-version": {
"version": "0.1.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/compare-version/-/compare-version-0.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
"integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA="
},
"component-emitter": {
@@ -5979,7 +5979,7 @@
},
"create-error-class": {
"version": "3.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/create-error-class/-/create-error-class-3.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
"requires": {
"capture-stack-trace": "^1.0.0"
@@ -6048,7 +6048,7 @@
},
"cryptiles": {
"version": "2.0.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/cryptiles/-/cryptiles-2.0.5.tgz",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"requires": {
"boom": "2.x.x"
@@ -6074,7 +6074,7 @@
},
"crypto-random-string": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
},
"css": {
@@ -6123,7 +6123,7 @@
},
"css-select": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"requires": {
"boolbase": "~1.0.0",
@@ -6248,7 +6248,7 @@
},
"csv-parse": {
"version": "1.3.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/csv-parse/-/csv-parse-1.3.3.tgz",
+ "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.3.3.tgz",
"integrity": "sha1-0c/YdDwvhJoKuy/VRNtWaV0ZpJA="
},
"csv-stringify": {
@@ -6365,7 +6365,7 @@
},
"decamelize-keys": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
"integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
"requires": {
"decamelize": "^1.1.0",
@@ -6379,7 +6379,7 @@
},
"decompress-response": {
"version": "3.3.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/decompress-response/-/decompress-response-3.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"requires": {
"mimic-response": "^1.0.0"
@@ -6387,7 +6387,7 @@
},
"dedent": {
"version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/dedent/-/dedent-0.7.0.tgz",
"integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
},
"deep-equal": {
@@ -6489,7 +6489,7 @@
},
"defaults": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"requires": {
"clone": "^1.0.2"
@@ -6543,7 +6543,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
@@ -6704,7 +6704,7 @@
"dependencies": {
"domelementtype": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
}
}
@@ -6778,12 +6778,12 @@
},
"duplexer": {
"version": "0.1.1",
- "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
},
"duplexer3": {
"version": "0.1.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/duplexer3/-/duplexer3-0.1.4.tgz",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"duplexify": {
@@ -6852,7 +6852,7 @@
},
"ecdsa-sig-formatter": {
"version": "1.0.10",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz",
"integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=",
"requires": {
"safe-buffer": "^5.0.1"
@@ -7245,7 +7245,7 @@
},
"minimist": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"path-exists": {
@@ -7260,7 +7260,7 @@
},
"electron-is-dev": {
"version": "0.3.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/electron-is-dev/-/electron-is-dev-0.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz",
"integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4="
},
"electron-osx-sign": {
@@ -7286,7 +7286,7 @@
},
"minimist": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"plist": {
@@ -7579,7 +7579,7 @@
},
"escape-regexp-component": {
"version": "1.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
"integrity": "sha1-nGO20LJf8qiMOtvRjFthrMO5+qI="
},
"escape-string-regexp": {
@@ -7701,7 +7701,7 @@
},
"execa": {
"version": "0.7.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/execa/-/execa-0.7.0.tgz",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"requires": {
"cross-spawn": "^5.0.1",
@@ -7715,7 +7715,7 @@
"dependencies": {
"cross-spawn": {
"version": "5.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"requires": {
"lru-cache": "^4.0.1",
@@ -7727,7 +7727,7 @@
},
"exit": {
"version": "0.1.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/exit/-/exit-0.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
},
"expand-brackets": {
@@ -8026,7 +8026,7 @@
},
"extract-zip": {
"version": "1.6.7",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/extract-zip/-/extract-zip-1.6.7.tgz",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
"integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
"requires": {
"concat-stream": "1.6.2",
@@ -8111,7 +8111,7 @@
},
"fbjs": {
"version": "0.8.17",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/fbjs/-/fbjs-0.8.17.tgz",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
"integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
"requires": {
"core-js": "^1.0.0",
@@ -8125,14 +8125,14 @@
"dependencies": {
"core-js": {
"version": "1.2.7",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/core-js/-/core-js-1.2.7.tgz",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
}
}
},
"fd-slicer": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
"requires": {
"pend": "~1.2.0"
@@ -8402,7 +8402,7 @@
},
"from": {
"version": "0.1.7",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/from/-/from-0.1.7.tgz",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
},
"from2": {
@@ -9013,7 +9013,7 @@
},
"generate-object-property": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
"requires": {
"is-property": "^1.0.0"
@@ -9031,7 +9031,7 @@
},
"get-pkg-repo": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz",
"integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=",
"requires": {
"hosted-git-info": "^2.1.4",
@@ -9159,7 +9159,7 @@
},
"git-remote-origin-url": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
"integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
"requires": {
"gitconfiglocal": "^1.0.0",
@@ -9260,7 +9260,7 @@
},
"gitconfiglocal": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
"integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
"requires": {
"ini": "^1.3.2"
@@ -9381,7 +9381,7 @@
},
"global-dirs": {
"version": "0.1.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/global-dirs/-/global-dirs-0.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
"integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
"requires": {
"ini": "^1.3.4"
@@ -9626,7 +9626,7 @@
},
"handle-thing": {
"version": "1.2.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/handle-thing/-/handle-thing-1.2.5.tgz",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
"integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ="
},
"handlebars": {
@@ -9830,7 +9830,7 @@
},
"hawk": {
"version": "3.1.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/hawk/-/hawk-3.1.3.tgz",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"requires": {
"boom": "2.x.x",
@@ -9873,12 +9873,12 @@
},
"hoek": {
"version": "2.16.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/hoek/-/hoek-2.16.3.tgz",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
"hoist-non-react-statics": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
},
"home-or-tmp": {
@@ -9910,7 +9910,7 @@
},
"hpack.js": {
"version": "2.1.6",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/hpack.js/-/hpack.js-2.1.6.tgz",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"requires": {
"inherits": "^2.0.1",
@@ -9957,7 +9957,7 @@
},
"http-deceiver": {
"version": "1.2.7",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
"integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
},
"http-errors": {
@@ -10124,7 +10124,7 @@
},
"import-lazy": {
"version": "2.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/import-lazy/-/import-lazy-2.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
"integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM="
},
"import-local": {
@@ -10220,7 +10220,7 @@
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"rxjs": {
@@ -10233,7 +10233,7 @@
},
"strip-ansi": {
"version": "4.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
"ansi-regex": "^3.0.0"
@@ -10335,7 +10335,7 @@
},
"is-builtin-module": {
"version": "1.0.0",
- "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"requires": {
"builtin-modules": "^1.0.0"
@@ -10433,7 +10433,7 @@
},
"is-installed-globally": {
"version": "0.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
"integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
"requires": {
"global-dirs": "^0.1.0",
@@ -10464,7 +10464,7 @@
},
"is-npm": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-npm/-/is-npm-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
"integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ="
},
"is-number": {
@@ -10492,17 +10492,17 @@
},
"is-obj": {
"version": "1.0.1",
- "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-object": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-object/-/is-object-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
},
"is-path-cwd": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
},
"is-path-in-cwd": {
@@ -10515,7 +10515,7 @@
},
"is-path-inside": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
"requires": {
"path-is-inside": "^1.0.1"
@@ -10551,12 +10551,12 @@
},
"is-property": {
"version": "1.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-property/-/is-property-1.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
},
"is-redirect": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-redirect/-/is-redirect-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
"integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ="
},
"is-regex": {
@@ -10569,7 +10569,7 @@
},
"is-regexp": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-regexp/-/is-regexp-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
},
"is-relative": {
@@ -10582,7 +10582,7 @@
},
"is-retry-allowed": {
"version": "1.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
"integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
},
"is-root": {
@@ -10628,7 +10628,7 @@
},
"is-text-path": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/is-text-path/-/is-text-path-1.0.1.tgz",
"integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
"requires": {
"text-extensions": "^1.0.0"
@@ -10682,7 +10682,7 @@
},
"isemail": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/isemail/-/isemail-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
"integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo="
},
"isexe": {
@@ -10697,7 +10697,7 @@
},
"isomorphic-fetch": {
"version": "2.2.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
"requires": {
"node-fetch": "^1.0.1",
@@ -11202,7 +11202,7 @@
},
"jest-environment-jsdom": {
"version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
+ "resolved": "http://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
"integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==",
"requires": {
"jest-mock": "^22.4.3",
@@ -11212,7 +11212,7 @@
},
"jest-message-util": {
"version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
+ "resolved": "http://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
"integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==",
"requires": {
"@babel/code-frame": "^7.0.0-beta.35",
@@ -11224,12 +11224,12 @@
},
"jest-mock": {
"version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
+ "resolved": "http://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
"integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q=="
},
"jest-util": {
"version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
+ "resolved": "http://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
"integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==",
"requires": {
"callsites": "^2.0.0",
@@ -11316,7 +11316,7 @@
},
"jest-get-type": {
"version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
+ "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
"integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w=="
},
"jest-haste-map": {
@@ -11815,7 +11815,7 @@
},
"joi": {
"version": "6.10.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/joi/-/joi-6.10.1.tgz",
+ "resolved": "http://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
"integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=",
"requires": {
"hoek": "2.x.x",
@@ -11972,12 +11972,12 @@
},
"jsonparse": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/jsonparse/-/jsonparse-1.3.1.tgz",
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
},
"jsonpointer": {
"version": "4.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
"integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk="
},
"jsonwebtoken": {
@@ -12005,7 +12005,7 @@
},
"jspeech": {
"version": "0.1.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/jspeech/-/jspeech-0.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/jspeech/-/jspeech-0.1.1.tgz",
"integrity": "sha1-n+wcnRGeFJBajeqCpQWvBs+Sg1k="
},
"jsprim": {
@@ -12197,7 +12197,7 @@
},
"license-list": {
"version": "0.1.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/license-list/-/license-list-0.1.3.tgz",
+ "resolved": "https://registry.npmjs.org/license-list/-/license-list-0.1.3.tgz",
"integrity": "sha1-GJu1pIFubmmCnUgb7lEXKU1lRU0=",
"requires": {
"glob": "^7.0.5",
@@ -12207,7 +12207,7 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
@@ -12229,7 +12229,7 @@
},
"linkify-it": {
"version": "2.0.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/linkify-it/-/linkify-it-2.0.3.tgz",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz",
"integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=",
"requires": {
"uc.micro": "^1.0.1"
@@ -12319,7 +12319,7 @@
},
"lodash._basecopy": {
"version": "3.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
},
"lodash._basefor": {
@@ -12354,12 +12354,12 @@
},
"lodash._getnative": {
"version": "3.9.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
},
"lodash._isiterateecall": {
"version": "3.0.9",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
},
"lodash._reinterpolate": {
@@ -12408,7 +12408,7 @@
},
"lodash.get": {
"version": "4.4.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.get/-/lodash.get-4.4.2.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
"lodash.includes": {
@@ -12418,12 +12418,12 @@
},
"lodash.isarguments": {
"version": "3.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
},
"lodash.isarray": {
"version": "3.0.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
},
"lodash.isboolean": {
@@ -12433,7 +12433,7 @@
},
"lodash.isequal": {
"version": "4.5.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
},
"lodash.isinteger": {
@@ -12463,7 +12463,7 @@
},
"lodash.keys": {
"version": "3.1.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"requires": {
"lodash._getnative": "^3.0.0",
@@ -12483,12 +12483,12 @@
},
"lodash.once": {
"version": "4.1.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.once/-/lodash.once-4.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"lodash.restparam": {
"version": "3.6.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
},
"lodash.sortby": {
@@ -12520,7 +12520,7 @@
},
"lodash.toarray": {
"version": "4.4.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
+ "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
},
"lodash.uniq": {
@@ -12756,7 +12756,7 @@
},
"markdown-it": {
"version": "8.3.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/markdown-it/-/markdown-it-8.3.1.tgz",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.3.1.tgz",
"integrity": "sha1-L0tiKUjM3Bk9ZvPKLUMSWsSscyM=",
"requires": {
"argparse": "^1.0.7",
@@ -12826,12 +12826,12 @@
},
"mdurl": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/mdurl/-/mdurl-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"mem": {
@@ -12875,7 +12875,7 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
@@ -12892,7 +12892,7 @@
},
"merge-stream": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/merge-stream/-/merge-stream-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
"requires": {
"readable-stream": "^2.0.1"
@@ -13052,7 +13052,7 @@
},
"minimist": {
"version": "0.0.8",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"minimist-options": {
@@ -13142,7 +13142,7 @@
},
"mkdirp": {
"version": "0.5.1",
- "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@@ -13218,7 +13218,7 @@
},
"mv": {
"version": "2.1.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/mv/-/mv-2.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
"integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
"optional": true,
"requires": {
@@ -13229,7 +13229,7 @@
"dependencies": {
"glob": {
"version": "6.0.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/glob/-/glob-6.0.4.tgz",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"optional": true,
"requires": {
@@ -13242,7 +13242,7 @@
},
"rimraf": {
"version": "2.4.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/rimraf/-/rimraf-2.4.5.tgz",
+ "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
"optional": true,
"requires": {
@@ -13292,7 +13292,7 @@
},
"ncp": {
"version": "2.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/ncp/-/ncp-2.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
"integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M="
},
"nearley": {
@@ -13309,7 +13309,7 @@
},
"negotiator": {
"version": "0.6.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/negotiator/-/negotiator-0.6.1.tgz",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"neo-async": {
@@ -13861,7 +13861,7 @@
},
"nugget": {
"version": "2.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/nugget/-/nugget-2.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
"integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
"requires": {
"debug": "^2.1.3",
@@ -13883,7 +13883,7 @@
},
"minimist": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
@@ -14254,7 +14254,7 @@
},
"p-is-promise": {
"version": "1.1.0",
- "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
"integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4="
},
"p-limit": {
@@ -14487,7 +14487,7 @@
},
"parse-color": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/parse-color/-/parse-color-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
"integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
"requires": {
"color-convert": "~0.5.0"
@@ -14495,7 +14495,7 @@
"dependencies": {
"color-convert": {
"version": "0.5.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/color-convert/-/color-convert-0.5.3.tgz",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
"integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0="
}
}
@@ -14512,7 +14512,7 @@
},
"parse-github-repo-url": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz",
"integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A="
},
"parse-glob": {
@@ -14604,7 +14604,7 @@
},
"path-is-inside": {
"version": "1.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
},
"path-key": {
@@ -14655,7 +14655,7 @@
},
"pause-stream": {
"version": "0.0.11",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/pause-stream/-/pause-stream-0.0.11.tgz",
+ "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"requires": {
"through": "~2.3"
@@ -14675,7 +14675,7 @@
},
"pend": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/pend/-/pend-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
},
"performance-now": {
@@ -15237,7 +15237,7 @@
},
"pretty-bytes": {
"version": "1.0.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
"requires": {
"get-stdin": "^4.0.1",
@@ -15290,7 +15290,7 @@
},
"progress-stream": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/progress-stream/-/progress-stream-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
"integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
"requires": {
"speedometer": "~0.1.2",
@@ -15299,7 +15299,7 @@
"dependencies": {
"isarray": {
"version": "0.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/isarray/-/isarray-0.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"object-keys": {
@@ -15309,7 +15309,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "~1.0.0",
@@ -15320,12 +15320,12 @@
},
"string_decoder": {
"version": "0.10.31",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/string_decoder/-/string_decoder-0.10.31.tgz",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
},
"through2": {
"version": "0.2.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/through2/-/through2-0.2.3.tgz",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
"integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
"requires": {
"readable-stream": "~1.1.9",
@@ -15334,7 +15334,7 @@
},
"xtend": {
"version": "2.1.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/xtend/-/xtend-2.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
"integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
"requires": {
"object-keys": "~0.4.0"
@@ -15570,7 +15570,7 @@
},
"quick-lru": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/quick-lru/-/quick-lru-1.1.0.tgz",
"integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g="
},
"raf": {
@@ -15686,7 +15686,7 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
@@ -15975,7 +15975,7 @@
},
"read-cmd-shim": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz",
"integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=",
"requires": {
"graceful-fs": "^4.1.2"
@@ -16040,7 +16040,7 @@
},
"read-installed": {
"version": "4.0.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/read-installed/-/read-installed-4.0.3.tgz",
+ "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
"integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=",
"requires": {
"debuglog": "^1.0.1",
@@ -16169,7 +16169,7 @@
},
"read-text-file": {
"version": "1.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/read-text-file/-/read-text-file-1.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/read-text-file/-/read-text-file-1.1.0.tgz",
"integrity": "sha1-0MPxh2iCj5EH1huws2jue5D3GJM=",
"requires": {
"iconv-lite": "^0.4.17",
@@ -16178,7 +16178,7 @@
},
"readable-stream": {
"version": "2.3.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
@@ -16218,7 +16218,7 @@
},
"readline-sync": {
"version": "1.4.9",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/readline-sync/-/readline-sync-1.4.9.tgz",
+ "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.9.tgz",
"integrity": "sha1-PtqOZfI80qF+YTAbHwADOWr17No="
},
"realpath-native": {
@@ -16317,7 +16317,7 @@
},
"redux-observable": {
"version": "0.13.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/redux-observable/-/redux-observable-0.13.0.tgz",
+ "resolved": "https://registry.npmjs.org/redux-observable/-/redux-observable-0.13.0.tgz",
"integrity": "sha1-NbJsLNu3HkmbMcqZYdoFgcKXOQk="
},
"redux-promise-middleware": {
@@ -16402,7 +16402,7 @@
},
"registry-url": {
"version": "3.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/registry-url/-/registry-url-3.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
"integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
"requires": {
"rc": "^1.0.1"
@@ -16721,7 +16721,7 @@
},
"rsa-pem-from-mod-exp": {
"version": "0.8.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/rsa-pem-from-mod-exp/-/rsa-pem-from-mod-exp-0.8.4.tgz",
+ "resolved": "https://registry.npmjs.org/rsa-pem-from-mod-exp/-/rsa-pem-from-mod-exp-0.8.4.tgz",
"integrity": "sha1-NipCxtMEBW1JOz8SvOq7LGV2ptQ="
},
"rst-selector-parser": {
@@ -16829,7 +16829,7 @@
},
"sanitize-filename": {
"version": "1.6.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
"integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=",
"requires": {
"truncate-utf8-bytes": "^1.0.0"
@@ -17006,7 +17006,7 @@
},
"select-hose": {
"version": "2.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/select-hose/-/select-hose-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
},
"selfsigned": {
@@ -17029,7 +17029,7 @@
},
"semver-diff": {
"version": "2.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/semver-diff/-/semver-diff-2.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
"integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
"requires": {
"semver": "^5.0.3"
@@ -17146,7 +17146,7 @@
},
"setimmediate": {
"version": "1.0.5",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/setimmediate/-/setimmediate-1.0.5.tgz",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"setprototypeof": {
@@ -17226,7 +17226,7 @@
},
"single-line-log": {
"version": "1.1.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/single-line-log/-/single-line-log-1.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
"integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
"requires": {
"string-width": "^1.0.1"
@@ -17234,7 +17234,7 @@
"dependencies": {
"is-fullwidth-code-point": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"requires": {
"number-is-nan": "^1.0.0"
@@ -17242,7 +17242,7 @@
},
"string-width": {
"version": "1.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/string-width/-/string-width-1.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"requires": {
"code-point-at": "^1.0.0",
@@ -17394,7 +17394,7 @@
},
"sntp": {
"version": "1.0.9",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/sntp/-/sntp-1.0.9.tgz",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"requires": {
"hoek": "2.x.x"
@@ -17551,7 +17551,7 @@
},
"spdy": {
"version": "3.4.7",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/spdy/-/spdy-3.4.7.tgz",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
"integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
"requires": {
"debug": "^2.6.8",
@@ -17598,7 +17598,7 @@
},
"speedometer": {
"version": "0.1.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/speedometer/-/speedometer-0.1.4.tgz",
+ "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
"integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0="
},
"split": {
@@ -17627,7 +17627,7 @@
},
"sprintf-js": {
"version": "1.1.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/sprintf-js/-/sprintf-js-1.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz",
"integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw="
},
"sshpk": {
@@ -17666,7 +17666,7 @@
},
"stat-mode": {
"version": "0.2.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/stat-mode/-/stat-mode-0.2.2.tgz",
+ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
"integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI="
},
"static-extend": {
@@ -17925,7 +17925,7 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
"strong-log-transformer": {
@@ -18050,7 +18050,7 @@
},
"temp-dir": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/temp-dir/-/temp-dir-1.0.0.tgz",
"integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0="
},
"temp-file": {
@@ -18066,7 +18066,7 @@
},
"temp-write": {
"version": "3.4.0",
- "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/temp-write/-/temp-write-3.4.0.tgz",
"integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=",
"requires": {
"graceful-fs": "^4.1.2",
@@ -18079,7 +18079,7 @@
},
"term-size": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/term-size/-/term-size-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
"integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
"requires": {
"execa": "^0.7.0"
@@ -18205,12 +18205,12 @@
},
"throttleit": {
"version": "0.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/throttleit/-/throttleit-0.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
"integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8="
},
"through": {
"version": "2.3.8",
- "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
@@ -18243,7 +18243,7 @@
},
"timed-out": {
"version": "4.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/timed-out/-/timed-out-4.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
},
"timers-browserify": {
@@ -18345,7 +18345,7 @@
},
"topo": {
"version": "1.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/topo/-/topo-1.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
"integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=",
"requires": {
"hoek": "2.x.x"
@@ -18387,7 +18387,7 @@
},
"trim-off-newlines": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
"integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM="
},
"trim-right": {
@@ -18405,7 +18405,7 @@
},
"truncate-utf8-bytes": {
"version": "1.0.2",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
"integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
"requires": {
"utf8-byte-length": "^1.0.1"
@@ -18449,7 +18449,7 @@
},
"tslint-loader": {
"version": "3.6.0",
- "resolved": "https://registry.npmjs.org/tslint-loader/-/tslint-loader-3.6.0.tgz",
+ "resolved": "http://registry.npmjs.org/tslint-loader/-/tslint-loader-3.6.0.tgz",
"integrity": "sha512-Me9Qf/87BOfCY8uJJw+J7VMF4U8WiMXKLhKKKugMydF0xMhMOt9wo2mjYTNhwbF9H7SHh8PAIwRG8roisTNekQ==",
"requires": {
"loader-utils": "^1.0.2",
@@ -18523,7 +18523,7 @@
},
"typical": {
"version": "2.6.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/typical/-/typical-2.6.1.tgz",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
"integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0="
},
"typings-for-css-modules-loader": {
@@ -18762,7 +18762,7 @@
},
"unique-string": {
"version": "1.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/unique-string/-/unique-string-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
"integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
"requires": {
"crypto-random-string": "^1.0.0"
@@ -18816,7 +18816,7 @@
},
"unzip-response": {
"version": "2.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/unzip-response/-/unzip-response-2.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
"integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c="
},
"upath": {
@@ -18892,7 +18892,7 @@
},
"url-join": {
"version": "1.1.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/url-join/-/url-join-1.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz",
"integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg="
},
"url-loader": {
@@ -18957,7 +18957,7 @@
},
"url-to-options": {
"version": "1.0.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/url-to-options/-/url-to-options-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
"integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
},
"use": {
@@ -18967,7 +18967,7 @@
},
"utf8-byte-length": {
"version": "1.0.4",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
"integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E="
},
"util": {
@@ -18992,7 +18992,7 @@
},
"util-extend": {
"version": "1.0.3",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/util-extend/-/util-extend-1.0.3.tgz",
+ "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
"integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8="
},
"util.promisify": {
@@ -19069,12 +19069,12 @@
"dependencies": {
"extsprintf": {
"version": "1.2.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/extsprintf/-/extsprintf-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz",
"integrity": "sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk="
},
"verror": {
"version": "1.6.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/verror/-/verror-1.6.0.tgz",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz",
"integrity": "sha1-fROyex+swuLakEBetepuW90lLqU=",
"requires": {
"extsprintf": "1.2.0"
@@ -19241,7 +19241,7 @@
},
"wcwidth": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "resolved": "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
"requires": {
"defaults": "^1.0.3"
@@ -19842,7 +19842,7 @@
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
"string-width": "^1.0.1",
@@ -19936,7 +19936,7 @@
},
"xdg-basedir": {
"version": "3.0.0",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
"integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
},
"xml-name-validator": {
@@ -19951,7 +19951,7 @@
},
"xmldom": {
"version": "0.1.27",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/xmldom/-/xmldom-0.1.27.tgz",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
},
"xregexp": {
@@ -20017,7 +20017,7 @@
},
"yauzl": {
"version": "2.4.1",
- "resolved": "https://botbuilder.myget.org/F/botbuilder-tools-daily/npm/yauzl/-/yauzl-2.4.1.tgz",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
"requires": {
"fd-slicer": "~1.0.1"
diff --git a/packages/app/client/src/data/sagas/servicesExplorerSagas.spec.ts b/packages/app/client/src/data/sagas/servicesExplorerSagas.spec.ts
index 89131ceb8..ba41234e7 100644
--- a/packages/app/client/src/data/sagas/servicesExplorerSagas.spec.ts
+++ b/packages/app/client/src/data/sagas/servicesExplorerSagas.spec.ts
@@ -1,7 +1,7 @@
import {
AzureLoginFailedDialogContainer,
AzureLoginSuccessDialogContainer,
- ConnectLuisAppPromptDialogContainer,
+ ConnectServicePromptDialogContainer,
GetStartedWithCSDialogContainer
} from '../../ui/dialogs';
import { DialogService } from '../../ui/dialogs/service'; // ☣☣ careful! ☣☣
@@ -96,7 +96,7 @@ describe('The ServiceExplorerSagas', () => {
azureAuthWorkflowComponents: {
loginFailedDialog: AzureLoginFailedDialogContainer,
loginSuccessDialog: AzureLoginSuccessDialogContainer,
- promptDialog: ConnectLuisAppPromptDialogContainer
+ promptDialog: ConnectServicePromptDialogContainer
},
getStartedDialog: GetStartedWithCSDialogContainer,
editorComponent: ConnectedServiceEditorContainer,
@@ -371,7 +371,7 @@ describe('The ServiceExplorerSagas', () => {
azureAuthWorkflowComponents: {
loginFailedDialog: AzureLoginFailedDialogContainer,
loginSuccessDialog: AzureLoginSuccessDialogContainer,
- promptDialog: ConnectLuisAppPromptDialogContainer
+ promptDialog: ConnectServicePromptDialogContainer
},
getStartedDialog: GetStartedWithCSDialogContainer,
editorComponent: ConnectedServiceEditorContainer,
diff --git a/packages/app/client/src/data/sagas/servicesExplorerSagas.ts b/packages/app/client/src/data/sagas/servicesExplorerSagas.ts
index c9c62d615..e60f38047 100644
--- a/packages/app/client/src/data/sagas/servicesExplorerSagas.ts
+++ b/packages/app/client/src/data/sagas/servicesExplorerSagas.ts
@@ -220,9 +220,11 @@ function* openContextMenuForService(action: ConnectedServiceAction)
: IterableIterator {
const menuItems = [
- { label: 'Language Understanding (LUIS)', id: ServiceTypes.Luis },
- { label: 'QnA Maker', id: ServiceTypes.QnA },
- { label: 'Dispatch', id: ServiceTypes.Dispatch }
+ { label: 'Add Language Understanding (LUIS)', id: ServiceTypes.Luis },
+ { label: 'Add QnA Maker', id: ServiceTypes.QnA },
+ { label: 'Add Dispatch', id: ServiceTypes.Dispatch },
+ { type: 'separator' },
+ { label: 'Add Azure Application Insights', id: ServiceTypes.AppInsights}
];
const response = yield CommandServiceImpl.remoteCall(SharedConstants.Commands.Electron.DisplayContextMenu, menuItems);
diff --git a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.tsx b/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.tsx
deleted file mode 100644
index 1da129503..000000000
--- a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import * as React from 'react';
-import { Component } from 'react';
-import { DefaultButton, Dialog, DialogFooter, PrimaryButton } from '@bfemulator/ui-react';
-import { ServiceTypes } from 'botframework-config/lib/schema';
-import * as styles from '../dialogStyles.scss';
-
-export interface ConnectLuisAppPromptDialogProps {
- cancel: () => void;
- confirm: () => void;
- addLuisAppManually: () => void;
- onAnchorClick: (url: string) => void;
- serviceType?: ServiceTypes;
-}
-
-export class ConnectLuisAppPromptDialog extends Component {
- public render() {
- if (this.props.serviceType === 'luis') {
- return this.luisView;
- } else if (this.props.serviceType === 'qna') {
- return this.qnaView;
- } else {
- return this.dispatchView;
- }
- }
-
- private get luisView(): JSX.Element {
- return (
-
-
- Sign in to your Azure account to select the LUIS applications
- you'd like to associate with this bot.
- Learn more about LUIS
-
-
- Alternatively, you can
- add a LUIS app manually
- with the app ID, version, and authoring key
-
-
-
-
-
-
- );
- }
-
- private get qnaView(): JSX.Element {
- return (
-
-
- Sign in to your Azure account to select the QnA Maker knowledge
- bases you'd like to associate with this bot.
- Learn more about QnA Maker
-
-
- Alternatively, you can
-
- connect to a QnA Maker knowledge base manually
-
- with the app ID, version, and authoring key
-
-
-
-
-
-
- );
- }
-
- private get dispatchView(): JSX.Element {
- return (
-
-
- Sign in to your Azure account to select the Dispatch model you'd like to associate with this bot.
- Learn more about Dispatch models
-
-
- Alternatively, you can
-
- connect to a Dispatch model manually
-
- with the app ID, version, and authoring key
-
-
-
-
-
-
- );
- }
-
- private onLearnMoreLUIS = () => {
- this.props.onAnchorClick('http://aka.ms/bot-framework-emulator-LUIS-docs-home');
- }
- private onLearnMoreQnAMaker = () => {
- this.props.onAnchorClick('http://aka.ms/bot-framework-emulator-qna-docs-home');
- }
- private onLearnMoreDispatch = () => {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-create-dispatch');
- }
-}
diff --git a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.spec.tsx b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
similarity index 81%
rename from packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.spec.tsx
rename to packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
index e7e1b5da5..535972c4c 100644
--- a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialog.spec.tsx
+++ b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
@@ -3,8 +3,8 @@ import { Provider } from 'react-redux';
import { mount } from 'enzyme';
import { createStore } from 'redux';
import { azureAuth } from '../../../data/reducer/azureAuthReducer';
-import { ConnectLuisAppPromptDialog } from './connectLuisAppPromptDialog';
-import { ConnectLuisAppPromptDialogContainer } from './connectLuisAppPromptDialogContainer';
+import { ConnectServicePromptDialog } from './connectServicePromptDialog';
+import { ConnectServicePromptDialogContainer } from './connectServicePromptDialogContainer';
import { DialogService } from '../service';
jest.mock('../service', () => ({
@@ -24,23 +24,23 @@ jest.mock('../../dialogs/', () => ({
SecretPromptDialog: () => undefined
}));
-describe('The ConnectLuisAppPromptDialog component should', () => {
+describe('The ConnectServicePromptDialog component should', () => {
let parent;
let node;
beforeEach(() => {
parent = mount(
-
+
);
- node = parent.find(ConnectLuisAppPromptDialog);
+ node = parent.find(ConnectServicePromptDialog);
});
it('should render deeply', () => {
- expect(parent.find(ConnectLuisAppPromptDialogContainer)).not.toBe(null);
+ expect(parent.find(ConnectServicePromptDialogContainer)).not.toBe(null);
});
it('should contain both a cancel and confirm function in the props', () => {
- const prompt = parent.find(ConnectLuisAppPromptDialog);
+ const prompt = parent.find(ConnectServicePromptDialog);
expect(typeof (prompt.props() as any).cancel).toBe('function');
expect(typeof (prompt.props() as any).confirm).toBe('function');
});
diff --git a/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
new file mode 100644
index 000000000..fbc49b148
--- /dev/null
+++ b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
@@ -0,0 +1,145 @@
+import { DefaultButton, Dialog, DialogFooter, PrimaryButton } from '@bfemulator/ui-react';
+import { ServiceTypes } from 'botframework-config/lib/schema';
+import * as React from 'react';
+import { Component, MouseEvent, ReactNode } from 'react';
+import * as styles from '../dialogStyles.scss';
+
+export interface ConnectServicePromptDialogProps {
+ cancel: () => void;
+ confirm: () => void;
+ addServiceManually: () => void;
+ onAnchorClick: (url: string) => void;
+ serviceType?: ServiceTypes;
+}
+
+const titleMap = {
+ [ServiceTypes.Luis]: 'Connect your bot to a LUIS application',
+ [ServiceTypes.Dispatch]: 'Connect your bot to a Dispatch model',
+ [ServiceTypes.QnA]: 'Connect your bot to a QnA Maker knowledge base',
+ [ServiceTypes.AppInsights]: 'Connect to an Azure Application Insights resource'
+};
+
+export class ConnectServicePromptDialog extends Component {
+
+ public render() {
+ return (
+
+ { this.dialogContent }
+
+
+
+
+
+ );
+ }
+
+ private get dialogContent(): ReactNode {
+ const { serviceType } = this.props;
+ switch (serviceType) {
+ case ServiceTypes.Luis:
+ return this.luisContent;
+
+ case ServiceTypes.QnA:
+ return this.qnaContent;
+
+ case ServiceTypes.Dispatch:
+ return this.dispatchContent;
+
+ case ServiceTypes.AppInsights:
+ return this.appInsightsContent;
+
+ default:
+ throw new TypeError(`${serviceType} is not a know service type`);
+ }
+ }
+
+ private get luisContent(): ReactNode {
+ return (
+ <>
+
+ { `Sign in to your Azure account to select the LUIS applications you'd like to associate with this bot. ` }
+ Learn more about LUIS.
+
+
+
+ { `Alternatively, you can ` }
+ add a LUIS app manually
+ { ` with the app ID, version, and authoring key.` }
+
+ >
+ );
+ }
+
+ private get qnaContent(): JSX.Element {
+ return (
+ <>
+
+ { 'Sign in to your Azure account to select the QnA ' +
+ 'Maker knowledge bases you\'d like to associate with this bot. ' }
+ Learn more about QnA Maker.
+
+
+
+ { `Alternatively, you can ` }
+ connect to a QnA Maker knowledge base manually
+
+ { ' with the app ID, version, and authoring key.' }
+
+ >
+ );
+ }
+
+ private get dispatchContent(): JSX.Element {
+ return (
+ <>
+
+ { `Sign in to your Azure account to select the Dispatch model you'd like to associate with this bot. ` }
+ Learn more about Dispatch models.
+
+
+
+ { `Alternatively, you can ` }
+
+ connect to a Dispatch model manually
+
+ { ` with the app ID, version, and authoring key.` }
+
+ >
+ );
+ }
+
+ private get appInsightsContent(): JSX.Element {
+ return (
+ <>
+
+ { 'Sign in to your Azure account to select the Azure Application ' +
+ 'Insights you\'d like to associate with this bot. ' }
+
+ Learn more about Azure Application Insights.
+
+
+
+ { `Alternatively, you can ` }
+
+ connect to a azure Application Insights manually
+
+ { ` with the app ID, version, and authoring key.` }
+
+ >
+ );
+ }
+
+ private onAnchorClick = (event: MouseEvent) => {
+ const { href } = event.currentTarget.dataset;
+ this.props.onAnchorClick(href);
+ }
+}
diff --git a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialogContainer.ts b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialogContainer.ts
similarity index 87%
rename from packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialogContainer.ts
rename to packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialogContainer.ts
index 028e4876d..4d51f8be8 100644
--- a/packages/app/client/src/ui/dialogs/connectLuisAppPromptDialog/connectLuisAppPromptDialogContainer.ts
+++ b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialogContainer.ts
@@ -31,27 +31,27 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+import { SharedConstants } from '@bfemulator/app-shared';
import { connect } from 'react-redux';
import { CommandServiceImpl } from '../../../platform/commands/commandServiceImpl';
-import { ConnectLuisAppPromptDialog, ConnectLuisAppPromptDialogProps } from './connectLuisAppPromptDialog';
import { DialogService } from '../service';
-import { SharedConstants } from '@bfemulator/app-shared';
+import { ConnectServicePromptDialog, ConnectServicePromptDialogProps } from './connectServicePromptDialog';
const mapDispatchToProps = (
_dispatch: () => void, ownProps: { [propName: string]: any }
-): ConnectLuisAppPromptDialogProps => {
+): ConnectServicePromptDialogProps => {
return {
...ownProps,
cancel: () => DialogService.hideDialog(0),
confirm: () => DialogService.hideDialog(1),
- addLuisAppManually: () => DialogService.hideDialog(2),
+ addServiceManually: () => DialogService.hideDialog(2),
onAnchorClick: (url) => {
CommandServiceImpl.remoteCall(SharedConstants.Commands.Electron.OpenExternal, url).catch();
}
};
};
-export const ConnectLuisAppPromptDialogContainer = connect(
+export const ConnectServicePromptDialogContainer = connect(
null,
mapDispatchToProps
-)(ConnectLuisAppPromptDialog);
+)(ConnectServicePromptDialog);
diff --git a/packages/app/client/src/ui/dialogs/index.ts b/packages/app/client/src/ui/dialogs/index.ts
index 1adfeaf5b..be0d76897 100644
--- a/packages/app/client/src/ui/dialogs/index.ts
+++ b/packages/app/client/src/ui/dialogs/index.ts
@@ -38,7 +38,7 @@ export * from './service';
export * from './azureLoginSuccessDialog/azureLoginSuccessDialogContainer';
export * from './azureLoginPromptDialog/azureLoginPromptDialogContainer';
export * from './azureLoginFailedDialog/azureLoginFailedDialogContainer';
-export * from './connectLuisAppPromptDialog/connectLuisAppPromptDialogContainer';
+export * from './connectServicePromptDialog/connectServicePromptDialogContainer';
export * from './getStartedWithCSDialog/getStartedWithCSDialogContainer';
export * from './postMigrationDialog/postMigrationDialogContainer';
export * from './progressIndicator/progressIndicatorContainer';
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss
new file mode 100644
index 000000000..3aa17fa4e
--- /dev/null
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss
@@ -0,0 +1,3 @@
+.connectedServiceEditor {
+ width: 400px;
+}
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss.d.ts b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss.d.ts
new file mode 100644
index 000000000..7bd95cac0
--- /dev/null
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.scss.d.ts
@@ -0,0 +1,2 @@
+// This is a generated file. Changes are likely to result in being overwritten
+export const connectedServiceEditor: string;
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.spec.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.spec.tsx
index 74534c3da..c350e9e5a 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.spec.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.spec.tsx
@@ -1,13 +1,16 @@
+import { SharedConstants } from '@bfemulator/app-shared';
+import { PrimaryButton } from '@bfemulator/ui-react';
+import { ServiceTypes } from 'botframework-config';
+import { LuisService } from 'botframework-config/lib/models';
+import { mount } from 'enzyme';
import * as React from 'react';
import { Provider } from 'react-redux';
-import { mount } from 'enzyme';
import { combineReducers, createStore } from 'redux';
import { azureAuth } from '../../../../../data/reducer/azureAuthReducer';
-import { ConnectedServiceEditorContainer } from './connectedServiceEditorContainer';
-import { ConnectedServiceEditor } from './connectedServiceEditor';
+import { CommandServiceImpl } from '../../../../../platform/commands/commandServiceImpl';
import { DialogService } from '../../../../dialogs/service';
-import { LuisService } from 'botframework-config/lib/models';
-import { PrimaryButton } from '@bfemulator/ui-react';
+import { ConnectedServiceEditor } from './connectedServiceEditor';
+import { ConnectedServiceEditorContainer } from './connectedServiceEditorContainer';
jest.mock('../../../../dialogs/service', () => ({
DialogService: {
@@ -24,6 +27,8 @@ jest.mock('../../../../dialogs/', () => ({
SecretPromptDialog: () => undefined
}));
+jest.mock('./connectedServiceEditor.scss', () => ({}));
+
describe('The ConnectedServiceEditor component should', () => {
let parent;
let node;
@@ -98,4 +103,25 @@ describe('The ConnectedServiceEditor component should', () => {
const submitBtn = node.find(PrimaryButton);
expect(submitBtn.props.disabled).toBeFalsy();
});
+
+ it('should request to open a url when the learn more anchor is clicked based on the service type', async () => {
+ const remoteCallSpy = jest.spyOn(CommandServiceImpl, 'remoteCall');
+ const instance = node.instance();
+ expect(() => instance.onLearnMoreClick()).toThrow();
+ instance.props = {...instance.props, serviceType: ServiceTypes.Luis};
+
+ instance.onLearnMoreClick();
+ expect(remoteCallSpy).toHaveBeenCalledWith(SharedConstants.Commands.Electron.OpenExternal,
+ 'http://aka.ms/bot-framework-emulator-LUIS-docs-home');
+
+ instance.props = {...instance.props, serviceType: ServiceTypes.QnA};
+ instance.onLearnMoreClick();
+ expect(remoteCallSpy).toHaveBeenCalledWith(SharedConstants.Commands.Electron.OpenExternal,
+ 'http://aka.ms/bot-framework-emulator-qna-keys');
+
+ instance.props = {...instance.props, serviceType: ServiceTypes.Dispatch};
+ instance.onLearnMoreClick();
+ expect(remoteCallSpy).toHaveBeenCalledWith(SharedConstants.Commands.Electron.OpenExternal,
+ 'https://aka.ms/bot-framework-emulator-create-dispatch');
+ });
});
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
index 598650297..c00ecc006 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
@@ -31,13 +31,14 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-import { ConnectedService } from 'botframework-config/lib/models';
+import { DefaultButton, Dialog, DialogFooter, PrimaryButton, TextField } from '@bfemulator/ui-react';
import { BotConfigurationBase } from 'botframework-config/lib/botConfigurationBase';
+import { ConnectedService } from 'botframework-config/lib/models';
import { IConnectedService, ServiceTypes } from 'botframework-config/lib/schema';
-import { DefaultButton, Dialog, DialogFooter, PrimaryButton, TextField } from '@bfemulator/ui-react';
import * as React from 'react';
import { ChangeEvent, Component } from 'react';
import { serviceTypeLabels } from '../../../../../utils/serviceTypeLables';
+import * as styles from './connectedServiceEditor.scss';
interface ConnectedServiceEditorProps {
connectedService: IConnectedService;
@@ -54,16 +55,19 @@ interface ConnectedServiceEditorState extends Partial {
const labelMap = {
authoringKey: 'Authoring key',
+ applicationId: 'App Insights Application ID',
+ instrumentationKey: 'App Insight Instrumentation Key',
+ serviceName: 'Azure Service Name',
appId: 'LUIS app ID',
id: 'App ID',
endpointKey: 'Endpoint key',
hostname: 'Host Name',
kbId: 'Knowledge base ID',
name: 'Name',
- resourceGroup: 'Resource group',
- subscriptionId: 'Subscription ID',
- subscriptionKey: 'Subscription key',
- tenantId: 'Tenant ID',
+ resourceGroup: 'Azure Resource group',
+ subscriptionId: 'Azure Subscription ID',
+ subscriptionKey: 'Azure Subscription key',
+ tenantId: 'Azure Tenant ID',
version: 'Version',
...serviceTypeLabels
};
@@ -72,7 +76,8 @@ const titleMap = {
[ServiceTypes.Luis]: 'Connect to a LUIS app',
[ServiceTypes.Dispatch]: 'Connect to a Dispatch model',
[ServiceTypes.QnA]: 'Connect to a QnA Maker knowledge base',
- [ServiceTypes.Bot]: 'Connect to Azure Bot Service'
+ [ServiceTypes.Bot]: 'Connect to Azure Bot Service',
+ [ServiceTypes.AppInsights]: 'Connect to Application Insights resource'
};
const portalMap = {
@@ -90,6 +95,17 @@ const getEditableFields = (service: IConnectedService): string[] => {
case ServiceTypes.QnA:
return ['name', 'kbId', 'hostname', 'subscriptionKey', 'endpointKey'];
+ case ServiceTypes.AppInsights:
+ return [
+ 'name',
+ 'tenantId',
+ 'subscriptionKey',
+ 'resourceGroup',
+ 'serviceName',
+ 'instrumentationKey',
+ 'applicationId'
+ ];
+
default:
throw new TypeError(`${ service.type } is not a valid service type`);
}
@@ -139,10 +155,10 @@ export class ConnectedServiceEditor extends Component
+
You can find your knowledge base ID and subscription key in { portalMap[type] }
-
+
Learn more about keys in { labelMap[type] }
@@ -156,6 +172,10 @@ export class ConnectedServiceEditor extends Component {
- if (ServiceTypes.Luis) {
- this.props.onAnchorClick('http://aka.ms/bot-framework-emulator-LUIS-docs-home');
- } else if (ServiceTypes.QnA) {
- this.props.onAnchorClick('http://aka.ms/bot-framework-emulator-qna-keys');
- } else {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-create-dispatch');
+ private onLearnMoreClick = (): void => {
+ let url;
+ switch (this.props.serviceType) {
+ case ServiceTypes.Luis:
+ url = 'http://aka.ms/bot-framework-emulator-LUIS-docs-home';
+ break;
+
+ case ServiceTypes.QnA:
+ url = 'http://aka.ms/bot-framework-emulator-qna-keys';
+ break;
+
+ case ServiceTypes.Dispatch:
+ url = 'https://aka.ms/bot-framework-emulator-create-dispatch';
+ break;
+
+ default:
+ throw new Error(`${this.props.serviceType} is not a known service.`);
}
+ this.props.onAnchorClick(url);
}
private onSubmitClick = (): void => {
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker/connectedServicePicker.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker/connectedServicePicker.tsx
index 57abf6f1e..93428a97f 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker/connectedServicePicker.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker/connectedServicePicker.tsx
@@ -41,7 +41,8 @@ const titleMap = {
[ServiceTypes.Luis]: 'Connect to your LUIS apps',
[ServiceTypes.Dispatch]: 'Connect to a Dispatch model',
[ServiceTypes.QnA]: 'Connect to your QnA Maker knowledge base',
- [ServiceTypes.Bot]: 'Connect to an Azure Bot Service'
+ [ServiceTypes.Bot]: 'Connect to an Azure Bot Service',
+ [ServiceTypes.AppInsights]: 'Connect to an Azure Application Insights resource'
};
const connected = 'connected';
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.spec.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.spec.tsx
index 687557c3b..6016b5b7c 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.spec.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.spec.tsx
@@ -1,26 +1,29 @@
+import { SharedConstants } from '@bfemulator/app-shared';
+import { LuisService } from 'botframework-config/lib/models';
+import { mount } from 'enzyme';
import * as React from 'react';
import { Provider } from 'react-redux';
-import { mount } from 'enzyme';
import { combineReducers, createStore } from 'redux';
-import { bot } from '../../../../data/reducer/bot';
-import { explorer } from '../../../../data/reducer/explorer';
-import { LuisService } from 'botframework-config/lib/models';
-import { ServicesExplorerContainer } from './servicesExplorerContainer';
-import { ServicesExplorer } from './servicesExplorer';
import { load, setActive } from '../../../../data/action/botActions';
import {
openAddServiceContextMenu,
openContextMenuForConnectedService,
- openServiceDeepLink
+ openServiceDeepLink,
+ openSortContextMenu
} from '../../../../data/action/connectedServiceActions';
-import { ConnectedServiceEditorContainer } from './connectedServiceEditor';
+import { bot } from '../../../../data/reducer/bot';
+import { explorer } from '../../../../data/reducer/explorer';
+import { CommandServiceImpl } from '../../../../platform/commands/commandServiceImpl';
import {
AzureLoginFailedDialogContainer,
AzureLoginSuccessDialogContainer,
- ConnectLuisAppPromptDialogContainer,
+ ConnectServicePromptDialogContainer,
GetStartedWithCSDialogContainer
} from '../../../dialogs';
+import { ConnectedServiceEditorContainer } from './connectedServiceEditor';
import { ConnectedServicePickerContainer } from './connectedServicePicker/connectedServicePickerContainer';
+import { ServicesExplorer } from './servicesExplorer';
+import { ServicesExplorerContainer } from './servicesExplorerContainer';
jest.mock('../../../dialogs', () => ({
DialogService: {
@@ -28,9 +31,10 @@ jest.mock('../../../dialogs', () => ({
hideDialog: () => Promise.resolve(false),
}
}));
-
+jest.mock('./servicesExplorer.scss', () => ({}));
jest.mock('../servicePane/servicePane.scss', () => ({}));
jest.mock('./connectedServicePicker/connectedServicePicker.scss', () => ({}));
+jest.mock('./connectedServiceEditor/connectedServiceEditor.scss', () => ({}));
jest.mock('./servicesExplorer.scss', () => ({}));
describe('The ServicesExplorer component should', () => {
@@ -94,7 +98,7 @@ describe('The ServicesExplorer component should', () => {
azureAuthWorkflowComponents: {
loginFailedDialog: AzureLoginFailedDialogContainer,
loginSuccessDialog: AzureLoginSuccessDialogContainer,
- promptDialog: ConnectLuisAppPromptDialogContainer
+ promptDialog: ConnectServicePromptDialogContainer
},
getStartedDialog: GetStartedWithCSDialogContainer,
editorComponent: ConnectedServiceEditorContainer,
@@ -102,17 +106,37 @@ describe('The ServicesExplorer component should', () => {
}));
});
+ it('should dispatch a request to open a link when an anchor is clicked', () => {
+ const instance = node.instance();
+ const remoteCallSpy = jest.spyOn(CommandServiceImpl, 'remoteCall');
+ instance.onAnchorClick({ currentTarget: { dataset: { href: 'http://someurl' } } });
+ expect(remoteCallSpy).toHaveBeenCalledWith(SharedConstants.Commands.Electron.OpenExternal, 'http://someurl');
+ });
+
+ it('should dispatch to the store when a request to open the sort context menu is made', () => {
+ const instance = node.instance();
+ instance.onSortClick();
+ expect(mockDispatch).toHaveBeenCalledWith(openSortContextMenu());
+ });
+
+ it('should open the service deep link when the enter key is pressed on a focused list item', () => {
+ const instance = node.instance();
+ const onLinkClickSpy = jest.spyOn(instance, 'onLinkClick');
+ instance.onKeyPress({ key: 'Enter', currentTarget: { dataset: { index: 0 } } });
+ expect(onLinkClickSpy).toHaveBeenCalledWith({ key: 'Enter', currentTarget: { dataset: { index: 0 } } });
+ });
+
it('should flag newly added services for animation', () => {
const instance = node.instance();
const c = Object.getPrototypeOf(instance).constructor;
const prevState = {
sortCriteria: 'name',
- services: [{id: 'existingService'}]
+ services: [{ id: 'existingService' }]
};
const nextProps = {
sortCriteria: 'name',
- services: [{id: 'existingService'}, {id: 'newService'}]
+ services: [{ id: 'existingService' }, { id: 'newService' }]
};
const state = c.getDerivedStateFromProps(nextProps, prevState);
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.tsx
index 83556db3f..3eca160d3 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorer.tsx
@@ -33,14 +33,14 @@
import { IConnectedService } from 'botframework-config/lib/schema';
import * as React from 'react';
-import { MouseEventHandler, SyntheticEvent } from 'react';
+import { MouseEvent, MouseEventHandler, SyntheticEvent } from 'react';
import { ServicePane, ServicePaneProps } from '../servicePane/servicePane';
import { ConnectedServiceEditorContainer } from './connectedServiceEditor';
import { ConnectedServicePickerPayload } from '../../../../data/action/connectedServiceActions';
import {
AzureLoginFailedDialogContainer,
AzureLoginSuccessDialogContainer,
- ConnectLuisAppPromptDialogContainer,
+ ConnectServicePromptDialogContainer,
GetStartedWithCSDialogContainer,
ProgressIndicatorContainer
} from '../../../dialogs';
@@ -99,24 +99,28 @@ export class ServicesExplorer extends ServicePane {
{ 'You can connect your bot to services such as ' }
+ data-href="https://aka.ms/bot-framework-emulator-LUIS-docs-home"
+ onClick={ this.onAnchorClick }>
{ 'Language Understanding (LUIS), ' }
+ data-href="https://aka.ms/bot-framework-emulator-qna-docs-home"
+ onClick={ this.onAnchorClick }>
{ 'QnA Maker, and ' }
+ data-href="https://aka.ms/bot-framework-emulator-create-dispatch"
+ onClick={ this.onAnchorClick }>
Dispatch.
+ data-href="https://aka.ms/bot-framework-emulator-services"
+ onClick={ this.onAnchorClick }>
Learn more about using services.
@@ -139,7 +143,7 @@ export class ServicesExplorer extends ServicePane {
key={ index }
className={ `${ styles.link } ${ toAnimate[service.id] ? styles.animateHighlight : '' } ` }
onDoubleClick={ this.onLinkClick }
- onKeyPress={ this.onHandleKeyPress }
+ onKeyPress={ this.onKeyPress }
data-index={ index }
tabIndex={ 0 }
title={ service.name }
@@ -157,7 +161,7 @@ export class ServicesExplorer extends ServicePane {
this.props.openContextMenuForService(connectedService, ConnectedServiceEditorContainer);
}
- protected onHandleKeyPress = (e): void => {
+ protected onKeyPress = (e): void => {
if (e.key === 'Enter') {
this.onLinkClick(e);
}
@@ -179,7 +183,7 @@ export class ServicesExplorer extends ServicePane {
azureAuthWorkflowComponents: {
loginFailedDialog: AzureLoginFailedDialogContainer,
loginSuccessDialog: AzureLoginSuccessDialogContainer,
- promptDialog: ConnectLuisAppPromptDialogContainer
+ promptDialog: ConnectServicePromptDialogContainer
},
getStartedDialog: GetStartedWithCSDialogContainer,
editorComponent: ConnectedServiceEditorContainer,
@@ -188,19 +192,7 @@ export class ServicesExplorer extends ServicePane {
});
}
- private onLearnMoreLUISAnchor = () => {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-LUIS-docs-home');
- }
-
- private onLearnMoreQnAAnchor = () => {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-qna-docs-home');
- }
-
- private onLearnMoreDispatchAnchor = () => {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-create-dispatch');
- }
-
- private onLearnMoreServicesAnchor = () => {
- this.props.onAnchorClick('https://aka.ms/bot-framework-emulator-services');
+ private onAnchorClick = (event: MouseEvent): void => {
+ this.props.onAnchorClick(event.currentTarget.dataset.href);
}
}
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorerContainer.ts b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorerContainer.ts
index df3fb9691..77d520d71 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorerContainer.ts
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/servicesExplorerContainer.ts
@@ -31,6 +31,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+import { SharedConstants } from '@bfemulator/app-shared';
import { IConnectedService, ServiceTypes } from 'botframework-config/lib/schema';
import { ComponentClass } from 'react';
import { connect } from 'react-redux';
@@ -41,12 +42,11 @@ import {
openServiceDeepLink,
openSortContextMenu
} from '../../../../data/action/connectedServiceActions';
+import { CONNECTED_SERVICES_PANEL_ID } from '../../../../data/action/explorerActions';
import { RootState } from '../../../../data/store';
+import { CommandServiceImpl } from '../../../../platform/commands/commandServiceImpl';
import { ConnectedServiceEditor } from './connectedServiceEditor/connectedServiceEditor';
import { ServicesExplorer, ServicesExplorerProps } from './servicesExplorer';
-import { CONNECTED_SERVICES_PANEL_ID } from '../../../../data/action/explorerActions';
-import { CommandServiceImpl } from '../../../../platform/commands/commandServiceImpl';
-import { SharedConstants } from '@bfemulator/app-shared';
const mapStateToProps = (state: RootState): Partial => {
const { services = [] } = state.bot.activeBot;
@@ -54,6 +54,7 @@ const mapStateToProps = (state: RootState): Partial => {
return {
services: services.filter(service => service.type === ServiceTypes.QnA ||
service.type === ServiceTypes.Dispatch ||
+ service.type === ServiceTypes.AppInsights ||
service.type === ServiceTypes.Luis),
sortCriteria,
window
@@ -63,7 +64,7 @@ const mapStateToProps = (state: RootState): Partial => {
const mapDispatchToProps = (dispatch): Partial => {
return {
onAnchorClick: (url) => {
- CommandServiceImpl.remoteCall(SharedConstants.Commands.Electron.OpenExternal, url).catch();
+ return CommandServiceImpl.remoteCall(SharedConstants.Commands.Electron.OpenExternal, url);
},
openAddServiceContextMenu: (payload: ConnectedServicePickerPayload) =>
dispatch(openAddServiceContextMenu(payload)),
diff --git a/packages/app/client/src/utils/serviceTypeLables.ts b/packages/app/client/src/utils/serviceTypeLables.ts
index 477926e87..f8b5cda5a 100644
--- a/packages/app/client/src/utils/serviceTypeLables.ts
+++ b/packages/app/client/src/utils/serviceTypeLables.ts
@@ -37,4 +37,6 @@ export const serviceTypeLabels = {
[ServiceTypes.Luis]: 'LUIS',
[ServiceTypes.Dispatch]: 'Dispatch',
[ServiceTypes.QnA]: 'QnA Maker',
+ [ServiceTypes.AppInsights]: 'App Insights',
+ [ServiceTypes.Bot]: 'Azure Bot Service'
};
diff --git a/packages/sdk/ui-react/src/widget/textField/textField.scss b/packages/sdk/ui-react/src/widget/textField/textField.scss
index a863c2978..fb85efb8f 100644
--- a/packages/sdk/ui-react/src/widget/textField/textField.scss
+++ b/packages/sdk/ui-react/src/widget/textField/textField.scss
@@ -13,7 +13,7 @@
color: var(--input-placeholder-color);
}
- &:invalid {
+ &.invalid {
color: var(--error-text);
border: var(--input-border-error);
}
diff --git a/packages/sdk/ui-react/src/widget/textField/textField.scss.d.ts b/packages/sdk/ui-react/src/widget/textField/textField.scss.d.ts
index 137b699a4..89d315a53 100644
--- a/packages/sdk/ui-react/src/widget/textField/textField.scss.d.ts
+++ b/packages/sdk/ui-react/src/widget/textField/textField.scss.d.ts
@@ -1,5 +1,6 @@
// This is a generated file. Changes are likely to result in being overwritten
export const input: string;
+export const invalid: string;
export const label: string;
export const requiredIndicator: string;
export const sub: string;
diff --git a/packages/sdk/ui-react/src/widget/textField/textField.tsx b/packages/sdk/ui-react/src/widget/textField/textField.tsx
index 411f31094..71ab740a8 100644
--- a/packages/sdk/ui-react/src/widget/textField/textField.tsx
+++ b/packages/sdk/ui-react/src/widget/textField/textField.tsx
@@ -22,9 +22,13 @@ export class TextField extends Component {
public render(): ReactNode {
// Trim off what we don't want to send to the input tag
const { inputContainerClassName = '', className = '', label, errorMessage, ...inputProps } = this.props;
+ let inputClassName = `${styles.input} ${className} `;
+ if (errorMessage) {
+ inputClassName += styles.invalid;
+ }
return
{ this.labelNode }
-
+
{ this.props.children }
{ this.errorNode }
;
From 9089cba79ce09f90416fd4b885174b2ac8106a6a Mon Sep 17 00:00:00 2001
From: Justin Wilaby
Date: Mon, 19 Nov 2018 14:36:50 -0800
Subject: [PATCH 2/4] Updated unit tests
---
.../connectServicePromptDialog.spec.tsx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
index 535972c4c..bc7308425 100644
--- a/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
+++ b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.spec.tsx
@@ -6,6 +6,7 @@ import { azureAuth } from '../../../data/reducer/azureAuthReducer';
import { ConnectServicePromptDialog } from './connectServicePromptDialog';
import { ConnectServicePromptDialogContainer } from './connectServicePromptDialogContainer';
import { DialogService } from '../service';
+import { ServiceTypes } from 'botframework-config';
jest.mock('../service', () => ({
DialogService: {
@@ -30,7 +31,7 @@ describe('The ConnectServicePromptDialog component should', () => {
beforeEach(() => {
parent = mount(
-
+
);
node = parent.find(ConnectServicePromptDialog);
});
@@ -62,7 +63,7 @@ describe('The ConnectServicePromptDialog component should', () => {
it('should exit with code 2 when add luis apps manually is selected', () => {
const spy = jest.spyOn(DialogService, 'hideDialog');
const instance = node.instance();
- instance.props.addLuisAppManually();
+ instance.props.addServiceManually();
expect(spy).toHaveBeenCalledWith(2);
});
});
From bc953f37ee4ad15066e78d25d3521b719b8ba436 Mon Sep 17 00:00:00 2001
From: Justin Wilaby
Date: Mon, 19 Nov 2018 16:34:59 -0800
Subject: [PATCH 3/4] Fixed typo
---
.../connectServicePromptDialog/connectServicePromptDialog.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
index fbc49b148..d3529035a 100644
--- a/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
+++ b/packages/app/client/src/ui/dialogs/connectServicePromptDialog/connectServicePromptDialog.tsx
@@ -52,7 +52,7 @@ export class ConnectServicePromptDialog extends Component
Date: Mon, 19 Nov 2018 16:36:59 -0800
Subject: [PATCH 4/4] Fixed type from comps
---
.../connectedServiceEditor/connectedServiceEditor.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
index c00ecc006..6c482b679 100644
--- a/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
+++ b/packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor/connectedServiceEditor.tsx
@@ -56,7 +56,7 @@ interface ConnectedServiceEditorState extends Partial {
const labelMap = {
authoringKey: 'Authoring key',
applicationId: 'App Insights Application ID',
- instrumentationKey: 'App Insight Instrumentation Key',
+ instrumentationKey: 'App Insights Instrumentation Key',
serviceName: 'Azure Service Name',
appId: 'LUIS app ID',
id: 'App ID',