build: consolidate common files and update README's

This commit is contained in:
Matt Mazzola 2019-12-16 11:08:56 -08:00
Родитель 22613b30af
Коммит b38961c577
50 изменённых файлов: 1612 добавлений и 1328 удалений

Просмотреть файл

@ -37,5 +37,6 @@ let luisAuthoringKey = authoringKeys[authoringKeyIndex]
// will be consumed.
console.log(`export LUIS_AUTHORING_KEY=${luisAuthoringKey}\n`)
console.log(`export CYPRESS_BUILD_NUM=${buildNumber}\n`)
// Expose build number to Cypress for unique model naming
console.log(`export CYPRESS_BUILD_NUM=${buildNumber}\n`)

291
.circleci/config.yml Normal file
Просмотреть файл

@ -0,0 +1,291 @@
version: 2.1
# https://circleci.com/docs/2.0/reusing-config/#the-commands-key
commands:
run_bot_and_ui:
description: "Runs the sample bot and the UI to allow E2E test to be run."
steps:
# Run the sample
- run:
command: npm run test-apicallbacks > start.txt
background: true
working_directory: packages/samples
# Run UI
- run:
command: npm start
background: true
working_directory: packages/ui
# Ensure bot and ui are running
# TODO: Find out why this fails.
# For some reason this times out as failure even though the bot is running and request should succeed
# - run: npx wait-on -- http://localhost:3978
- run: npx wait-on -- http://localhost:3000
save_test_results:
description: "Save artifacts and test results"
steps:
- store_artifacts:
path: packages/ui/results
- store_artifacts:
path: packages/ui/cypress/videos
- store_artifacts:
path: packages/ui/cypress/screenshots
- store_test_results:
path: packages/ui/results
create_concatenated_package_lock:
description: "Concatenate all package-lock.json files recognized by lerna.js into single file. File is used as checksum source for part of caching key."
parameters:
filename:
type: string
steps:
- run:
name: Combine package-lock.json files to single file
command: npx lerna list -p -a | awk -F packages '{printf "\"packages%s/package-lock.json\" ", $2}' | xargs cat > << parameters.filename >>
jobs:
build:
docker:
- image: circleci/node:lts
steps:
- checkout
- create_concatenated_package_lock:
filename: combined-package-lock.txt
- run: npx lerna list --toposort -a
- restore_cache:
keys:
- v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
- v3-deps
- run: node --version
- run: npm --version
- run: npm ci
- run: npx lerna bootstrap
- save_cache:
key: v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
paths:
- ~/.npm
- ~/.cache
- run: npx lerna run build
- run: npx lerna run test --ignore @mattmazzola/webchat
- run: npx lerna run report-coverage
test-smoke:
docker:
- image: cypress/browsers:node12.13.0-chrome78-ff70
environment:
# this enables colors in the output
TERM: xterm
# https://github.com/cypress-io/cypress/issues/350
ipc: host
# parallelism: 1
steps:
- checkout
- create_concatenated_package_lock:
filename: combined-package-lock.txt
- restore_cache:
keys:
- v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
- v3-deps
- run: npm ci
- run: npx lerna bootstrap
- run: npx lerna run build
# Setup for e2e tests
- run: node .circleci/SetLuisAuthoringKey.js >> $BASH_ENV
- run_bot_and_ui
# Run smoke tests against sample
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/smoke/required/**/*.spec.*"
working_directory: packages/ui
- save_test_results
test-regression:
docker:
- image: cypress/browsers:node12.13.0-chrome78-ff70
environment:
# this enables colors in the output
TERM: xterm
# https://github.com/cypress-io/cypress/issues/350
ipc: host
# parallelism: 1
steps:
- checkout
- create_concatenated_package_lock:
filename: combined-package-lock.txt
- restore_cache:
keys:
- v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
- v3-deps
- run: npm ci
- run: npx lerna bootstrap
- run: npx lerna run build
# Setup for e2e tests
- run: node .circleci/SetLuisAuthoringKey.js >> $BASH_ENV
- run_bot_and_ui
# Run Regression Tests
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/Regression/**/*.spec.js"
working_directory: packages/ui
- save_test_results
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/regressionTs/**/*.spec.*"
when: always
working_directory: packages/ui
- save_test_results
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/Tools/DeleteAllTestGeneratedModels.spec.js"
when: always
working_directory: packages/ui
- save_test_results
test-release:
docker:
- image: cypress/browsers:node12.13.0-chrome78-ff70
environment:
# this enables colors in the output
TERM: xterm
# https://github.com/cypress-io/cypress/issues/350
ipc: host
# parallelism: 1
steps:
- checkout
- create_concatenated_package_lock:
filename: combined-package-lock.txt
- restore_cache:
keys:
- v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
- v3-deps
- run: npm ci
- run: npx lerna bootstrap
- run: npx lerna run build
# Setup for e2e tests
- run: node .circleci/SetLuisAuthoringKey.js >> $BASH_ENV
# Run the Bot (Only need Bot not UI for testing release)
- run:
command: npm run test-apicallbacks > start.txt
background: true
working_directory: packages/samples
- run: npx wait-on -- http://localhost:3978
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/release/**/*.spec.*" --config "baseUrl=http://localhost:3978"
working_directory: packages/ui
- save_test_results
deploy:
parameters:
clone_path:
type: string
default: ../temp-samples-repo-${CIRCLE_BUILD_NUM}
docker:
- image: cypress/browsers:node12.13.0-chrome78-ff70
environment:
TERM: xterm
steps:
- checkout
- create_concatenated_package_lock:
filename: combined-package-lock.txt
- restore_cache:
keys:
- v3-deps-{{ checksum "package-lock.json" }}-{{ checksum "combined-package-lock.txt" }}
- v3-deps
# Needed so projects can run scripts (specifically UI needs typescript)
- run: npm ci
- run: npx lerna bootstrap
- run: npx lerna run build
# Add key with Write permissions in order to run `lerna publish` which pushes commits
- add_ssh_keys:
fingerprints:
- "c5:43:9f:bd:5f:41:f2:b9:f5:96:40:08:3a:00:49:fd"
# Setup git commit info
- run: git config --global user.email "mattm@microsoft.com"
- run: git config --global user.name "Conversation Learner Build"
# https://circleci.com/blog/publishing-npm-packages-using-circleci-2-0/
- run: npm set //registry.npmjs.org/:_authToken=${NPM_TOKEN}
- run: npx lerna publish --yes --conventional-commits --create-release github --dist-tag testing
# Use Personal Access Token to access different repo
# https://github.blog/2012-09-21-easier-builds-and-deployments-using-git-over-https-and-oauth/
# Copy files from packages/samples on top of fresh clone of samples and then push the changes.
# Investigated submodules and subtrees but neither seemed offer simplicity that we want while still keeping this repo as source of truth
# TODO: Look at using token only in git push instead of clone so it's not stored
# E.g. 'git pull https://<token>@github.com/username/bar.git'
- run: git clone https://${GH_TOKEN_SAMPLES}@github.com/mattmazzola/ConversationLearner-Samples << parameters.clone_path >> -b develop
# TODO: Try to consolidate to single copy command
- run: cp ./packages/samples/src/ << parameters.clone_path >> -frv
- run: cp ./packages/samples/*.* << parameters.clone_path >> -fv
- run:
command: |
cd << parameters.clone_path >>
git add -A
git status --short
# If there are changes, commit and push the changes
- run:
command: |
cd << parameters.clone_path >>
git commit -m "Update Samples ${CIRCLE_BUILD_NUM}" -m "${CIRCLE_BUILD_URL} ${CIRCLE_COMPARE_URL}" && git push || echo "Nothing to commit"
workflows:
build-test-deploy:
jobs:
- build
- test-smoke:
requires:
- build
- test-regression:
requires:
- build
- test-release:
requires:
- build
- deploy:
requires:
- build
filters:
branches:
only:
- master

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -21,9 +21,9 @@ jobs:
- run: node --version
- run: npm --version
- run: npm ci
- run: npm run test
- run: npm run build
- run: npx lerna bootstrap
- run: npx lerna run test
- run: npx lerna run build
env:
CI: true
@ -41,9 +41,9 @@ jobs:
- run: node --version
- run: npm --version
- run: npm ci
- run: npm run test
- run: npm run build
- run: npx lerna bootsrap
- run: npx lerna run test
- run: npx lerna run build
env:
CI: true

Просмотреть файл

@ -21,10 +21,9 @@ jobs:
- run: node --version
- run: npm --version
- run: npm ci
- run: npm run test
- run: npm run build
- run: npx semantic-release
- run: npx lerna bootstrap
- run: npx lerna run build
- run: npx lerna run test
env:
CI: true

Просмотреть файл

@ -3,7 +3,6 @@ language: node_js
branches:
only:
- master
- /^greenkeeper/.*$/
cache:
directories:
@ -16,9 +15,13 @@ notifications:
node_js:
- node
before_install:
- node --version
- npm --version
install:
- npm ci
- npx lerna bootstrap
script:
- npm run test
- npm run build
- npx lerna run build
- npx lerna run test --ignore @mattmazzola/webchat

229
.vscode/launch.json поставляемый Normal file
Просмотреть файл

@ -0,0 +1,229 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Empty Bot",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/server.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
"sourceMaps": true
},
{
"type": "node",
"request": "launch",
"name": "tutorialGeneral",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/server.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialEntityDetectionCallback",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/tutorialEntityDetectionCallback.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialAPICalls",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/tutorialAPICalls.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialSessionCallbacks",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/tutorialSessionCallbacks.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoPasswordReset",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/demoPasswordReset.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
},
{
"type": "node",
"request": "launch",
"name": "demoPizzaOrder",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/demoPizzaOrder.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialHybrid",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/tutorialHybrid.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoVRAppLauncher",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/demoVRAppLauncher.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoStorage",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/demoStorage.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoMultiCL",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/demos/demoMultiCL.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "Test API Callbacks",
"program": "${workspaceFolder}/lib/test/testApiCallbacks.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
"sourceMaps": true
},
{
"type": "node",
"request": "launch",
"name": "Empty App with Fiddler",
"cwd": "${workspaceFolder}/packages/samples",
"program": "${workspaceFolder}/packages/samples/lib/server.js",
"outFiles": [
"${workspaceFolder}/packages/samples/**/*"
],
"runtimeArgs": [
"--preserve-symlinks"
],
"env": {
"https_proxy": "http://127.0.0.1:8888",
"http_proxy": "http://127.0.0.1:8888",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
},
{
"type": "node",
"request": "launch",
"name": "Models - Jest Tests",
"cwd": "${workspaceFolder}/packages/models",
"program": "${workspaceFolder}/packages/models/node_modules/jest/bin/jest.js",
"args": [
"-i"
],
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/packages/models/dist/**/*"
]
},
{
"type": "node",
"request": "launch",
"name": "SDK - Jest Tests",
"cwd": "${workspaceFolder}/packages/sdk",
"program": "${workspaceFolder}/packages/sdk/node_modules/jest/bin/jest.js",
"args": [
"-i"
],
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/packages/sdk/lib/**/*"
]
},
{
"type": "node",
"request": "launch",
"name": "UI - Debug CRA Tests",
"runtimeExecutable": "${workspaceFolder}/packages/ui/node_modules/.bin/react-scripts-ts",
"args": [
"test",
"--runInBand",
"--no-cache",
"--env=jsdom"
],
"cwd": "${workspaceFolder}/packages/ui/",
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
]
}

Просмотреть файл

@ -1,9 +1,5 @@
{
"typescript.tsdk": "node_modules\\typescript\\lib",
"workbench.colorCustomizations": {
"activityBar.background": "#5a0656"
},
"editor.formatOnSave": true,
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,

Просмотреть файл

@ -4,7 +4,7 @@
"version": "2.0.0",
"tasks": [
{
"identifier": "build",
"label": "build",
"type": "npm",
"script": "build",
"group": {

921
CHANGELOG.md Normal file
Просмотреть файл

@ -0,0 +1,921 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.602.2](https://github.com/mattmazzola/conversationlearner-lerna-01/compare/v0.602.1...v0.602.2) (2019-12-10)
### Bug Fixes
* add comment for lerna ([#4](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/4)) ([7e5ddde](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7e5ddded98425e0a11ae84d1ef1bdefd0df9361c))
## [0.602.1](https://github.com/mattmazzola/conversationlearner-lerna-01/compare/v0.602.0...v0.602.1) (2019-12-10)
### Reverts
* renames to urls ([f05691d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f05691dbedac3979f92bc104c107b02806c6992f))
# 0.602.0 (2019-12-10)
### Bug Fixes
* 11-20 Bugbash items ([#373](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/373)) ([fbb497b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fbb497bda7484c3690baf81bf26ce607395d2303))
* abs not round ([#32](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/32)) ([6e4e18d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6e4e18d3c141cce07fa9f233a8894d5b111cb7ae))
* action editing ([#298](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/298)) ([e0ba9ff](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e0ba9ffe972186bc8814d64760a6985f66384a42))
* activity highlighting ([#398](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/398)) ([deedda4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/deedda4a62b4463c21fd5f47e6bd38262151f130))
* activityIndex can be 0 which is falsey ([#1406](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1406)) ([fba2118](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fba211854f5a808671ba34742cca235a053d2a10))
* add '/' route to ping server ([#301](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/301)) ([b31de18](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b31de18317f5f0cbc889f27641bbb7708d4a84d4))
* add /ui routes to all tutorials ([#347](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/347)) ([89f134e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/89f134e011a9be7111e3409e539b8e978098295c))
* add check for mismatch between indicies and text ([#1210](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1210)) ([d0506b4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d0506b44a3c495c4873c2c56fd2cc8ba54c58429))
* add comment to test publishing ([#58](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/58)) ([d3609b2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d3609b2a3d3c05982df780d7c07e0297ada40d48))
* add lightDismis to ErrorPanel ([#1271](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1271)) ([0976f01](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0976f01619e8b249f4fefb2baec18695870163e0))
* add min max on spinbutton ([#1395](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1395)) ([a576328](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a576328326eaf623cac705f64ee450a8cd1bdc4c))
* add synthetic user utterance as input to HTTP requests during .dialog import ([#1363](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1363)) ([efb70d5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/efb70d5304bbdaf936e95b433a8b5128ea3c6921))
* add test for changed app ([#334](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/334)) ([d84b66d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d84b66d9aa9ef9c88d482525e84b486dad666a47))
* add toggle to session renderer ([#1293](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1293)) ([8ca9ec3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ca9ec376d99d1c3c5b9f8bd3a443de3c8f3772b))
* added more explanatory message for port in use ([#281](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/281)) ([821f674](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/821f6747a7747229094b70959c05b186bf5727e6))
* allow import of .dialog's with JSON comments ([#1327](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1327)) ([32ac6fb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/32ac6fb1bc3f2849064174a392002dd705ca7ae4))
* allow negative entity creation in single call ([#277](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/277)) ([d65d2c9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d65d2c9bc42ece901d9e3ecb631959337bc66c6d))
* allow server to return conflict information ([#429](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/429)) ([e9ab53b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e9ab53b46c05a3971fefc371125de4fdd656a6e0))
* allow undefined mem key for /state/app ([#297](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/297)) ([19680c4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/19680c44d0dea57b7467bfc1f2cbcc0904b41d4f))
* alt text ui changes ([#387](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/387)) ([ad3a5f3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ad3a5f3d29dc4194b2da2fffa1d6c46e64295938))
* always re-compute matched options when options change ([#1119](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1119)) ([66cfd0d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/66cfd0d09f6f802ce5516246092b8b8e6ebc5f15))
* always send saveDialog parameter ([#455](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/455)) ([554e2a2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/554e2a27821444bf2188302656e2600d92bdb558))
* api method bug, correct typos ([#287](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/287)) ([b5a28ab](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b5a28abd635b173ac784ec31d522c475c2550bc7))
* audit fix force (without breaking change to react-scripts-ts) ([#1180](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1180)) ([01ffe03](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/01ffe03ee27cc5e67e33525503bc082112542d5a))
* autoscroll ([#27](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/27)) ([0047942](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/00479423b60637a804f1b2f203d7b9072ed37f34))
* autoscroll ([#29](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/29)) ([0a37dc7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0a37dc7e1a94bb1875de5a5a5ebeb5680bb7db0d))
* await missing on InitSessionAsync ([#318](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/318)) ([1b292d6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1b292d6f8c089860079ab65246d308a90518e387))
* back to BB preview 1.2 ([#355](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/355)) ([16de2a2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/16de2a2afe19e29aebe2100cf0f9ea7476e494ef))
* bad card match ([#1284](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1284)) ([44caf2d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/44caf2d1c69ffa3a1511c2215d7c393f16bfddc6))
* bot port undefined ([#1165](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1165)) ([b64d293](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b64d2937961e03ac7600dfe4d0f7f69124944b30))
* bot port undefined ([#1169](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1169)) ([61ae5e8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/61ae5e83f1c1b9ca5305b2fd96b7ec7ea2e7706d))
* bot port undefined on refresh ([#458](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/458)) ([d55012d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d55012d29061f357bb1addb512b746fee53e1229))
* bug 1501 ([#349](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/349)) ([dbc03c4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dbc03c41b0ad149bd6673ded2b4a9d6c799566ec))
* bug 1559 when wrong bot all edit should be disabled ([#1121](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1121)) ([2e8d3e1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2e8d3e175b0cef2a3cf34bdb9272a8ef0041f63f))
* bug 1717 replay error regression ([#392](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/392)) ([1dd3668](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1dd3668c8fbb094c428867f950ec7b26b6c18340))
* bug 1736 buttons ([#397](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/397)) ([51dd94f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/51dd94f0fe03efe7e8035a6bd753b5f32a5b532b))
* bug 1738 start session populated on replay ([#396](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/396)) ([6c46e07](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6c46e07d70d59c9848ac3cae389ae368d21a5a55))
* bug 1818 ([#409](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/409)) ([0be0d6e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0be0d6ee098b699dc5c3351a1776aa7935bc91d5))
* bug 1856 handle errors on bot api callbacks ([#415](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/415)) ([9232fc4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9232fc499b5d7f87ae8dc5c7d041202419044914))
* bug 1870 checksum error leaking through when restart bot ([#439](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/439)) ([df4ec49](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/df4ec4925b66b9195d8c1e7d36c6e4d385045d63))
* bug 1923 prevent lost work when editing entity ([#1105](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1105)) ([0cbced3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0cbced3a8bc8126d3e00f76740af1a0592dcb3cb))
* bug 1927 enum error should show values ([#443](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/443)) ([8ef46f9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ef46f99b8c67e9ec6887b3d5d547bfeb49397c9))
* bug 1956 replaced entity indicator not working everywhere ([#1077](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1077)) ([667402e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/667402e3b40e873328c5c6e87a0c6520276c0920))
* bug 1972 tags and description not saved on logs ([#1079](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1079)) ([7a65eff](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7a65effced6b1a52578c5b864d4838bc282e8934))
* bug 1976 continuing traindialog creates log dialog ([#436](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/436)) ([50f4922](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/50f4922c19731d2483415ec4d6ace0d5bb9cf951))
* bug 1982 can open multiple entity pickers ([#1120](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1120)) ([1f9a02b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1f9a02bc6183af7677c49face6f4d3c2f9c0caff))
* bug 1993 Import CL from file is broken when hit enter ([#1088](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1088)) ([2e84c75](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2e84c75abd72c7289aeeb533faee6aff6ad5ef02))
* bug 1997 filtering by first tag doesn't work ([#1091](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1091)) ([58a6b22](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/58a6b22fe74d920f74e1a93e0f082bc62651a4da))
* bug 2000 settings value flashes on save ([#1093](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1093)) ([e03906d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e03906d986ae365d1f216bc5ed376bb8cfb3cb93))
* bug 2006 replay loses entities saved on onSessionEnd callback ([#438](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/438)) ([59a7607](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/59a7607d50e1abb23166e560467e563303c02f5d))
* bug 2008 abandoning log dialog doesn't work ([#1089](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1089)) ([a427071](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a42707147fc37e948a9b3b2673e3daf57855d58b))
* bug 2014 changing of endsession action should be allowed ([#1101](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1101)) ([f4fdc8b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f4fdc8bac2e9193ad02218cd3eb069fa5d96c2ec))
* bug 2024 abandoned log dialogs don't always go away ([#1097](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1097)) ([604bfae](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/604bfae938ebe455d09076797a730d2750945219))
* bug 2026 endsession edit lose tags and create extra train dialog ([#1100](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1100)) ([908494f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/908494f2ee423edc6fa705fea3ef876599f0238b))
* bug 2028 give warning when multi-tag non-multivalue ([#1115](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1115)) ([d0ce64c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d0ce64cbc453f17c88a5fb081ccc93e9784183f9))
* bug 2031 description and tags leak to subsequent train dialog ([#1112](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1112)) ([3370d6e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3370d6eebaef53d4dd56e1220ed3c210f19f6dfd))
* bug 2032 endsession creates extra traindialog ([#441](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/441)) ([1b0496d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1b0496d0af2e735dc9edf88fd4d686287bf60c9b))
* bug 2032 extra train dialog creation when using EndSession ([#1111](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1111)) ([5e8cec7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5e8cec7ba120ac2865293e7df04c175571320660))
* bug 2045 tags and description not preserved when editing td ([#1117](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1117)) ([b10e5e8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b10e5e8134e8a134f23fbe10dd6a2239d6ecf683))
* bug 2049 action not focused in action scorer after non-wait ([#1118](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1118)) ([cf9ce84](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cf9ce8479e60cb79eaa5a2edcfa38cf642f75995))
* bug 2058 bad replacement call when not needed ([#1125](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1125)) ([80e7be7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/80e7be768f6e77047205705600e2c68daed10b10))
* bug 2059 internal label confict errors ([#1128](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1128)) ([5529fc5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5529fc54b12918cebe3ccfce6b913ed08a5cf2bc))
* bug 2059 invalid self-conflict errors ([#444](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/444)) ([f23aaad](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f23aaadfedd8cd45c71d02cd2fde5d0acba18aae))
* bug 2067 onEndSession and intialFilledEntities issue ([#1131](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1131)) ([bd96d5c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bd96d5ce426c037b5d4c52175ea328102bf96547))
* bug 2076 issue with onSessionEnd and intitialFilledEntities ([#446](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/446)) ([dc37303](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dc3730396a1a62126842997ca69bd0ea0790489d))
* bug 2077 treview button background is sometimes wrong ([#1134](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1134)) ([1ee04a4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1ee04a40bcf4d2c9505cb8770ba806161a51efd6))
* bug 2078 deleting pinnned item results in empty tree ([#1135](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1135)) ([fda2321](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fda2321066796d106d07870a478ebe920f614332))
* bug 2079 change display of merge dialog ([#1139](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1139)) ([7043178](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7043178ae6a1e0777922f0f1596df8a57629f9d5))
* bug 2081 highlight pin item when selected ([#1137](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1137)) ([9a8d79f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9a8d79f29f841f52de78b3028d35580ba95c1913))
* bug 2082 search field erased when return from tree view ([#1136](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1136)) ([e8bd93a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e8bd93ac7bd33dbbfbe05ddd3616ab8463316393))
* bug 2110 ([#1241](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1241)) ([67ae486](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/67ae486346d64c66e07652a8a08e1704d846b31a))
* bug 2142 inconsistent messages ([#478](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/478)) ([bc6e6d6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bc6e6d63f1594f4cea446acb05028f006f618afd))
* bug 2158 disable tags description when model not compatible ([#1229](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1229)) ([f8f64aa](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f8f64aa47cbaf1bed781bc6079f32f8ce652dc36))
* bug 2163 overlapping entities results in bad input render ([#1221](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1221)) ([058d3fa](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/058d3fab1d5d0bbdc5c2739a2eab403037b4e859))
* bug 2181 dubug messages leaking to wrong conversation ([#477](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/477)) ([f5787a1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f5787a1d4c7cdcb546cd9581fb8734e0f852c686))
* bug 2185 missing error message ([#1216](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1216)) ([1967392](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1967392861d5eec46c727a40ccfa52418c8ecc7b))
* bug 2186 buttons need to be disabled when editing not allowed ([#1217](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1217)) ([5a8e08a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5a8e08a7eb174f5770802aa425db3fd4c7d1bc35))
* bug 2187 restore legacy card types ([#54](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/54)) ([78ad250](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/78ad2502390dd5d5762b11be3e2dba528b5cfdf5))
* bug 2187 restore legacy webchat card types ([#1222](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1222)) ([e076f0a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e076f0a497e6a3b5044c024d021ee8e7e8c045d8))
* bug 2191 Merge failure ([#1227](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1227)) ([66ae12c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/66ae12c0f5112a60863f02bad82807f003246d10))
* bug 2193 ignore card button click after end session ([#1223](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1223)) ([e59130b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e59130be9e82572a7f5b16bd7358de1fe3b073e2))
* bug 2196 prevent multi-close on same session ([#481](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/481)) ([ebe6596](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ebe659622edbed0b05e98473e90bc1e7c344b5f2))
* bug 2201 protect against empty messages - e.g. buttons ([#1231](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1231)) ([ab2d841](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ab2d841b142128a0029b9284d67c2f958d8717e4))
* bug 2201 protect from empty messages (buttons) ([#480](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/480)) ([b637210](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b6372107b60d9cad7cfb471a065a615f7844204d))
* bug 2202 render error on session actions ([#479](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/479)) ([b6e58d2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b6e58d276cfb07da28ebebade9a1d3b1aded2c36))
* bug 2246 when modelID is set, can not run in UI ([#497](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/497)) ([294aa59](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/294aa5927be8717a2514159f4c78a1bcc936a7ad))
* bug 2249 pick invalid action when model untrained ([#1381](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1381)) ([5401a55](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5401a55fbb438d6b62ee21250e0829c3eab809a7))
* bug 2305 save as is fails on merge ([#1334](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1334)) ([699a993](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/699a99331ccefab341e16a6b48efd0015a1db602))
* bug 2350 red warning when not appropriate ([#1379](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1379)) ([2860203](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/286020367c0bdb5ba95e6ee9f6f51a41bb999231))
* bug 2356 ([#1404](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1404)) ([2764547](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/276454722eeab899da8a449ffe75093181b7e5fa))
* bug 2356 update train dialog validity flags on replay from train dialog list view ([#1405](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1405)) ([3e3bd4e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3e3bd4e8e0964b1d0870a5fe84e6430fce1c728e))
* bug 2382 reprompt and expected entity are mutually exclusive ([#1398](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1398)) ([baaf764](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/baaf76453801a6dff185b55bcb558e0a120cc433))
* bug 2404 action scorer not showing memory values ([#1402](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1402)) ([b20e2be](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b20e2be5d0ce1936c512c9ebd6f55f011aad627e))
* bug 588 flicker when closing chat window ([#1122](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1122)) ([119b1e6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/119b1e68bd50321aaaa197bbc7864962d64c24a3))
* bug bash bugs ([#385](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/385)) ([b57208b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b57208be5327eeba54cec461baa490ec9cefc96d))
* bug in testing matching train dialog ([#1071](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1071)) ([a89df8a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a89df8a7def6575d98efb8885e362fa511d323fa))
* but 2003 label conflict dialog not showing up ([#1092](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1092)) ([fdc67cc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fdc67cc83887e507f3bd8ae17247e5ee1be4fba6))
* catch permissions error ([#320](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/320)) ([5e70461](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5e704612723fb0a9d36f11a1af20a0d1702613d6))
* change fromhistory to fromtraindialog ([#1299](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1299)) ([500199f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/500199f85cbcef6a40c920146ecaf66a98774674))
* change log level to info ([#304](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/304)) ([ce5e663](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ce5e6635d5228a1e4a29f33e66a75b476d0e3f91))
* change return type of OnSessionEndCallback to allow void ([#310](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/310)) ([3b70cf8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b70cf87ef643bd73d81db1cb15649fc52767dee))
* changing modelId in emulator ([#315](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/315)) ([51b23e1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/51b23e11472db41268e72ba2dcbcb0a1e88b1eb0))
* chaning ui app can impact emulator ([#311](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/311)) ([ed242cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ed242cd4816e322c62c4f87a4ddbdafb75623c06))
* clear selected activity upon new user input ([#49](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/49)) ([4714074](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4714074438ed19eafd57e3ff0725b1dad1eea076))
* clMemory uses convId as prefixKey when not in training UI ([#468](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/468)) ([56dbb7f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/56dbb7fa8426d76384624f3d6cf2c09e52778c3f))
* code action name ([#1309](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1309)) ([ab5fe48](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ab5fe48867afc6e14a37b887a17d8dee4c517904))
* code review comments and autosave ([#1239](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1239)) ([4a6f218](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4a6f21805d79f72bd6db9d3ec3ac50db5879cd31))
* conersationid not set ([#305](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/305)) ([05cd8dd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/05cd8dded09ac7cb1a52fe5f49e60f6f9582eb41))
* conflict filters ([#362](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/362)) ([5b71289](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5b7128936c4f186de3c7aa706f2ddaf400c6e41a))
* consolidate dialog editing logic ([#1109](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1109)) ([68948af](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/68948af44e233acf323ef403e83cca7cae64d5a1))
* consolidate LogConverstionModal ([#1209](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1209)) ([f0cc6cf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f0cc6cff9544fdfbbd7d345cd98b9d1e6cadb2bc))
* context object not available to onSessionStart ([#296](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/296)) ([16083f2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/16083f2e0b33e2fb8ca3dceb0700037ce186ba8d))
* conversation mapping bug ([#1220](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1220)) ([a264057](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a26405796b64fc08439ce3954c25ae1f99a312c2))
* convref reset when app starts ([#306](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/306)) ([4458c99](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4458c99e678e52f2935a281cd9dd3350cd244cea))
* correct memory for input only round ([#1281](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1281)) ([6669d22](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6669d2284fb4fd6709ab462eacb50e7d885f8434))
* detect api change ([#1296](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1296)) ([3aab671](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3aab671505a8e9ec8e75c7a42a8b701b2d53f2ca))
* dialog import code review changes ([#1261](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1261)) ([1a10995](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1a10995a8629c4c1a3164bfa80856d6c16bf4508))
* disable enum entities ([#1081](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1081)) ([f037376](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f0373760a3c8a4d6bbef8502f2ced4a3719200e4))
* disable merge and treeview for now ([#1078](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1078)) ([a373680](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3736809c53ff82ab79e13434220b300ddaae9c5))
* discard overlapping entities for proper render ([#1400](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1400)) ([3c1bf9d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3c1bf9d35a89323ae12f8e5e79756bc71a8e6d06))
* do not call entity detection callback after non-terminal action ([#377](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/377)) ([d68ba16](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d68ba167734bdabe9998648d688ea0ab11502e50))
* do reset matched options to default ([#1106](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1106)) ([61d6a9b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/61d6a9ba8d5f4e54f3be279649091c4da0ac12bd))
* don't pop down on last activity ([#33](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/33)) ([d0dd82f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d0dd82f845f273869f24b4ac6939f75b41afcd71))
* don't reset matched options ([#1080](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1080)) ([4c19c64](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4c19c64322d59dec1e6810109e6734d24efd67e3))
* duplicate actions / use undefined suggestedEntity ([#1154](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1154)) ([6cb40d2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6cb40d23b3071bf84301b0ae126853004877fcb1))
* empty string fallback for undefined locale ([#1397](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1397)) ([2f1eb36](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2f1eb360b7a346f90e684cfefe10e7f4aecb8901))
* enable strict checks for typescript compilation ([#286](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/286)) ([10404a8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/10404a8aff8ec9ffc68983252acdc9b1a2f45db2))
* encyclopedia entity no longer supported ([#317](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/317)) ([321608d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/321608da9ffba0616602f2dca30fcd26599d41ac))
* end session sort value ([#1087](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1087)) ([f4de1c0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f4de1c00c18ddc946ce6e41c1504e49ae4ddafbb))
* ensure dialog has at least one action ([#1075](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1075)) ([2fc1155](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2fc11551285689ddaf3a1b28867206670fca0a96))
* ensure state is readonly ([#1016](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1016)) ([ffeae92](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ffeae92656987390c941da2011b42fc72397a876))
* entity error popup ([#1202](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1202)) ([86b8254](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/86b8254ea6f58923b068c919b00dac072c074f76))
* entity picker reset bug ([#1099](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1099)) ([cc99f4e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cc99f4e9e329cf77c03ec2a5d20f61b848278fd6))
* entity tooltip gifs ([#1085](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1085)) ([f34c8ff](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f34c8ffc86ede0a00b2c7f253fe465ef80447b90))
* enum value max length ([#1275](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1275)) ([b0656c3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b0656c37cc852093375d9240196bd644610691c8))
* exclude converted log dialogs instead of filtering ([#1145](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1145)) ([7eaa609](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7eaa6090b750e7fab1f880e8199270dc22ef6f6e))
* export callback types and update comments ([#307](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/307)) ([89a6c65](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/89a6c657d9f09e27d30089aa8ae9040b9285be57))
* export memoryvalue ([#393](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/393)) ([94c0a5b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/94c0a5b1d43a1a203ee3d53044bb281f9977a016))
* fail to clear first item when selected ([#39](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/39)) ([33f6efb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/33f6efb9936a4081886bec88b5ca231b475a2a9f))
* file import selector ([#1201](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1201)) ([f0b442e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f0b442e7a7dbae4647bada047d77f168850158e9))
* fromhistory fromtraindialog ([#505](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/505)) ([8878723](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8878723e1d3f962dc0398860dbd6cad4840f48f3))
* get conversation id from conversation object in msteams ([#459](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/459)) ([3e741c1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3e741c1e8abb5cb477d62d019e9d64285c61f5dd))
* giving import and create model modals more time to popup ([#1160](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1160)) ([a070a03](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a070a031d78e392e7ef7b8c965b5a72f727ce94d))
* handle bad actions ([#380](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/380)) ([9110366](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9110366df01eb05a20aef0907a25900333ddba9c))
* handle edge cases for OBI .dialog import ([#1335](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1335)) ([013fab4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/013fab4295d5ed2f112f0b515917ab6fdf92ee82))
* handle null logicAPIresult ([#416](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/416)) ([6502440](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6502440bc72d6a7cf015234326069ea67548560e))
* handle wait non-wait properly in testing ([#502](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/502)) ([e7577a8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e7577a8a598bbf0a613655001f1cc25eb4ef5319))
* handleActionSelection takes scoredBase instead of actionId ([#1147](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1147)) ([2ad5e1a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2ad5e1af9ef0cabd00ab8ae4bf98c608bb6d5c54))
* highlight log errors in chat window ([#284](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/284)) ([cc8718a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cc8718abc564942f07b3934bf4a177c227be6565))
* improve LG substitution ([#1266](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1266)) ([2f5191f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2f5191f2fa129a82f68788fa8f0c409cf3655a62))
* improve test event ([#388](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/388)) ([5b02458](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5b024588688ae2ce45f0588e2b1f2a4a05794417))
* intrainingui checks appid ([#325](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/325)) ([84ba1f3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/84ba1f3d53cd4aa0b30e9e38b5523238628ad62a))
* issue with number of changed filled entities ([#372](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/372)) ([c24de70](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c24de70d7c3d626cfa74ff82ee771952d712a9d7))
* keep DetailsList in DOM ([#1310](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1310)) ([96300a9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/96300a9448db7d286221205b2b3b6f466c056422))
* log dialog delete confirmation ([#1205](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1205)) ([e9792f0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e9792f01260e5fa6dabac73aab881dd4d5891ae7))
* log dialog end after endsession action ([#312](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/312)) ([625dd60](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/625dd60cb9b8abdb287125f4dbb6bfc889e7b5da))
* log dialog search filter ([#1294](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1294)) ([29c3a85](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/29c3a852d2e9c23aac525cdf256df1c09a870369))
* log dialog testids, css selectors fixes, and package creator modal ([#1174](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1174)) ([c6d5683](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c6d56835d49db57e1d2486fec76d08a4523874c2))
* log searching through props instead of state ([#1214](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1214)) ([17dd527](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/17dd5270ec7a326e181a908224fa6951bb1d7798))
* log show scores ([#389](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/389)) ([541ddb1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/541ddb11bc71b2f7949d95bd8779e3456226d948))
* make callback assignment consistent ([#514](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/514)) ([c667159](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c667159ce427bd28659555aee622fec1404f8048))
* misc bug fixes from webchat and ui ([#475](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/475)) ([2d0362e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2d0362e620764c7407de493c9e4668d661bf40dd))
* missing api bot errors appearing in webchat ([#412](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/412)) ([a3c29b8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3c29b862da2e99e40cc08187346c19d6cab0a34))
* missing conversationReference in training UI ([#471](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/471)) ([d4420c1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d4420c1bc550d4d06f9ac0a897e70e3534eb9fc3))
* missing file error Mutex ([#313](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/313)) ([63a57b4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/63a57b467210c56aa4d5e5b6dae25bfe0f4a4384))
* move constants from modals/index.ts to types/const.ts ([#1314](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1314)) ([105a3de](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/105a3de7a9662620658e141fa68261a532100194))
* move init ([#30](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/30)) ([034e0d1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/034e0d1ceef0509abe4e428bc6dc54f598d8ceb2))
* name in use check when editing ([#1306](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1306)) ([88ef1b5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/88ef1b59e5d4ece90d1a5c307cdbb19c03002126))
* named timeout ([#26](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/26)) ([6b70bc5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6b70bc5a9467e0fd2b05d057dea8bb996d91ef7c))
* not call entity detection callback after non-terminal action ([#367](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/367)) ([6015d69](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6015d69ec90812b6b512027a1ed9db663c8fcf9c))
* npm audit fix ([#484](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/484)) ([f58077e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f58077e66ffc34e81bd9edb98b72b5a7d71395b0))
* npm audit fixes ([#462](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/462)) ([2a2f38e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2a2f38e4a5cf282c34ea22b5ca45a0620f3f2c33))
* null ref exception in actioncreatoreditor ([#1246](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1246)) ([919a84b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/919a84b0e4993a8ad75bc4f8c6410ba6eea48a00))
* office fabric warnings ([#1211](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1211)) ([6950167](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/69501679994ed63a92b165ea7e24cb676f2d26a2))
* orgsessionid not being cleared out on manual timeout ([#319](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/319)) ([a3b3c2d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3b3c2de3b372119609d4bb83d16bdbc750e1376))
* out of order validation test ([#44](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/44)) ([eb6e4b9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eb6e4b918ee143f6cd30d0a4b885b62e4d9caf5a))
* package version and chat ([#364](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/364)) ([f229cce](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f229cce86aaf7edf2a6d4c7ab9648316e0b83ec4))
* pass memory to GetRunningApp instead of initializing twice ([#487](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/487)) ([c4932e6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c4932e62f33273431b32fe5b6363945b6ad76410))
* picket auto selects top tag on dismiss ([#1285](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1285)) ([1236d6d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1236d6dd8c47ecde73ece25bb46fa35420a340bd))
* preserve isResolutionRequired when editing and add tests ([#1307](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1307)) ([01d118f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/01d118f9b575961961975e081c9f6882dd1a28bc))
* prevent auto adding new end session action if not available ([#1083](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1083)) ([0bec51f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0bec51f80650c1db78d425bf115ad67438c530b1))
* prevent caching UI ([#1133](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1133)) ([ed1290d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ed1290d74da06becf088b305b99d7c8b07d0bfae))
* prevent Cannot read property 'focus' of null ([#1199](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1199)) ([40e3806](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/40e3806637dae4b4dbe10a87559e16fea3dc4f29))
* prevent crash when accessing undefined selected option ([#1396](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1396)) ([d8903f5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d8903f5053ee1b253f2de4880a86527e65393c61))
* prevent creating duplicate actions ([#1291](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1291)) ([b85ef7d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b85ef7d3d266ab597555edb553b433312ce63bbe))
* prevent expansion of enum entities when opening ([#1167](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1167)) ([a92148b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a92148bc039c98ff727cdb54c2980ffe90dfb795))
* prevent list row invocation when viewing card ([#1313](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1313)) ([eca320a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eca320ad4af6dadf0bb87a0fc48f69adb1cfc97b))
* prevent poller undefined issue ([#1193](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1193)) ([1bf593c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1bf593c02f7a3bc0b232866f2ec3add378f7f178))
* prevent queryselector of undefined ([#1403](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1403)) ([6dfe8bc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6dfe8bc8917c08ea142a6a335bd7bce61912f5b9))
* provide empty list for missing entities ([#360](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/360)) ([f2e8c47](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f2e8c47a6cdd64427023e681ba886f3a9949c694))
* recent ui change that broke tests ([#1264](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1264)) ([3aab2fb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3aab2fb6be0475c9ea46a461ebf6474c6d9bf02a))
* recompute action conditions when fetching dialog activities ([#510](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/510)) ([26c408a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/26c408a89eb100e966c31026b049a4321874077e))
* recompute conditional tags when entities change and add tests ([#1152](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1152)) ([a9fa9b2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a9fa9b22f7f3941c90a12781843d336ad6690c3c))
* regression submit buttons not working ([#48](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/48)) ([552ad7a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/552ad7ad3d3c7bcfc51653affa2f4cc5e5bde7ef))
* release test selector ([#1384](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1384)) ([7956b69](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7956b696dd2b5baf825dfb50a4dfa4508798078e))
* rely on location.hostname instead of hardcoded localhost ([#1187](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1187)) ([4da0b49](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4da0b49815f87a5c9919d630bd3654d729cf1c8a))
* remove async from inner functions ([#435](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/435)) ([7d2e376](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7d2e376870d49bc0f487fdfbe586b3a5d8f5e2b3))
* remove bbnpm refs ([#288](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/288)) ([666b8f9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/666b8f9baf5e75fd2b04fff2c246aa84e0395906))
* remove deprecations and use desctructuring for params ([#293](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/293)) ([aed4e29](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/aed4e29a9dfc044061c4fa13f2a4c35f49042ff2))
* remove no actions return ([#1287](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1287)) ([25b6b1e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/25b6b1e503d0a174b6448edd3165883e1144ebb2))
* remove node cache ([#285](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/285)) ([aa3d40d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/aa3d40d0d82bbc17c27f71ac6d823da6fd023141))
* remove query param on teach abandon ([#1286](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1286)) ([560b1c5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/560b1c59a82c351577060712b057832e704a6ae5))
* remove stripping of prebuilt info ([#280](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/280)) ([028469a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/028469ac5f28cfcc6af0ec1338b6f5282496557c))
* remove unnecessary interception ([#452](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/452)) ([c714ca4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c714ca4b2ab92e32d253307c64b7846c6b2df227))
* remove unused path ([#472](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/472)) ([ce42614](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ce4261465cc61eb191e6a605b1faec8b7b65e378))
* replay on logic APIs ([#407](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/407)) ([0fccbbf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0fccbbf23b0d5de75babb719a32afe79db8f78d4))
* resolve 404 issue happening after session timeout in log dialog ([#423](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/423)) ([fe8226a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fe8226a0eb117c6acb8490e2a20498ee85e601d9))
* return information about functions defined in API callback ([#430](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/430)) ([b7e4386](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b7e438626e7799b8ef36bc3fcbf32a9f3fefcad8))
* round ([#31](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/31)) ([9555858](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9555858f3c335dfa6371c5ba996145b58b293e86))
* scroll timing issue ([#55](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/55)) ([2faebdf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2faebdf733e1fb10d9af22d5cd3ed49add290022))
* scrollbind ([#23](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/23)) ([a80202b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a80202b126100b82fed79bdd475c1b39f4884467))
* sdk -> 328.1 ([#400](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/400)) ([52a88cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/52a88cd2cc83ae31dd85be37398958c4d3ea3b15))
* sdk 0.307.4 ([#352](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/352)) ([73483c1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/73483c11effc6c99313a42265af1bca2fff21628))
* sdk 307.1 ([#348](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/348)) ([268f1b1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/268f1b149163c6fff2eb821791bad205c989f595))
* sdk to 0.353.15 ([#448](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/448)) ([a3ade23](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3ade2305050e56c1fe712130f0d38bdb868f3ef))
* sdk to 0.353.21 ([#450](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/450)) ([12673f3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/12673f38ff833912ec602629be1e2915f1e3cf4e))
* sdk to 0.367.9 for misc bug fixes ([#476](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/476)) ([c05224e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c05224e61bfac07e3f6425bc23d3d11d8c476e09))
* sdk to 326.1 ([#391](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/391)) ([2b20e8a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2b20e8a994e842cc6d33308bbacd468e16204038))
* session management ([#290](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/290)) ([63a36f1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/63a36f1b4a0a379fdd898268fabc35a094c0c5ac))
* set resolution for named pre-built entity in teach session ([#369](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/369)) ([2fe4302](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2fe43020bc053304a150b75e0aef7b81b98e5e69))
* suggestedEntity to undefined ([#453](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/453)) ([9558532](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/95585326cead6d7489ebeadcf3b6b4532921fcb6))
* test remove autoscroll ([#28](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/28)) ([6ab9769](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6ab9769944d90da2bb3ac131c3b61f8094c7ab48))
* tree view in main page with expando ([#447](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/447)) ([4f6c09d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4f6c09dd45cc6b17bb24f42efb250556b328ae56))
* udpate ui and restore memkey check ([#300](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/300)) ([83af22d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/83af22d651e7fded06c6e0b8120e71ea91f61610))
* ui bugs ([#340](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/340)) ([421375a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/421375af10da8f32d3efcfb37d4c5cc7c35cb74d))
* ui to 0.336.2 ([#417](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/417)) ([fbb3575](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fbb3575ae77b774260d03be2d5031d4cb7913fe2))
* ui to 0.338.5 ([#422](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/422)) ([1decc58](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1decc580d8522025ab95d968d423a890c0ca434f))
* ui to 0.353.9 ([#442](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/442)) ([f7156d7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f7156d794fecaf9c22de8f73d09cf117b13b1eab))
* ui to 0.413.7 ([#520](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/520)) ([01823f4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/01823f4e3fd94d39be7895f686fecc375ed440ee))
* ui to 326.5 ([#394](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/394)) ([0883208](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0883208f3a7b7c7a4393716d4340019c455b2591))
* ui@0.353.16 ([#449](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/449)) ([a08d2da](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a08d2da6d46b1314db6d662b4faa8580def0f758))
* up limit on bodyParser to 10 MB ([#331](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/331)) ([968ddd1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/968ddd18c1f235ca8d2aaeac76cfb863423fd168))
* update apiAction to return object with logicResult and response ([#329](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/329)) ([2283547](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/228354737d92c1de129a5912b93027b1e5ee2d33))
* update dependencies ([#461](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/461)) ([c18b9bc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c18b9bc924e411e672fe0d560348e98314e586b9))
* update models and sdk ([#414](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/414)) ([8c82f01](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8c82f01432157fb63e8bbde6dedc068c6242f9b0))
* update react, direct line and npm audit ([#51](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/51)) ([5135e12](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5135e12068a34bd9b9ae5752f466fc43ab5022a4))
* update samples ([972da67](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/972da6793c6d9a3b8deee63c71131b2f503f59ff))
* update sdk and models ([#413](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/413)) ([c7ebbe2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c7ebbe2a10fe94d7e1c6f4fb2ef875e3ab60207e))
* update sdk to fix Teams channel ([#383](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/383)) ([e10b94e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e10b94ebb7d2af9068ce8e8b0ea935b4d8bdc9cf))
* update ui ([#303](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/303)) ([9595f4e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9595f4ee02d949adc4e8d6d295059ed93d1884a8))
* update UI ([#374](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/374)) ([a0920dc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a0920dcab58b3e56f63632daa364c1275cd7283e))
* update UI ([#457](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/457)) ([eee9ead](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eee9eadaaf197d314bc0b851a70dd49b9c677feb))
* update ui [@0](https://github.com/0).295.21 ([#323](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/323)) ([4143f25](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4143f256e29ea526fa65913a3efae4f6ffa909f5))
* update UI and Models ([#289](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/289)) ([f7e3002](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f7e3002677978db6e6af241c5318f238490a2771))
* update UI and models packages ([#427](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/427)) ([23bc21c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/23bc21cef1ac3a71eb144c42cf77a8960e8fbb1e))
* update ui and models packages ([#437](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/437)) ([dbbddc9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dbbddc9dfb9129e859220a422014b2432ebdb3cb))
* update UI and replay exception messages ([#363](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/363)) ([f416443](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f41644367045ee1effe235a33144b8a46e307189))
* update ui and set logdialogId from session ([#485](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/485)) ([57acd64](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/57acd64beb2499b03acf4cc3792ce59611f45540))
* update ui dependency ([#464](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/464)) ([c40080b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c40080b8159da9d49ad8f15ce86f871494e04ee3))
* update ui package ([#322](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/322)) ([0ae2a3a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0ae2a3a8ecc82b81be57e94987dd390050ad2d03))
* update UI to 0.324.17 ([#383](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/383)) ([a15965e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a15965e879a8270a8633a117c461ecafd0cced96))
* update ui to 0.352.19 ([#440](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/440)) ([090a330](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/090a330a533cbb1b70c662dac2f9c1380650e03e))
* update ui working train status ([#314](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/314)) ([3514715](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/351471514b46f7dff4ae60b33d8fac0bb3f94a80))
* update webchat via ui ([#467](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/467)) ([84f4c26](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/84f4c268d3dd8665a0cb5558f11fbe4e9e29d804))
* use AddCallback to accept object with logic and render fns ([#328](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/328)) ([d2fc89d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d2fc89d932a47053b4c0e6855c5789ebdeecc040))
* use async where possible ([#426](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/426)) ([0575ac0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0575ac0bc5df88ff81f0d09d7ec283676a954b22))
* use http-proxy to remove unnecessary routes ([#294](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/294)) ([0885fac](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0885fac54ed638d9c6e596de67ef0245ee6c8c76))
* use json stringify and json parse on logic result ([#330](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/330)) ([3e2950d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3e2950dc32c708246e46cfd5c41de1c81054571e))
* use object for querystring generation ([#469](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/469)) ([dc7a8ca](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dc7a8ca313c8b34fdbba05ced263a541fdee607e))
* use optional chaining and null coalescing where possible ([#516](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/516)) ([8c1e641](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8c1e6412be1272d6b8fbdd4b348721edecdc84ab))
* use radio button for action delete type ([#456](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/456)) ([818c01c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/818c01cf66db1645148dc044091e98c19975a9be))
* use types from BotBuilder ([#460](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/460)) ([f39e915](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f39e915171136512715ba389ba60fcec5d3c3b7f))
* value missing submit case ([#376](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/376)) ([da7c867](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/da7c86731a2be4e378b5c534071ad5dfbcd8cab8))
* various refactorings to before we fix hierarchy ([#490](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/490)) ([5c03bf8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5c03bf8ec3f41e19f186d72af2e8036c547de86d))
* wrong app possible in hybrid bot ([#321](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/321)) ([4f97db3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4f97db370cbf551cac1b99989647d8ac1e8f4c77))
* **logger:** remove slashes before path ([#276](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/276)) ([0b1547e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0b1547e9a03ce8258275779eef0df6471c168fce))
* 1105BugBash.C ([#1582](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1582)) ([#796](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/796)) ([7a4f047](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7a4f047475bd80a22eacebf9c0395420a9d7654f))
* 1586 - stale model data during model switch ([#793](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/793)) ([7df3e00](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7df3e0011b296a0b561c82f628dc8f82f906489c))
* 1610 - close button as footer bar ([#794](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/794)) ([a53da40](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a53da40ea2369ba338e92655ee9d1b0c736d7add))
* 1831 insert and button issues ([#920](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/920)) ([5ebc274](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5ebc2740ae3e2888f76c46a06c3375838f5e98c0))
* ability to view and edit train rounds ([#683](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/683)) ([c120e51](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c120e51bb699f84ba9a39603d1dbb4476a25e125))
* accessibility - icons are tab stops ([#625](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/625)) ([6d272f2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6d272f2b2b4204facd8361b161e0fdfccb3cca16))
* action editing ([#651](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/651)) ([6f3a720](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6f3a720fa0e82358ff59a6f4041fc68220d67d30))
* action payload - scroll highlighted entity into view ([#963](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/963)) ([e542dbb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e542dbb7cf2917dc9707b0629d92553f858c11fd))
* activity highlights ([#878](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/878)) ([11b0721](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/11b07214011cb074d3faddddb4f3c763dc3e4c34))
* add ability to remove poll after deleting app ([#696](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/696)) ([ebabfc6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ebabfc630cf120bd0f7fb132bde039c5311ca83d))
* add ability to save result of logic function on train score step ([#122](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/122)) ([62e5e13](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/62e5e13e0fd9abab6d139a3e4005995163f9c05f))
* Add AppDefinitionChange to hold transformations ([#126](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/126)) ([d53f859](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d53f859c03f26f308dbaf05349bf8f0f45c74a2f))
* add aria-alert for spinner ([#633](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/633)) ([565ee25](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/565ee25c69038a669d2c025341ead03a956acf5d))
* add aria-live area to announce Retrying when Retry is clicked ([#632](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/632)) ([7dfd800](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7dfd8006c1e92d6c3a972f31092cfa4660ed793a))
* add ChangeEntityResponse ([#112](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/112)) ([1f54aea](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1f54aea24432b6d9066d7ce1122439b633e5f60c))
* add constant for max enum value length ([#212](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/212)) ([c5ede46](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c5ede4616b444e832511d256c7b50830491064e6))
* add coveralls badge - auto update docs - and fix package.json ([#176](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/176)) ([d54c30e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d54c30e083978974a3516fef53406b72d5c8eb37))
* add createdDateTime to models ([#124](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/124)) ([4b44c18](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4b44c183fca21cd7ec34b1af79b9517c562e6c58))
* add fallback to use entityType when builtinType is not available ([#613](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/613)) ([a5c3c72](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a5c3c72bf9c2fccf59ba9afc71b1f296b804e121))
* add intl message for action type codes ([#622](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/622)) ([4663f36](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4663f36dc84e7d8a2c18da71fd679eca61d0267a))
* add labels to search inputs ([#626](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/626)) ([06051c6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/06051c6bff56fa448bc93f90bf989a51c44658f5))
* add lastModified to creation of models ([#694](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/694)) ([4099d29](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4099d29e3f399b978a56d3632454eef395ef605e))
* add lastModifiedDateTime to objects ([#125](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/125)) ([0469b51](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0469b5102eec2c20d0a566dfecf7916a9eccf0e0))
* add placeholders for empty lists ([#616](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/616)) ([be263b7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/be263b7378965297184faef1b7b29e8bba6b198f))
* add requests for model training to missing cases ([#940](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/940)) ([54cbd6a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/54cbd6a337a77541a4197f357300605ef07b36d6))
* align entity picker with fabric and allow minimal height ([#1019](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1019)) ([8e4d7a9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8e4d7a9222628e755decd43d523b4773b6013ac7))
* allow negative entity creation in single call ([#603](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/603)) ([e397abb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e397abb85976b52f9e257fdb0ce30ccb8fc21ea6))
* allow opening action editor on same row ([#601](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/601)) ([79b87fb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/79b87fb2091cb8529f5f304ba9cc847702b936c3))
* allow opening model by clicking anywhere in the row ([#959](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/959)) ([239f8bc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/239f8bcdb281d79480e9c04e2d5e36f088f284e0))
* allow refresh/resume on app specific pages ([#654](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/654)) ([be637a8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/be637a896b27138723aea64efa0613b969aba42d))
* allow updating entity properties when not used ([#602](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/602)) ([9c5153b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9c5153b7676d4b616cee17e39ec43909509cf43c))
* alt input tool tip ([#853](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/853)) ([4bfac2a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4bfac2ab1f2a9c2f137588075338017af64aa619))
* alt text not working on log dialogs ([#720](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/720)) ([86f9a60](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/86f9a60234fe464e33d03e69e341e4500fbdf132))
* always disable isProgrammatic checkbox if editing ([#669](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/669)) ([769570d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/769570d1570637fe5636e3d5358a25399e4774c2))
* api exception ([#161](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/161)) ([1a5ffe4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1a5ffe42a9140c9aedb96baff19ef08764abd621))
* appveyor update ([#809](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/809)) ([d63d85b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d63d85b8bff75868cd0403157714e4c4b6b8bf75))
* assign action payload to score action payload ([#668](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/668)) ([c4d063c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c4d063c004b00678fa8396d18c6afb0b8ea7920e))
* auto port reset ([#655](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/655)) ([03b03e4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/03b03e4f47156e537a167ac29bb25cbd21fc8f84))
* avoid tslint `react-unused-props-and-state` warning ([#974](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/974)) ([c82f774](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c82f77431694592920da55ecdf7397a92c85fe0d))
* better error handling ([#835](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/835)) ([ede69f8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ede69f8495b321656594c2cf73a0d95c998104c5))
* block builtin- prefix for custom,programmatic entities ([#981](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/981)) ([87cbfad](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/87cbfadaca83b93fd22e99ddef7cc7cb248ef8e6))
* bug 1201 - copy entity values to clipboard ([#961](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/961)) ([72b5869](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/72b58693768fa772a7a35f9be8e8dd0f7f5fab26))
* bug 1495 -add training status to edit modals ([#763](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/763)) ([8b1219c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8b1219c16bd4b715a25f9c5f30545c885e785951))
* bug 1495 add training status to traindialog ([#757](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/757)) ([093684e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/093684e2e8eac7c3ffb26a214ce7ce177247159d))
* bug 1504 - scrollable entity list ([#810](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/810)) ([edc3f61](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/edc3f61908bb620f538c035f05f3504868bacb77))
* bug 1508 ([#721](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/721)) ([a0f1bf3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a0f1bf3ffa0efd20ded3658aa3bdee6f626561cb))
* bug 1524: info icon re-alignment ([#754](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/754)) ([d5d6dd4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d5d6dd4d8b63b1b34bf56add36b46ddd34aef025))
* bug 1541 - fix model date created sorting ([#764](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/764)) ([1e387f6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1e387f676895c97fdf46986c52c9b8188f982e3e))
* bug 1542 - column sorting inconsistency ([#778](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/778)) ([a4399f1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a4399f16adefaf6f74a5b868583ced47e2c58065))
* bug 1574 - overlapped status text ([#768](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/768)) ([81c8f70](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/81c8f703ea17ca4e06d17c9773a7e25b32a9c516))
* bug 1574 - prevent status text overlap ([#769](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/769)) ([4534c01](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4534c01861b12c603903780d095cbf95c1d69cbb))
* bug 1575: push close button down to panel gutter ([#770](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/770)) ([42eb437](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/42eb4370a9287944439cbc9d90539ca3832c0afc))
* bug 1581 - model lastmodified date ([#800](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/800)) ([f8bf099](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f8bf0995870f3e08c984babb420f20be964b062d))
* bug 1586 ([#848](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/848)) ([0cfc02b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0cfc02b918c79c32cad03050501ce123e28f2005))
* bug 1589 - filter de-selection ([#780](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/780)) ([e5f0ff5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e5f0ff530fe9f55a69ff126aa53a26871626743f))
* bug 1591 - creation of duplicate named models ([#781](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/781)) ([064881d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/064881d0f4655562e1abb09a11c82bbf6ea19f57))
* bug 1593; scroll bar hides status text ([#782](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/782)) ([12a1275](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/12a1275a729f6b415138649bdbf184b61742c0c6))
* bug 1596 ([#861](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/861)) ([e2fe8cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e2fe8cdb77f3f7823d895f1a5f2b1b91311080bb))
* bug 1597 - smarter abandonment confirmation prompt ([#790](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/790)) ([e9707c9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e9707c90b9a0867af423d5d60112c871c12d29fa))
* bug 1610 - restyle close button ([#787](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/787)) ([bdda5ec](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bdda5ec508c666a9a8067d92913b3ae22ac5ffca))
* bug 1626 - more polished tooltip hover styling ([#807](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/807)) ([6a318b6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6a318b6afc04322dcb7e15427279ad21d7de94ba))
* bug 1634 - filters don't accurately refresh their ui ([#813](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/813)) ([4e7e430](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4e7e43089becc4499a8c2f2271d156a705f04c93))
* bug 1636: UI should enforce max model name length ([#823](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/823)) ([cb3f8b8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cb3f8b8a655cd230ee28fab1e91a927dce9aecd0))
* bug 1639 ([#805](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/805)) ([bb4a12e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bb4a12ef15dc5ef756c647eb86bc238388862766))
* bug 1642 - help icons need transparent background, not hardcoded ([#812](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/812)) ([0dde5c4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0dde5c4e58b9b9031c6668115d899ce61804dac4))
* bug 1642b - help icon restyling ([#824](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/824)) ([4da3b0a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4da3b0a651a6dc7a7221be505da4a95cfd566145))
* bug 1645 display error fix ([#821](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/821)) ([5064051](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5064051909474aa09f4b318ff612f62a2b21bc54))
* bug 1647 luis deep link changed ([#818](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/818)) ([af359cc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/af359cc4b5167f33afe329f70bb1e7ab035b944a))
* bug 1648 - GUI string fix; "Entity Memory" => "Memory" ([#819](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/819)) ([b9d4961](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b9d4961c4e337d83b3103f6a92f27c48d372b72a))
* bug 1652 branch save button disabled ([#822](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/822)) ([ea88c19](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ea88c195e837300fa0b68279b1a39732cd387663))
* bug 1653 changing tags broken ([#830](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/830)) ([66715c1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/66715c12b4b8e4017cd4f02b703de8a753d0b557))
* bug 1654 text variation prebuild conflict ([#829](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/829)) ([50252cf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/50252cfc174062f461cbb89d037dd7d849923d61))
* bug 1655 - warning message styling ([#828](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/828)) ([4a66e89](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4a66e89de2a3e4696c5b871963e6b38cab3469ae))
* bug 1655 - warning msg not styled correctly ([#842](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/842)) ([a420249](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a4202498c2b8f504e18a5e80ee5a407d7eb6e4c2))
* bug 1657 - add right margin to training status indicators ([#826](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/826)) ([94e7347](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/94e734714cc85809bca820eb3fd2c40274989aa5))
* bug 1661 - improved placeholder text for filters ([#825](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/825)) ([b36f9ec](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b36f9ece8f75e44fe63d383d3e797b0ec45a5db3))
* bug 1661 - more concise filtering dropdown labels & "any" ([#837](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/837)) ([faa8232](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/faa82321c2fb049618a720220f72e4d890c26946))
* bug 1665 - check value length inside ENTER handler too ([#838](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/838)) ([bc479aa](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bc479aad7ec1689dda159bb99f3a8cea2242258e))
* bug 1665 - warn on super long text field values ([#831](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/831)) ([eba6250](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eba6250479b6c3846d65ed1e4fae88292dd9bb25))
* bug 1672 - set focus on entity name by default ([#890](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/890)) ([bb6d734](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bb6d734cb60575b704be5f0f3efadbf9cde275c2))
* bug 1675 - UX: shove error panel close button flush right ([#833](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/833)) ([135739c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/135739c71731edd4f393618c236941ed4f0f5acf))
* bug 1679 ([#843](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/843)) ([fdc4ae3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fdc4ae3d2165d1dcdfc7decdf0613dcfafaec780))
* bug 1681 - smarter create/lastmodified display ([#847](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/847)) ([bc9be08](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bc9be08611afc705834f9373994b2232e743a409))
* bug 1681 smarter model creation & last updated times ([#839](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/839)) ([7765668](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/776566870dc9161a240c88508e1f49f0c3bf439d))
* bug 1684 ([#846](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/846)) ([13ea000](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/13ea00059c9a82ede0f34658018471e898f018c7))
* bug 1685 ([#845](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/845)) ([7b366e7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7b366e7138584134c1b1e2420335fe39c14b4ba0))
* bug 1688 ([#844](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/844)) ([562bf46](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/562bf468bf1fd2e04b256d1171fc985d251bbd0f))
* bug 1697 - switch timestamp logic to consider span, not calendar days ([#851](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/851)) ([841dcc9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/841dcc98cbcae4bd620c75d6d0cd79f24dd3270b))
* bug 1700 - support ENTER on model import if name & file selected ([#891](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/891)) ([9fa5651](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9fa5651a8c34d16496696b6e82d332bf1a990f9f))
* bug 1702 - fix typo in tool tips, sys error message ([#862](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/862)) ([04961bf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/04961bfe6545083258dcbc26e38ea5b3a2c334d4))
* bug 1702 - typo in tooltip ([#855](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/855)) ([31a5e57](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/31a5e57d6ff337abde35e92bbb46fea3c04e7ee4))
* bug 1705 ([#888](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/888)) ([5c23fdc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5c23fdc2e4330b94a8e0ae49b50135666b16b855))
* bug 1712 - spelling, grammar fixes for tooltips and app string table ([#859](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/859)) ([f8fd4b6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f8fd4b6cbc269c7d8dc23b8b9ad0ed600095faa3))
* bug 1715 - pull lastModifiedtime from Log Dialogs ([#857](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/857)) ([1269c2d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1269c2dea926f95749fc1932f90cddf7e5da91b2))
* bug 1718 text change ([#863](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/863)) ([0d4ce67](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0d4ce67185e3446bd3c2f47233d3ee311875f3e7))
* bug 1719 - new tooltip GIFs ([#903](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/903)) ([109c35b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/109c35b28eb17a7ba95f0fefa971c877c6d373db))
* bug 1719 - partial - update entity extractor tool tip ([#886](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/886)) ([b71fd4c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b71fd4c761743db85151eb3430c485cc6d6e3866))
* bug 1730 action should be available ([#870](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/870)) ([acf13c9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/acf13c99a06efd9c48ab93da3814f0560a45ad8c))
* bug 1758 - block second "Master" version tag ([#884](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/884)) ([dad648b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dad648bb804ddf22eccd3aa9ca430fc02f07fc86))
* bug 1758 - block second MASTER tag ([#899](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/899)) ([6099704](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/60997049e865750deb71a971d13a29230f6aa1a0))
* bug 1758 - incorporate code review for blocking second "master" ([#895](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/895)) ([7e54ba2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7e54ba245a7131ea13b78dbf4d8a3145bc3ce77b))
* bug 1771 negative entiites shouldn't be addable in action creator ([#894](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/894)) ([bd966fe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bd966fe0e88b5c5382276b2ed444289d552bc35d))
* bug 1775 - fix favicon.ico size error, shown in console ([#892](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/892)) ([cdf3a63](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cdf3a635b167cb8254fc71bfdae2012212890706))
* bug 1776 invalid warning about unconnected entities ([#893](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/893)) ([7a7419e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7a7419ef99bf58d9b525f45cd4e0b642e03d6217))
* bug 1782 - trim spaces from model names ([#896](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/896)) ([bcfc85d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bcfc85d5127e826ba84ec643f63effd4f4143d01))
* bug 1787 - show log dialog count (if triple digits) ([#958](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/958)) ([4dd0692](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4dd06920bf02320568912cf90fec7957a3067a0e))
* bug 1819 - icon hover state restyled to bi-chromatic, from tri ([#923](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/923)) ([789dd20](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/789dd206c90deb02e4ade51c4e49f3842f01ad6a))
* bug 1819 - info icon hidden until hovered ([#913](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/913)) ([6367a6c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6367a6cd0d66856f640b7a25c555146f28ad0295))
* bug 1835 - render session actions with new SessionRenderer ([#928](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/928)) ([a858aad](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a858aada55435ee061bf82ae2e581d206d1c1576))
* bug 1842 - web chat active selection background ([#925](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/925)) ([5817b96](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5817b9688883a106020aa233dd4b68dc2b7a02a7))
* bug 1843 ([#921](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/921)) ([42d3323](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/42d3323d49f81bb0d018676842b9f18e8d3ff68e))
* bug 1847 - tighten help icon hover state trigger space ([#936](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/936)) ([fd4e941](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fd4e9411c538058bae3f9b958f89fc15d5a36d3c))
* bug 1856 handle api callback errors ([#941](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/941)) ([90f6b14](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/90f6b14bee3f8d04d12b5f8844414f8c5ea970c1))
* bug 1857 set initial entities in memory ([#943](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/943)) ([6bd0f9d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6bd0f9d07e843715e714e5ec3c3e77dd66be6f3c))
* bug 1867 memory set to empty string is delete ([#162](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/162)) ([529cc97](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/529cc974b5d738581cf563220481bff8f4f7b497))
* bug 1889 - correct inconsistent placeholder text capitalization ([#970](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/970)) ([6477921](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/64779217990daf265da28e9f26a8e717f59d4110))
* bug 1893 - remove unexpected console.log message ([#968](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/968)) ([c9405cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c9405cdc4240b11153a648a0725fc070b50a0a69))
* bug 1896 - switching entity types needs to clear name field ([#982](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/982)) ([a5b0865](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a5b0865ec8864342a26afaedb99c57c203aedfee))
* bug 1897 - entity names cannot be prebuilt type names ([#973](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/973)) ([51be27e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/51be27e184a97654fc6de5631943a6afc6626908))
* bug 1902 revert entity value copying to clipboard ([#971](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/971)) ([dc86da7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dc86da72a601fdadaf1f8fba414e86455f17763a))
* bug 1958 missing entity showing id not name ([#177](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/177)) ([a6adac2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a6adac21d3e6363830a8087910a444c862fc2643))
* bug 1964 faulty error on action creator ([#849](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/849)) ([8afda03](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8afda03c8cb69c08174489513d0a97ee1430e2cb))
* bug 2076 fix issue with initial entities and onEndSession ([#178](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/178)) ([9bd9b3a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9bd9b3a50c408802132e4e75a2865bee4bd190c9))
* bug 2163 overlapping entities results in bad input render ([#191](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/191)) ([f507edd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f507eddc83880735b4931129b1fad348d132aa27))
* bug bash 11-1-2018 ([#765](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/765)) ([875152b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/875152bcb3f58ac8d310094adbc040993bcf4724))
* bug bash 12-5 ([#147](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/147)) ([4d2390a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4d2390a753f4f404ee8a4ca19a4da775fe880f80))
* bug bash items 11-20 ([#802](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/802)) ([c0df14e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c0df14ebb8fb3092b5a91ffa499a867b89ddb785))
* bug bash slate issues ([#841](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/841)) ([7f0606b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7f0606bd653bc6053bbbb55cd9c8c1cabc97ba2e))
* Bug Fix for Wait Non Wait Error Handling ([#978](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/978)) ([6d1ff52](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6d1ff5281b9f4da65278d590eb5e4f48d75f9981))
* bug fixes ([#746](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/746)) ([3240eb9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3240eb9ab5fa7eea088afa194c514d3bddcda9e9))
* bug selecting card buttons not working ([#877](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/877)) ([0b576f2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0b576f2d7af36f9ab22377737cff15ee05bacbcd))
* bugbach 10-16-18 ([#724](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/724)) ([f56349f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f56349fc1c709ec080622e4f905ff1dec46f9660))
* Bugbash 11 26 ([#814](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/814)) ([d20abe6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d20abe6bb791822b6dc265a757fc17f1024f5af0))
* bugs 1629,1625 - GRAMMAR - reword duplicate entity popup, model … ([#801](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/801)) ([ebbbb8e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ebbbb8e6e38dbcb06654e05ca4c5e49c2e30c8cf))
* bugs related to pre-built entity tagging and filtering ([#723](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/723)) ([c0efb1b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c0efb1b51d9fa869f79472bd88fa5b718ecdfbb4))
* bugs related to tags ([#1032](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1032)) ([d5c6b4f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d5c6b4f2f9910d618250f873985af305d3383f20))
* but 1576 close entity picker on create new ([#817](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/817)) ([a412276](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a412276abceca07cbec88cc684fbd36904b39d32))
* change ApiActions to have logic and render arguments ([#121](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/121)) ([3b61d76](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b61d7673dd553e7c9f27ff28ca78c69fb9f54f5))
* change default sort to Last Modified instead of Tags/First Input ([#996](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/996)) ([c1a9e1d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c1a9e1d6090df57874e8aa5546863796c95dbc3c))
* change logicResult to string ([#123](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/123)) ([77504fd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/77504fda6f02f262542501bedbd62a4badfbf22e))
* changed to a function rather than a property getter ([35f7023](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/35f7023d6fb4510b0a20bd63cd76089bdee5fd15))
* changin status to training ([#640](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/640)) ([ad35ef1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ad35ef1d737498cd210190b6dee831871d896523)), closes [VSTS#1242](https://github.com/VSTS/issues/1242)
* cl-checkbox css specificity ([#660](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/660)) ([d7555ec](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d7555eca7ac44ffc96a8b74e0d0cf05ed941f2f2))
* clean-up dummy entities ([#138](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/138)) ([dd54569](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dd5456933bf6d679cfa12ba3106aaf21645582bb))
* clear entity constraints from action when switching type ([#1008](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1008)) ([93b6781](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/93b6781226746741b3f701ddeedbc7588ae6a365))
* close teach session broken ([#755](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/755)) ([237e26e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/237e26ec5f752ed046cb8fe98e10f0d0890756b0))
* code cleanup ([#744](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/744)) ([179dbb8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/179dbb88984e655d013be9da9a41b701fedd6d5b))
* code reformatting to jslint ([#949](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/949)) ([ebda831](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ebda831aa232b6834898647c66968fe02620513e))
* create end session regression ([#924](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/924)) ([e7ffbdc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e7ffbdc2986679933a92e15b5ac066ab8e30963e))
* delete entity button accessible via keyboard ([#628](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/628)) ([58230c2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/58230c20c8b48347a5828eb92c559ad96bed7c2e))
* delete entity in single call ([#606](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/606)) ([6662a50](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6662a5064e94790e43ea4ce74d0d7aa010baba95))
* delete entity in use 1618 ([#798](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/798)) ([fcf7b9c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fcf7b9c57a2b0cf382cef8e7c2951823c33e72af))
* Deleting User Turn does not Update Entity Detection Pane ([#935](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/935)) ([ef8673e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ef8673e84b7da1f8e154f89ea1aac890033079f5))
* demo account recognition was broken ([#673](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/673)) ([4ccdeb2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4ccdeb2eb3556a925b17614a798c0a70e2425075))
* deprecated entities and remove prebuilts from suggested ([#681](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/681)) ([28eb4da](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/28eb4da901ab8ae4495eb63a6f568a9b67896f04))
* display entity name when entity missing ([#932](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/932)) ([77d12ee](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/77d12eead3e0c09bbdd0b1a1aad773eef1f07723))
* don't highlight incomplete nodes ([#1361](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1361)) ([93ac2b9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/93ac2b98f79c501f13905bb7908716b3879f5196))
* editing negatable flag ([#671](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/671)) ([2959aca](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2959acafc7715ad21a04295ea587f2d9c344bc5f))
* enable strict null checks ([#678](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/678)) ([fee2411](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fee2411e5f6c7b99700209f5350c83d53be15a8c))
* encyclopedia no longer supported ([#666](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/666)) ([dcfa3e9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dcfa3e91810d91e077d309d62f6fd43924bc3df0))
* enforce app name length on settings page ([#1056](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1056)) ([a4e9dc1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a4e9dc1718c4ffe0cbaeaced5a83f3bd40b0c323))
* ensure fix slate placeholder cursor is centered ([#1011](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1011)) ([d768ebc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d768ebc2378641b23e1cd9e34da5284f6d015c53))
* ensure logDialogs reducer returns arrays ([#1038](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1038)) ([cb1bd8d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cb1bd8d4054c328c292a02bf4b5bff90b45aad73))
* entities set in api callback working ([#758](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/758)) ([c50d0fe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c50d0fe578acc66aa49bcbe92d20636df7347dee))
* entity not displayed when missing ([#158](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/158)) ([06a8b01](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/06a8b01215ba969d871ccce92fdb9b5ffa132d68))
* entity not displayed when missing ([#159](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/159)) ([dcde3bf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dcde3bfeda98517dcb5daf398232e0eb82868b79))
* error when display prebuilts with no resolution ([#114](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/114)) ([881f02a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/881f02aefa7dd1c498249a835725084a2c8193a8))
* explicitly set ariaLabel on OF.Dropdown components ([#624](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/624)) ([b5b96fc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b5b96fc15387c7a6c7c297cdf54d39063548103f))
* extend existing polls instead of stacking them ([#619](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/619)) ([61da5d1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/61da5d15d32c044755b3a9523fbee4de5797a49e))
* feature 1698 - block non empty Required fields ([#905](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/905)) ([c4f3f03](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c4f3f03dfbb5c46393c50767475f19a68049b025))
* fetch negative entity definition when updating original entity ([#882](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/882)) ([d7c6711](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d7c6711a6a9854e4f0e558eaaf15db89e0f0844f))
* fetchbotinfo takes appid ([#677](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/677)) ([c271d05](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c271d0533196d31e2dea3e4e3f2ff3951fbb723a))
* Fix delete all models and CreateModels.AllEntityTypes ([#806](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/806)) ([214a54b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/214a54b8713a50abd36b8c6f3aac9dcb82540981))
* force consistent font-size for conflicts ([#999](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/999)) ([27379d5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/27379d5350ebd5ce1eedcbeb1374dbf07747842d))
* force isTerminal when actionType is END_SESSION ([#1028](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1028)) ([6c8579d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6c8579d14665b82d5def81aa635f503d3272b90d))
* force travis build ([#152](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/152)) ([bbb8d17](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bbb8d17fd85dfec3481ec532a82826f61ad2baab))
* get set tooltips ([#816](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/816)) ([6849f2e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6849f2e49321835b82da16e05b6c3dc0adadb8b7))
* handle undefined persisted state ([#658](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/658)) ([7d0acb5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7d0acb58175ac7a0d8a0c77330e4788a776a5462))
* header font size ([#630](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/630)) ([b0a3e54](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b0a3e547c9a7d506e5334f7f0b3e9eb3c9e8493d))
* immer error in reducer ([#1048](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1048)) ([02d7acd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/02d7acdb3377615eaf846b4245b305912dd57972))
* improve bot info loading message with retry ([#675](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/675)) ([22e1fab](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/22e1fab3c752d54e89f69d4c5171f0030ce93d32))
* improve entity label conflict modal ([#1033](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1033)) ([7ad21ce](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7ad21ce281002e28b76c156e8e49ad9c02e21d52))
* improved test suport for entity extraction ([#854](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/854)) ([b24d9a7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b24d9a7bbd5607e7e74878fca4e19d26a07c6298))
* incident triangle in the home link is not accessible via tab ([#636](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/636)) ([9c4ed9d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9c4ed9d63fde0292ad11d29ebf0961aaab3ed584))
* include 'I' as tag name to ignore ([#672](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/672)) ([f273204](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f27320470d352dd4fe84913840ffb9ba223d6888))
* increase font size for tree ([#1061](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1061)) ([0ebafa7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0ebafa7dab64e38f82a269e3666aa98549ffb610))
* increase specificity of delete entity label button ([#674](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/674)) ([d9f7d22](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d9f7d222f2694f74ab935c4a1989394298f07874))
* inner text function behavior on electron browser ([#1004](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1004)) ([3b8ba01](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b8ba0177d70c6760bc17e03f900a2fd10d4478b))
* let to const ([#1024](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1024)) ([d481acf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d481acf7d701a287146812067811e0123b999f40))
* log dialog bugs ([#803](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/803)) ([af28b23](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/af28b23b7d96f27aabf31056b9edbdfdd85d177d))
* logic entities not properly handled ([#869](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/869)) ([18fa70d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/18fa70d6a88501b4e57b0eec94e6ac378abd3656))
* logic error computing entity pending changes ([#688](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/688)) ([85e2240](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/85e22405b337f8f1689806b6cc1c9be1136ae241))
* make built-in type filtering more reliable ([#716](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/716)) ([e68c13d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e68c13d5bd82b14f7e403fe984b29ade4afc1c2a))
* make expected entity undefined to match server ([#180](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/180)) ([d83f40a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d83f40a7815461de0f3e981caea7f7eabd7328cf))
* markdown bug ([#155](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/155)) ([b285ad4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b285ad4c80fdf650fd2644477d434b8d60e0f27b))
* markdown bug ([#911](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/911)) ([6d01604](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6d0160497d000c71516f6878bdf1aa73ca79b5bd))
* memory resolution type can be null when builtin is set ([#181](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/181)) ([de32b92](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/de32b92c55746b5f41665e3c67276ea59fbb5668))
* misc bugbash bugs ([#785](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/785)) ([d63a59c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d63a59c4a6b8f5c1ad452e11f7aa25e19784c1f5))
* misc bugs ([#711](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/711)) ([d14bd93](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d14bd93be6581f371011ce0ab53ac20c4dfefb46))
* misc bugs ([#748](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/748)) ([620331d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/620331df59ef89c382661efb67338612a34966dd))
* misc polish ([#767](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/767)) ([a7e3af3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a7e3af3ed7b32675ad1162fca78adb282f676e82))
* missing conversationid when editing entity ([#663](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/663)) ([5603220](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5603220a714ee80521bcfd4bafb6f7775a1dff42))
* model count is wrong ([#761](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/761)) ([c613969](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c613969f8b2723dc8282a27145e41684a7227f77))
* models 0.193.2 ([#946](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/946)) ([9cae8c9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9cae8c96d35ccb21793d1f819e7601fe655a5548))
* models to 0.187.1 ([#799](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/799)) ([ca1d8bd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ca1d8bd3cef0c6fec3e2a751bda4fa3612e179ef))
* models to 193 ([#938](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/938)) ([16c51b9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/16c51b9512303657b322841f336b4f18f996c795))
* more detailed warning when bot not found ([#670](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/670)) ([a46f17b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a46f17b506cfb296bc3ac7a9c7435ea9160739a4))
* move logdialog refresh button to top ([#648](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/648)) ([f334af5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f334af5e35497ebd6ba921afeef991b49914c2b6))
* move request to delete log dialog before loading all log dialogs ([#1005](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1005)) ([8accfce](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8accfceda4f619585eca1d4d2ff1e4e43c708dcd))
* move semantic release to Github Action ([#214](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/214)) ([1280c0e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1280c0e0dc9887884de6ba8e926c7debc65ff4ce))
* move validity indicator icon back to first column ([#1025](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1025)) ([1d04472](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1d04472d78de332e38f610196e5af331a6339c1a))
* new UX test block ([#952](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/952)) ([53efc71](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/53efc71f120db0d13ecef23db37f0de6e8dab1ec))
* normalize app create button locations ([#612](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/612)) ([8ef3a1a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ef3a1ac6b458e9716a99eae81cb414f7a24bac9))
* normalize error code ([#623](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/623)) ([0745103](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/07451039b9b743de0d3e5ad27e0bdca4b89bddcf))
* normalize label /form spacing ([#686](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/686)) ([ca37c75](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ca37c756a482e8f7f73c5c57fded8d59b4bacf02))
* npm audit ([#128](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/128)) ([6c5c59f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6c5c59f208a7ea312a8d2cd6bbedac953376149d))
* npm ci ([#753](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/753)) ([3842f31](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3842f314478d28403626ba945d80e3d11642ba36))
* only enable save button when state changes from initial state ([#662](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/662)) ([ab40bcc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ab40bcc462965a101538c4f436f79b424003595d))
* only show log dialog count after model has loaded ([#983](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/983)) ([4804e4f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4804e4f8d1f7dc72f949907afb89202ed11ef911))
* onPayloadChange to use most up-to-date objects ([#693](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/693)) ([ad9df3d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ad9df3d4a69d02a86a65369327a15d52b989442c))
* package-lock.json and update readme ([#117](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/117)) ([79c5cc7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/79c5cc7fd109bda3f221f7525c0e38cc8579ff5c))
* packageId is a string ([#142](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/142)) ([fdb286f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fdb286f630bf2708d59ea8b2992e5214085066af))
* panel FocusTrapZone fix ([#614](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/614)) ([1cb5178](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1cb517813b4303984216c92226670f20ce7395a5))
* preserve source dialog when continuing ([#1031](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1031)) ([9853f07](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9853f07536d7e7be44969e1fbd5188cd79384afb))
* prevent enter and merge_node ([#634](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/634)) ([dc50e21](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dc50e21210293c93cac558c3a1bdda0366180059))
* prevent issue with sort trying modify immutable prop ([#1045](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1045)) ([9d10a5e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9d10a5eafa1bf026a2733689c0e835a20686ed0a))
* prevent re-labeleing selected text ([#700](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/700)) ([b9396b8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b9396b8573b62b18087fe78f75af7e6ebd983d69))
* prevent unnecessary poll if deleting new teach session ([#930](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/930)) ([8ab13e2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ab13e2f68c53e32f942cc0cab0da8196f476201))
* really really force release ([#200](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/200)) ([09c400e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/09c400e317bd0fa428f06046619142e435bcb1ec))
* redirect to /home when no app state, add null check for lastAction ([#661](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/661)) ([b620357](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b620357cbeb963c6309ae5b25630ffa2a6acc8ca))
* reduce appveyor builds ([#163](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/163)) ([34a21d9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/34a21d9faa786fb0f78e8e3ed20a70f01fc8e227))
* refactor parseLGString/addToLGMap ([#202](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/202)) ([cc525de](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cc525deb44d8d8e8c28432d6bacbcaf9aef85e1b))
* relax Poller test constraints to increase reliability ([#934](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/934)) ([a28caca](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a28cacab26872c8158d94fa102001d9399e78dce))
* release on push master ([#217](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/217)) ([3c602f6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3c602f6aeb2932a27c651f56b333e1ee726fb140))
* remove cypress invalidation ([#751](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/751)) ([af8a228](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/af8a22835f204bbde17bcc85ada66cddd0938151))
* remove entity overlay when switching extraction ([#1312](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1312)) ([7cd8ecc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7cd8ecc0b4a294e1554aa5296807237d3b8702a2))
* remove getTextFromItem ([#1344](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1344)) ([edea653](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/edea6531b90b0e0404d04b1ab4155af366be8c66))
* remove negative entity from state when positive is deleted ([#667](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/667)) ([09e53e6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/09e53e66b74090847b635b21d6662102d79e167b))
* remove redundant train status ([#972](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/972)) ([73b592e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/73b592eb0e6b1da409dcd7bcf8ded45065083252)), closes [ADO#1885](https://github.com/ADO/issues/1885)
* removed a duplicate function ([#889](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/889)) ([896c09a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/896c09a5de2599271b642b6c147592d7367365d0))
* removed backtick quote that was causing issues ([#987](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/987)) ([ddf5e3e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ddf5e3eae56a30a164d3ba00d358957e722d7151))
* rename bucketable to multivalue ([#1304](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1304)) ([3b19f78](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b19f780ddfa25b6f84355bc718ee8ef349eeaec))
* rename history to activities ([#206](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/206)) ([5fd2e09](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5fd2e09ccb7547332933056b9dcb4269ad5ab6c2))
* rename part 1 ([#1002](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1002)) ([fb79037](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fb79037d46f3e5cb257a04092f36a58489fe0b04))
* rename valueasprebuilt ([#146](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/146)) ([99543b4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/99543b459ab222e51c718c8113fb9eb7e0509cf0))
* repromptactionid not updated ([#1394](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1394)) ([8c3276e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8c3276eba526d98a5322823e0a2e87836faed996))
* reset file import on modal open and display error ([#698](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/698)) ([4dde180](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4dde180c30eb3f6f6aecfe82184e13378056d7a8))
* resolution can be null ([#184](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/184)) ([19281aa](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/19281aaa65f2ed6785abb6b7fd340e0fc12e8d2d))
* restore blue coloring or noneditable entities ([#1226](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1226)) ([9cd2f98](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9cd2f98f87346a1d597752319e95f16fe68ef58c))
* restore code for updating history state ([#664](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/664)) ([532a3bc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/532a3bc058cfbfb0691a677d932967798781f190))
* restore data-testid on div surrounding checkbox ([#589](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/589)) ([f184b79](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f184b79734e3afb43ff6cb9c0133a22a697a173b))
* restore merge_node operation ([#647](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/647)) ([a6055da](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a6055dae79fe64aa6dad13aeb4b4fe4624495605))
* reuse doNotMemorize value from original ([#1270](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1270)) ([d966fcb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d966fcb12e31c280fc2bd749a62e81f9549f656f))
* save tags and description on replayed dialog ([#1283](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1283)) ([b8f84ac](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b8f84acd81085f59fe2edbbff11270b15aad3fb6))
* scoreInput explicit null ([#148](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/148)) ([a25bc49](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a25bc49a538392d4f520db85d8937afa8c457de6))
* scroll highlighted entity into view ([#962](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/962)) ([e55bc4a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e55bc4a065365337052395ef05946e00c6a787d2))
* set initial state button missing ([#653](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/653)) ([8c55300](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8c5530041e646e2f1ce3e8f2d397d8969471bbd9))
* settings.botPort was undefined ([#1144](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1144)) ([205e1b6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/205e1b61e2bd27103193632076b73de81990d642))
* show complete builtin type ([#1282](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1282)) ([d54ac53](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d54ac5311b3736b1de35bb5c3a7c998f6a17f1f1))
* show correct number of log dialogs ([#1036](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1036)) ([4b5255f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4b5255f69b1d822797398f56ed5685b58523696b))
* show error on client when name exceeds length ([#1098](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1098)) ([97ef276](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/97ef27690a7fa48d65191c756e79dd45735aa237))
* show L format when previous day LTS for current day ([#995](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/995)) ([6f341b3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6f341b30f7d70c4f4857e1d519df248118f3733f))
* show log scores ([#858](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/858)) ([a433983](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a4339835486625658cd19338ad0c7aeee6e05fb9))
* show SET_ENTITY actions in list ([#1203](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1203)) ([6389863](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/638986301fc69a6359655f58156d88fc83ffc84b))
* show sort arrow by default and sort on first click ([#1212](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1212)) ([4b4ecba](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4b4ecbac303f5790e55aaa36ec8ef6ef8b074f60))
* show transcript id when show error ([#1352](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1352)) ([058762d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/058762d319910c98eb3c4982d295c4d4e7a5d671))
* showing entity conflict required previous change ([#1041](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1041)) ([0f6cd11](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0f6cd11f71fb6030f8443ac0901eed23f746995e))
* slate errors in action creator editor when switching actions types ([#1009](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1009)) ([7481843](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/748184307c791d05b50cb45654481f708e9b111f))
* small bugfixes for OBI import ([#1374](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1374)) ([4641430](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4641430bc7cd44ea5c0f3e91da26b00826267021))
* sort by creation date, descending ([#956](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/956)) ([d7bcc02](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d7bcc022fa17ae8a0bb680b5cb6fdeb5c9b2fd22))
* spacing incorrect on help icons ([#635](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/635)) ([a75907b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a75907b1ad29941e4d86f96458f0a6e4f03d3f55))
* split api actions into logic and render functions ([#685](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/685)) ([6d394f1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6d394f17d07aad33d5ff6f3af3167ff078af522d))
* still needs a verification ([#1182](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1182)) ([f58614c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f58614c40dac17d1fa073ef8e8638b004b506de3))
* store newly-created entities and actions in app memory ([#1322](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1322)) ([67ab936](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/67ab936e534630af1781522df1822d2b40402aff))
* tags expanding beyond container ([#1107](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1107)) ([c53b6a2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c53b6a239f1f3bd580644bf8019c399d7f715057))
* task 1699 - require model name typed for deletion ([#907](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/907)) ([cfde838](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cfde838173cce79ac2cff548682fab48152fa34d))
* task 1820 - TEXT ONLY - PreTrained cannot be Expected ([#914](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/914)) ([54c412b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/54c412b0c24c4a98df1cd2bda02a2816a11fecee))
* temporary change ([#815](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/815)) ([702ecc2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/702ecc29b081f539016fa7dfc83efc450f09789e))
* test case log.whatsyourname ([#784](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/784)) ([3cad696](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3cad696a4eddc7c40656108ef0a4497f234cb396))
* test results that were being discarded ([#1224](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1224)) ([8fa527f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8fa527fa8447e10025148a8ee4adc259ab5f3675))
* tested and working ([#900](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/900)) ([5687baf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5687baf8547c9cd46dca4567d12703ffb930cb45))
* text variations on log dialogs ([#766](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/766)) ([a9a2e64](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a9a2e64d0c72078f4fe3bc65aadf8dcf7bdb8f22))
* TEXT: bug 1853 - improve tool tip grammar and spelling ([#937](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/937)) ([b6e16b8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b6e16b814cbcaa07bff0f3a6d4676d137ce8d6df))
* train dialog description sort ([#1204](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1204)) ([4de5e8d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4de5e8da8c03b0f8d0daf525060fa969947da695))
* train dialog UI disappears when set init entities ([#957](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/957)) ([78ae0db](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/78ae0db0702e712a773ac0a61c1524a774753d35))
* train dialog UI disappears when set init entities (1878) ([#960](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/960)) ([fd5b6ed](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fd5b6ed3fa4903c329ab4147f693f834d8df6738))
* tree view fixes ([#1130](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1130)) ([05154e0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/05154e0bf1d9ec56ececbb5a2d1b8aa4677c6b47))
* treeview tweaks ([#1132](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1132)) ([54cd83c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/54cd83cd2a2faa8d63423a8d7ed3d8a729f646cd))
* trigger build for release ([#218](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/218)) ([4fff195](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4fff1954dcf48c6070adf53032d55151210a702c))
* trigger on closed ([#216](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/216)) ([f5608ca](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f5608cac2c8ed16e6c37ae21d63e145a3d908b09))
* ui changed - now needs model name to confirm delete ([#909](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/909)) ([e44acc6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e44acc602bc70c5ecb3244bd9303ae522d86d994))
* undefined enum value id ([#1278](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1278)) ([bb01694](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bb01694ccffe138d29e44c5fba867437b2e5ca00))
* unsubscribing from behavior subject ([#955](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/955)) ([8c676ee](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8c676ee8dc8bd7c7d07aeac2134874f958589920))
* update @conversationlearner/models@0.168.1 ([#627](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/627)) ([799b47f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/799b47fc25f960eef91cf30d60428830a3b10dda))
* update all reducers to use immer ([#997](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/997)) ([5babeac](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5babeac8f1fb97a774a204444daf56c72c561dc6))
* update bot port to use redux ([#656](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/656)) ([cc3760e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cc3760e1ec57b3ce76865b789c7323e1837e0888))
* update circleci cypress config ([#820](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/820)) ([f13f40c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f13f40c7f991f26f842f3951faa9b07c7c0de54d))
* update constant names for enum values ([#213](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/213)) ([4e50dd3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4e50dd379e5554bdf34313574456c74eb260076e))
* update for single port ([#650](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/650)) ([075ad93](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/075ad93a94ec785184ea08e950b6588c9f66b212))
* update insecure npm packages ([#756](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/756)) ([2c9a205](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2c9a205f5e04e3f9f9ea1b9650ef20b583dc326e))
* update models ([#1181](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1181)) ([a823dde](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a823dde2d9d36302ff27971663a82cb0ae60850e))
* update models ([#687](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/687)) ([62e00a7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/62e00a78fe369fb1b716d957c1a8fd5b6f17da6a))
* update models ([#691](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/691)) ([9377644](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9377644ac7081b9cf99abfcb80b641bef7f795e2))
* update models to enable strict checks in UI ([#119](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/119)) ([018b056](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/018b0565afcc54b9af8fab673cfb3730e515fd43))
* Update obiDialogParser to use code from CL-Model ([#1262](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1262)) ([4361c09](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4361c09c23077e6072add63414709309aa7324ba))
* update packaging process ([#1385](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1385)) ([f5b9444](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f5b944445a21ea5025fd1aab11c98cafe43d1634))
* update release rules to assume style is patch ([#593](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/593)) ([d3ba2a9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d3ba2a90cef861c4879b413208e4c640c7beb72d))
* update settings to say Bot port instead of SDK port ([#652](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/652)) ([63b3b93](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/63b3b93ec52ede6b04f5164779b45c75b9f5cbc4))
* Update tipComponents to pass through other properties intended for main element ([#584](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/584)) ([72c165f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/72c165f26a3ff340b69ee3a83d9ade1ebb3cc4ba))
* update TipType for CARD actions to ACTION_CARD ([#1257](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1257)) ([fa9decd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fa9decd3ca66a77e9378efb382e73d20fbad62f1))
* updated the read me sheet ([#1153](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1153)) ([ff7ab3a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ff7ab3a4eed087c7f4a7e8db354a7fc6d8e11aee))
* Updates for comments missed in previous isEntry PR ([#1323](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1323)) ([21a7527](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/21a752773c6da9be2fda44df234b606bd32eb557))
* upgrade axios to 0.19.0 ([#1168](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1168)) ([8430743](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8430743897c94891b9c507b210f1936a4b9eb779))
* use async await where possible ([#998](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/998)) ([4f78478](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4f784783d2f0dcf3a1efb0aaabe8f6edb5096f3e))
* use DetailsList getKey and setKey to use render computed dialogs ([#1248](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1248)) ([e7e38cc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e7e38cc2310014dbdfdb0dda017f59e81d75f709))
* use isterminal in computation for pending changes ([#689](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/689)) ([7e7c02a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7e7c02a88f3695334818e9670a42bd2ed3cb9f64))
* use minmax() for gutter width ([#942](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/942)) ([089b650](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/089b650e37f515d28446916fe5f5c758a444ffc4))
* use onItemInvoked instead of onActiveItemChanged ([#1225](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1225)) ([a87e776](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a87e776a9c2f64dd943b617421d8ec00a462e358))
* use optional chaining and null coalescing where possible ([#1362](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1362)) ([275c495](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/275c495b48a4eec2c79d3b6a0508ff1438ee17ec))
* use react ref objects instead of function refs ([#1195](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1195)) ([98458d7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/98458d74919c8bf6474e2be451e11e996a613565))
* use same case on feature strings ([#1301](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1301)) ([fff6ff6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fff6ff691e78245b6cdb7d5ccfbd6bb8db16ba0b))
* viewing train rounds ([#682](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/682)) ([38ba19f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/38ba19f49308d1facc76c6f1d2bea3921d2145a5))
* visual defects due to office 6.x ([#1183](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1183)) ([04d971c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/04d971c8f46d3a3770e8c95464179c7eca6ae309))
* warning display icon ([#773](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/773)) ([42b9165](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/42b9165a724eb796a45924def11000c063fbab7c))
* webchat display with resolved entities ([#154](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/154)) ([0fd5ce4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0fd5ce421f8335ddc588e8a144e9a237795106d5))
* webchat entities ([#906](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/906)) ([273af4b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/273af4ba9939d0a837389f5fff1466c895a9ccec))
* webchat issues ([#629](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/629)) ([2e8b68b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2e8b68b436b32289ce52cecb53d2f3d91176aac0))
* webchat not disabled when reject conflict check ([#931](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/931)) ([e29d058](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e29d058bf4a0355a48ac31328246d7a0df3f5344))
* webchat regression ([#881](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/881)) ([5715484](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/57154845ce325c230c0c399801f612e465b8a31d))
* working bug 2259 reproduction test case ([#1273](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1273)) ([4fbe1b0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4fbe1b041b0a1b77b5795d6ccd36a20b1d5c84d5))
* working test cases ([#1104](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1104)) ([65cc342](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/65cc342d2765d714357eb91046a4f60eaa95a622))
* **action.test:** remove comment to test release ([#107](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/107)) ([e702c51](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e702c51b3a6c9a96a18969d33a451273dc67c13b))
* **client:** update client to account for changes to SDK ([#649](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/649)) ([aa19f7a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/aa19f7ad3b5c496586d88b4489a0f265489d2568))
### Code Refactoring
* **env:** change _APP_ID to _MODEL_ID ([a4898f5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a4898f5513d9926fd9cdbb06e080fe870f4f83f8))
### Features
* [.dialog import] create required conditions for actions following SwitchCondition nodes ([#1347](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1347)) ([2bd5382](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2bd5382ec89a79b3c5110550c2cab47445f03e74))
* ability to disable card actions ([#53](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/53)) ([4caa79c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4caa79cfda46aef6aca28d52215b3b3158a8c5c8))
* ability to disable upload button ([#5](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/5)) ([7ef8696](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7ef869611efc42eba977b19dbe023c6212d63bd7))
* ability to overwrite input render ([#38](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/38)) ([aec5e93](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/aec5e9328b2aae32e25929901dcfd12808b12638))
* ability to show version alert ([#316](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/316)) ([1233421](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/12334219b982573f3759abd285e54717dedfa077))
* ability to specify which action is used for reprompt" rather than "none of the above ([#1389](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1389)) ([a9b1220](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a9b1220dac0dd5fd7f79297edfbbd105ef3288f1))
* add "Change Model" type ([#219](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/219)) ([3a97131](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3a97131a3f4e3c16a28feaecf494bf5ff9b38700))
* add ability for user to confirm upgrade changes ([#701](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/701)) ([82d0033](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/82d00338bf6fae8503d07e46c0ae485feeb43fd3))
* add ability to create RENDER actions ([#684](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/684)) ([c28f1b3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c28f1b3b4d6fd5c073866da71239c8e814414649))
* Add ability to mark actions as "entry node" ([#1321](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1321)) ([fb32250](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fb322506228b08c0c1e5fad2a6cacdd27779c811))
* add CHANGE_MODEL actions ([#1355](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1355)) ([a053d60](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a053d605a4ba6388abb4fcc09fa08ecaa38d93ce))
* add channel data so UI knows message is imback ([#45](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/45)) ([66c2e50](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/66c2e5013cb81d0f8b1ab39d186db85a7f596a74))
* add clear button for dialog filters ([#1177](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1177)) ([b3cf81d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b3cf81de0f3c2e32e4e1cb2c0bfa56c459a0edb6))
* add CLState as entry point for state management ([#491](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/491)) ([bbfcfdf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bbfcfdfe30a6d1ea402937148c29cb3fbdf2a052))
* add created date time to lists ([#692](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/692)) ([0a4e902](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0a4e902d9b0a40c3814ffb5a977f387ca183a334))
* add DISPATCH action type ([#196](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/196)) ([407aef9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/407aef942b7996b3915f450f60b46fb7b2157fec))
* add doNotMemorize flag to the entity definition ([#132](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/132)) ([c6cac25](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c6cac25a8a955a844a08ecfded5d1d9516407862))
* add enumvalueid to filledentitymap ([#167](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/167)) ([57326cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/57326cde93b3d1cd04a78554b0eb1e7317f72396))
* add extractor test support ([#852](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/852)) ([31fadf4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/31fadf446facede03894a52a25528d8dca5fdcd9))
* add html serializer and rules for Slate ([#1292](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1292)) ([26fa431](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/26fa431acbe506c6ac4d8fd9b9cfc67046849c65))
* add importId to TrainScorerStep ([#215](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/215)) ([d4eac11](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d4eac11699c09564f5cc579014a6b7bcdc703e25))
* add isEntryNode property to ActionBase ([#208](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/208)) ([6b79390](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6b79390a75ef3024e5c8d9fd099f3ba9e40dab1f))
* add isResolverStrict to entities ([#203](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/203)) ([b089002](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b08900262640b400969ce6e77bbbd0b6d0fbc2ec))
* add logic result to log dialog ([#739](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/739)) ([9e818ec](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9e818ec993cd76ec73ed342bed3a25960159c728))
* add logic result to log dialog scorerstep ([#135](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/135)) ([0889ae5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0889ae5482815649d68da510ea06a9eb48b8012a))
* add max enum as a const ([#169](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/169)) ([fd32468](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fd32468118e5442e3e5fda8713ecaa26ecf01a68))
* add model header for longer model names ([#1235](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1235)) ([ebcbc66](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ebcbc66c8af28685e51402e851531d1bb94ebef4))
* add named builtin entity creation and tagging ([#714](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/714)) ([862efff](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/862efffefcea952947e1cbfd5e6a1d0e5e2d5050))
* add new action type: render ([#327](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/327)) ([3574683](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/35746838f49c035bf3d3b0b2fb26ff7ae57eaa08))
* add new prebuilts (geographyV2, personName, keyPhrase) ([#1175](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1175)) ([8d5cd82](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8d5cd826f314aca2fcc9fc3d44544efbab69076e))
* add new renderer action type ([#120](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/120)) ([1b03c2f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1b03c2f6d18fa6306f5d6e12a60673737ae26780))
* add random multi transfer dispatch algo and test data option ([#1289](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1289)) ([7e0424b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7e0424b6990af39b6434e00fe1fc54f13368062f))
* add replay exception ([#141](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/141)) ([d87c254](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d87c254d8e04f6887e914c085f740abd10278961))
* add replay selected button ([#1244](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1244)) ([24850e1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/24850e18d3af04839d19d5b6cd6480aa779b9cfb))
* add requiredEntitiesFromPayload to action and actionIds to DeleteEditResponse ([#111](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/111)) ([104f63c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/104f63c88bdf418f46acda8dffc7247a17d2ed9a))
* add resolution required option to entities ([#506](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/506)) ([e6a072d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e6a072dca50e403e7891569fb076154ac74ddf3a))
* add resolution to predicted entity based on resolver type ([#370](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/370)) ([3ef7782](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3ef77829eb285bd9c1d5c4f7881bc03820c97435))
* add resolver type to custom entities ([#791](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/791)) ([08bc797](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/08bc797ec014ced09c8e0345b133d19f2ca90f55))
* add resolver type to entity base ([#145](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/145)) ([f390ba7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f390ba7c11b06852ee54b1ec9f26dd228917f4ec))
* add row selection to cypress label event ([#1349](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1349)) ([b27cbf4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b27cbf41f16a05fbd534f3b5fb41ae27aa8d71c1))
* add set entity actions ([#1142](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1142)) ([4f1e1cc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4f1e1ccadb1ca1deae20bc6cdcd0765ccd81e3c9))
* add set entity actions ([#179](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/179)) ([1d38077](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1d38077873625ef2ff05812f9cce52efd3033c8b))
* add set entity actions ([#451](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/451)) ([bd842a6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bd842a63665a8a959d08e90bd5215654cf6dc0c6))
* add strict resolver option ([#1272](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1272)) ([607d18d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/607d18d305d8079c118ccd6bacb02b362d57d36e))
* add support for CHANGE_MODEL actions ([#513](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/513)) ([1ac2f15](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1ac2f151e60b1f5c23af01a043ab000aafb88a19))
* add support for more complex conditions ([#211](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/211)) ([deb9176](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/deb91763e65f9b8d9fb2cdc09579abbeb3749146))
* add tag to dialogs from logs ([#1308](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1308)) ([1c0e3ce](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1c0e3ce9f5195f085a603de9009c1b725be126b6))
* add tags and description fields to TrainDialog ([#168](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/168)) ([a231098](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a231098d8f5683b6b3646db5e4ed350610241279))
* add tags and description to train dialogs ([#989](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/989)) ([781ea73](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/781ea7312dece65cabd244a2b5f95a14d4a3d7bf))
* add train dialog validity ([#353](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/353)) ([4bd9f5b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4bd9f5b140b7f89c247df09ccad222e935d4b690))
* add utility to create SlateValue from TextVariation ([#1295](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1295)) ([e8f9b48](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e8f9b48fb5f7ce8622c8054c2aa9e7763d09a71c))
* add validity field to trainDialog status and remove invalid flag ([#133](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/133)) ([d286e31](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d286e3126979e74c54babef1496fd94a5d42caeb))
* added FromFilledEntities util ([#115](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/115)) ([c9c9aa9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c9c9aa96f762efbb87a3f68731c743d6e9323682))
* align webchats - update to ui ([#508](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/508)) ([4008fa5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4008fa5706c0d6782a3082e23f577b85d7bc9e1c))
* aligned webchats ([#1325](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1325)) ([10c0747](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/10c07474a0dd3f0bbe00d6104c4d7e9a2c9f8b9b))
* allow adding conditions to actions ([#1332](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1332)) ([6cb49ad](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6cb49ad7eba5652a813fb37bc0c8645cddff307b))
* allow creating any entities during extraction ([#1146](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1146)) ([b58d144](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b58d1443bd00f3b9c4e608e45f6c3be37ba8db69))
* allow deleting entities not used in payload or as suggested entity ([#600](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/600)) ([9ed1284](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9ed12844aa1fa62395d1bb9f4d9ab8c0cc62d658))
* allow entities not in payload/suggested to be deleted ([#275](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/275)) ([4cf8706](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4cf8706e22e985bf80f05307ce20143dddd1b0ee))
* allow full render controll ([#37](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/37)) ([5a67330](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5a67330a92dd8d0c1696bdd054d1f1e3e8b34a5c))
* allow interface to be served at /ui path ([#948](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/948)) ([f52dd6a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f52dd6a47dfd3c1c0e1e08cc6a83fc3c4fd4cb76))
* allow removing action from dialogs ([#1156](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1156)) ([b904cd5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b904cd5dfd26fb785aa890d6a71a01c9fc4a83d2))
* allow tags and description editing in logs ([#1070](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1070)) ([2fd8526](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2fd8526856346b39ea6b045acf85d2c608d45181))
* allow tests to run in parallel ([#511](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/511)) ([9a83c61](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9a83c61e4b7c603d232302cb02ab55f78ea4594c))
* allow validation tests to run in parallel ([#1337](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1337)) ([65db8ee](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/65db8ee0fcd437ae4ed6f70e5bc7c03f6454cf2f))
* alt inputs working on edit ([#717](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/717)) ([e3379d2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e3379d23b58cd8521ec7035ed4e53c6cdc084137))
* api placeholder test support ([#488](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/488)) ([fd2c2fe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fd2c2fe5bfa88382ae80dd67f49273ade6b67258))
* api stubs, transcript importing and validation ([#1196](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1196)) ([a8c8254](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a8c825495b2a68dd92b63771df04ac153e66b6b2))
* attach lg name to action ([#1329](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1329)) ([3c7f096](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3c7f096b11fe62cd14d688823a2ece0fcb0668d7))
* better external scroll control ([#52](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/52)) ([ea21f7a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ea21f7ac66ed48afa16485ce7358c0642a41248f))
* better handle errors in long running test ([#1338](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1338)) ([4a9c49e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4a9c49e5d4363e89f35d3c0ea8bdafdacc622dbc))
* better handling of bad transcripts during testing ([#1360](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1360)) ([d804d41](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d804d413c3633c105c3bef7f9b1a8c54bfc0d3f9))
* bold labelled entities in webchat ([#402](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/402)) ([7de4553](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7de455307816315ecdbd641ac92b738641db612d))
* bold labelled entities in webchat ([#898](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/898)) ([fc35cd6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fc35cd627faaa9af99dc625c3b21a6eaa0cc0205))
* bot api errors ([#368](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/368)) ([13339e8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/13339e87add50056c1951c4e8acf670d760243ab))
* bot checksum ([#150](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/150)) ([d692966](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d69296633a0021552c8593db7bfdaee1eaf7f574))
* botAPIError ([#144](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/144)) ([68486cd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/68486cd4dd17bbbd76f0243943b203ae7f5bf0ac))
* Branching 2 New Test Cases - Many Features Tested ([#788](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/788)) ([67e868e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/67e868e3e0a621901d399ca4eedb75caafb10c03))
* bugs and scroll issues ([#34](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/34)) ([eee888d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eee888dc337b11286d93c1f4cd09789186b00328))
* buttons data uses text not object ([#408](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/408)) ([2ce37f4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2ce37f449ed7be7d97b12b2be56eba675e82312e))
* cache turn context and pass the right one to callbacks ([#365](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/365)) ([76174fc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/76174fc7747779429bb636f886bab0901f12cd11))
* catch unexpect multi-values ([#366](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/366)) ([b1304c3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b1304c3ec20cb1774cd3160cef1468ee5e4ee619))
* changes to support n-way ratings and comparisons ([#209](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/209)) ([169597a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/169597a52da483776519d2be621ed50d7d4bcf1c))
* chat session bugs - api change ([#880](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/880)) ([98138bd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/98138bdfaaecc87eddfba64282ea381b9dd3f293))
* close button on help panel ([#752](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/752)) ([3232902](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/32329029a1fe28cb35f913830cc8cea178b342aa))
* conflict filters ([#759](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/759)) ([093d845](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/093d845525836647770426982bf538d0c1cf9d03))
* const for dummy entities ([#130](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/130)) ([d14164f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d14164f31f93e4d63bdac078305bc34ba230f4af))
* debug errors in chat & memManager check ([#283](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/283)) ([11edf48](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/11edf4871a7f637efb219ba191bf08c1fca999f2))
* delete selected log dialogs ([#1194](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1194)) ([65366c4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/65366c4b70b36677076cafeaeff34af0de020458))
* dialog comparison ([#1215](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1215)) ([a7d600b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a7d600b848dce757baca57043c9dcea6bc38bae7))
* dialog comparison non-wait support ([#473](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/473)) ([fa7078a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fa7078aca7e3875e750172cefde688a5c74d17f9))
* do not memorize entity value when the doNotMemorize flag is set ([#347](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/347)) ([422893f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/422893f8122f3c71dec03eb795c72bbe54955f09))
* down arrow ([#341](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/341)) ([9d5908d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9d5908d249cd68861afa27205974bc83d43cb6f1))
* downarrow ([#36](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/36)) ([16e4954](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/16e49542e11a36892dc364c1ec088bbe5de959d5))
* Edit bugs ([#339](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/339)) ([22ed750](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/22ed7505fba21d8313c8082ebf0b450bf9d77d37))
* edit cleanup ([#344](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/344)) ([8218a81](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8218a813310b20fb98349f713735f49df3249788))
* edit dialog improvements and bug fixes ([#735](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/735)) ([bd38231](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bd38231b0ad4aa613b41f43a76a498607776d579))
* Edit improvements ([#712](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/712)) ([e538bdc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e538bdceea701e250e0c1cf03303485da079d74c))
* edit in teach ([#715](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/715)) ([53df709](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/53df7095a27d5ac8a2bc4c2693d753b38bb806f4))
* Edit polish ([#713](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/713)) ([28f3f37](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/28f3f3751d7b3c951c1dbe22bbba0419e15cacfa))
* enable ability to regenerate train dialogs for dispatch model ([#1260](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1260)) ([f3f690c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f3f690c671488d0fb3aaa7fe3e9cc06c1f9a0ac3))
* enable adding pre-built entities that are always extracted ([#719](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/719)) ([6e635fb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6e635fb0fc0355cf17086c46c6bec5e88544bb5f))
* enable creating dispatcher models ([#1255](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1255)) ([02a6c55](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/02a6c55eb7e3ad0286ffed5b2691365a7b58da0b))
* enable dispatch algorithm selection ([#1274](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1274)) ([dfa5cf0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dfa5cf0818e011a80fed60060b2a1ac5f52b0ef1))
* enable dispatching to sub models ([#489](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/489)) ([ccbc7de](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ccbc7de0fd5a8df6253dc4e333db4c2f682007ee))
* enable editing conditions from entities ([#1340](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1340)) ([e0c8037](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e0c8037938bb6941429d94e0dcc5359b2a2ec93c))
* enable editing entities that are in use by traindialogs ([#725](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/725)) ([4bb0146](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4bb0146e78792c841c4a6a536d26c81a8295f48e))
* enable tree view and merge ([#1110](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1110)) ([c286fa7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c286fa76a3ce141301531e6c3d0e01bb79f7b281))
* end session and editing ([#406](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/406)) ([c4d8c8f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c4d8c8fa6b7cd7283249dd4d31e79ca52da7863e))
* end session editing ([#916](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/916)) ([f364f2a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f364f2aa8f6800c049a316f2595168b6f9396a91))
* EndSession Action ([#609](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/609)) ([3022b72](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3022b72a8f1d3d5f14f11e1e449ae1de94ba3ebc))
* EndSession Support ([#113](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/113)) ([0996eb5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0996eb58f8669b4a38b4060221efcb021affde1f))
* entity enum edit ([#977](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/977)) ([96d3af7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/96d3af7ed02db0c28e8185bec8c4615cf5c160e0))
* entity passing through api callbacks ([#361](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/361)) ([004c5b3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/004c5b35b989659c8adc4f1be93a6396f92e61ae))
* entitymaptoidmap ([#156](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/156)) ([cd81767](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cd8176730c6b656f2d5784d788f80b94e79aa171))
* Enum entity support ([#165](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/165)) ([d271c2c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d271c2ccdd7653703dc213f879e5e4249f9b4ebd))
* enum support ([#425](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/425)) ([ce91ce5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ce91ce5d4cec55f12bc1d82d46e566cab6d43d42))
* error codes ([#151](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/151)) ([bda9531](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bda953172acf3d6cc274ed5fc9f09b984c2fde84))
* error codes ([#153](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/153)) ([0011202](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0011202bd0317feb371abde0bb39cfb765e050e3))
* error empty entity ([#129](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/129)) ([71c125e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/71c125e359686068c9902f1314685ba6b10a38aa))
* expose router for serving user interface ([#419](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/419)) ([d7871a0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d7871a0f7f66289a7ee96d48a119a0e22a57aa63))
* extract conflicts ([#357](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/357)) ([9172ce2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9172ce23a804e5b9e9cce00fc15a3f297c64227e))
* extract lable conflict detection ([#742](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/742)) ([7a027ec](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7a027ec7343e379cc7fb6bd8a4476033fc9405d7))
* extractor test support ([#386](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/386)) ([f505be7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f505be7312ee32ad8f42573513da53fbda7a613a))
* fake change for publish ([6077d85](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6077d853925e73edd22c5fa88d6b2172b0444f99))
* fake feature to test semantic release ([#271](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/271)) ([ab551fe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ab551fe4ac17929552f9f689f0c8b745b53baec8))
* feature 1835 - enhance session label in detailed views ([#918](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/918)) ([e857a57](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e857a57c221da0b6c90afc1816ff4cd3502d780e))
* feature 1835: align session payload renderer with text,api ([#933](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/933)) ([1df77d3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1df77d33785e0e4bf33c63770bff3709affe1bad))
* final enum implementation ([#1021](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1021)) ([8586e46](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8586e46f5d4f75737c9366c0c752c3df89f74868))
* finalize enum feature ([#1022](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1022)) ([00e1a50](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/00e1a501a8d86150a281b6b9a02bfb88363f59e1))
* force publish ([#188](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/188)) ([9b6d266](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9b6d266fce6be0d8c48c65a1088ea2f02a1e90dc))
* force publish ([#194](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/194)) ([e96e197](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e96e197711e6a3b96f7f646628e8d49e10932de5))
* force version change ([#279](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/279)) ([c232693](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c232693469fec230674128a337ee9676f33a11cc))
* forms don't require entities ([#346](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/346)) ([165523d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/165523d80802b594d49f148e8bcd5fea05cf924d))
* Handle SwitchCondition nodes in .dialog import ([#1339](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1339)) ([50722ff](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/50722fff1ae710f8f0fa0f326e3c1e9fcf278f82))
* highlight entities and values in action lists ([#1302](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1302)) ([a3add6a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3add6aab97c635b77f156037e9ddee823c89566))
* import validation ([#1399](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1399)) ([ffeaa6f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ffeaa6fa355ac2f3c4953cce21ccdcba1dc6decd))
* import warnings - group import properties in train dialogs ([#1330](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1330)) ([6764e16](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6764e169f73e831e6ec127ad3d60ee4112efedb4))
* Improved action creator dialog input labels ([#771](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/771)) ([7cf827e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7cf827ecd4d873c7d1c0736b8389e7ab66aa28af))
* improved entity labelling ([#887](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/887)) ([290b6b2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/290b6b245a3197d2e9da62254f384a9e5bcef552))
* indexbuttons ([#1245](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1245)) ([e656cd3](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e656cd389c38a9f0b8a3a314b8409fa1b0a177fe))
* init memory fixes ([#718](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/718)) ([f060838](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f0608389d754d9c0fb53e19148d3b1c9e743b9c7))
* initial scroll position ([#25](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/25)) ([daa9ad1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/daa9ad17ac3da560ec9d99297b13188bcfe1dbb1))
* jan 19 release ([#411](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/411)) ([480c084](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/480c08488175b52211c4115fa3d6f44f3f7bfa70))
* lg substitution on transcript import ([#499](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/499)) ([fca0915](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fca09152adb392e2d88722bebe294049a86d890c))
* lg support for transcript imports ([#1265](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1265)) ([cb19365](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cb193651d1e400353ac4b26ffcfb951a40d96d47))
* log ranking ([#1382](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1382)) ([e40b0d8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e40b0d8224d16b74e86ffb9be977d1ab27d44b19))
* Log Ranking and Paging ([#1378](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1378)) ([4d92948](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4d92948b58ff94e16438472dc1ef8a8d34d8e367))
* log rich edit ([#337](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/337)) ([8ea94b8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ea94b884566f1ce28833e979b0a6823108e226a))
* log rich editing ([#705](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/705)) ([97ea3dc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/97ea3dc4282932eab915c74b9579d27991cabc89))
* log storage ([#512](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/512)) ([f54b7e1](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f54b7e16902d063b4263b2362581b5542b2eabc4))
* log storage paging ([#517](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/517)) ([d8e241a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d8e241a3faf53d7e532d78b0e612d285db787c1a))
* logdialogeditor ([#1370](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1370)) ([f9e5615](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f9e5615d0bef0fa7d4d45bc637946706f992dd5a))
* logic result entities ([#139](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/139)) ([9726caf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9726caf6c5b543485b3b6ba7bd2234d3772c1457))
* logqueryresult ([#224](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/224)) ([b12f18f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b12f18fa09b7e45b5f1effeb088dcddaa6515704))
* make converter optional on memory managet get ([#382](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/382)) ([ab2a725](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ab2a7257911c3156cefe9aea94cb5589135317a5))
* make EDC assignment instead of function ([#500](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/500)) ([9bd55b2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9bd55b21f72925ed2acf505cc31120c1f5b7802a))
* Memory manager get set ([#379](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/379)) ([35bc501](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/35bc5010aab1ea20bca5dba31542a9a280bf1531))
* merge train dialogs and test ([#1051](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1051)) ([3a06272](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3a062726bf34fc83223af88d6198f6a53f9fcdfd))
* merging of dialogs ([#1069](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1069)) ([e3a9974](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e3a99741073ff564852f7794bce2ed9ff14585d9))
* mock data functions ([#221](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/221)) ([ffa9460](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ffa9460e2a88ca80a6fee56d8971bbbd7e86bd5a))
* multivalue errors and validity warnings ([#143](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/143)) ([61a00ed](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/61a00ed33eb7ebb71e3b4e390f445ffda65e75a1))
* mutli-value change support and replay ([#772](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/772)) ([493512b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/493512b1acfa458cee4d4b1ebb45b23e7db085c0))
* n-way ratings and comparison of transcripts ([#1320](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1320)) ([bde731d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bde731dac4bfa75f6e648874f90ff5438bcad7e1))
* new replay errors for bad callbacks ([#164](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/164)) ([8a5581f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8a5581fd11fd323f73bd082db7d09f58bc19477b))
* New Test Runner Model ([#804](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/804)) ([46878fe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/46878fe835d03bbf5545244a4391578af0ac1ca8))
* OBI dialog import as a tree walk ([#1331](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1331)) ([91cf9dd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/91cf9dd21358736db9020237e04d30503b2ed556))
* only show functions defined in callbacks ([#1065](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1065)) ([bcf4109](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bcf41093554dfb793d205a045be777915fd659ad))
* open log dialog from tester ([#1243](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1243)) ([66dc13c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/66dc13c5c835104b2f10b3fa9f984785bcb3dc62))
* parallell test runs ([5547f13](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5547f132bfc5dc4430d11386e47a3de7ba429174))
* Persistent logging ([11dc6d5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/11dc6d5c583fd6e50da3fce09821ad78fcc09e2a))
* prebuild warning message ([#860](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/860)) ([bdcd017](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/bdcd01716c25ce76e8383391383b9df4bda1a6b1))
* release bits 12-19 ([#401](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/401)) ([d054ccb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d054ccb800ca59044c24640343175a8bbf4a7a07))
* release candidate ([#405](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/405)) ([8e0359e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8e0359ef0eab0881793fa56c8c0696518a725068))
* relese candidate ([#410](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/410)) ([9ccb29a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/9ccb29a79e8cd4522de77884d4e1496e5e143b6e))
* remove forcedActionId ([#205](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/205)) ([b582741](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b58274154e7dca002f5d5b6a062599c3fc0f0ec2))
* remove obsolete highlight prop ([#41](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/41)) ([2013f06](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2013f064c959ca0d7680c9eb649be02b9f083e6a))
* remove org session ([#399](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/399)) ([ea3112f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ea3112fa7c64ed07fb2b7d4c395a006087ee868b))
* remove score reprompt add optional td reprompt for testing ([#1298](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1298)) ([94a073e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/94a073e91edfbb28b33570b06e534f06a571a1ca))
* remove training status from dialogs ([#1191](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1191)) ([41ad45e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/41ad45e4dbf9f63e2bb164d0aefce0793bb463b7))
* rename api stub to api placeholder ([#1247](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1247)) ([ffb6031](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ffb60313e7e1f9b5db3bbfe26da1bc2d348b4a7e))
* rename api stub to api placeholder ([#486](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/486)) ([df08d5d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/df08d5d641de840e7fac97d73b50f548abc33f7d))
* rename copyentity 1737 ([#876](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/876)) ([21e503d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/21e503d0b2ad59ba9bd8f9d70ee20b7c99daea61))
* rename copyentity to copy ([#395](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/395)) ([16ca217](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/16ca217353b04da7e0fc50deafbbdecd1058b039))
* renderSelectedActivity ([#6](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/6)) ([636061d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/636061d6297850a3b9b204b1364f3bcc11956127))
* replace activity text ([#42](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/42)) ([14a53a8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/14a53a8e06b5032f690a988892fae6b7df37e393))
* replay error API undefined ([#929](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/929)) ([09006c0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/09006c0679869444c85a4b0ac8169d19158f9821))
* replay errors for malformed callbacks ([#950](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/950)) ([dbd406b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/dbd406b818e3ff621762654df1da6a1668d9cb1a))
* replay errors for malformed cards ([#420](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/420)) ([8cf7a4d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8cf7a4d7d1d3c3b6cad3a038dfcd942af691d0f4))
* replay errors note when blocking ([#134](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/134)) ([1dd9c23](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1dd9c23ccc3dd84615186fb57646883250e247e9))
* ReplayErrorAPIException ([#160](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/160)) ([e84a037](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e84a037caf5d54cae0af535bd0646903579b903c))
* replayerrorapiundefined ([#157](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/157)) ([7d36715](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/7d3671576f55207ee933e500793aca55ecb8f3d3))
* reprompt ([#496](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/496)) ([57c8bdf](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/57c8bdf9d14fd1f80483455c229c5a5f39dc33b7))
* Reprompt and automatch ([#1263](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1263)) ([6e09636](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6e09636912c287608f540f0f1634d8f28468ed1a))
* reprompt support ([#201](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/201)) ([f43fdc9](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f43fdc91a63805abfbed3e72c921ddf1747b47ac))
* require model name typed for deletion ([#404](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/404)) ([10bd191](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/10bd191485fc14ee924e872e0882f5b745264e81))
* resolver tooltips 1600 1614 ([#797](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/797)) ([353657f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/353657f3b8a08f7a3f2c3d0d79fb6fa2b94fcc2b))
* resolver type ([#371](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/371)) ([8e1261d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8e1261d642466103b33f9f0fa91406420253e70f))
* return memoryvalue for non multi value entities ([#384](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/384)) ([f7fe172](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f7fe17257992c4f69a501afb0f4de4e1ba0cbb83))
* rich dialog editing ([#336](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/336)) ([59a6531](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/59a653113fabeb5adfa284c6e239a1b3d2da4b08))
* schematize channel data ([#137](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/137)) ([eef9038](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/eef90381aea551863a6c3f6c2b92c3d60a12efc1))
* schematize channel data ([#358](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/358)) ([1339abb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/1339abb007e179abbf82d8c2f9d7d037f33c6285))
* schematize channel data and bug fixes ([#743](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/743)) ([24086a8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/24086a8419c9c309230ca5f398d462c9a1a53460))
* scroll change callback ([#21](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/21)) ([8b0112c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8b0112c653d26061951bac257f0bafef794f1016))
* scroll timeout ([#24](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/24)) ([27d2664](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/27d2664b7f4667a35725f0636bc0b70dab92a061))
* sdk version banner ([#118](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/118)) ([9249049](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/924904919b31d69f41ae5e1cabf53ced6097562d))
* send activity heights ([#56](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/56)) ([8b01cd4](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8b01cd4a1eb97c7030e523cd025fb6b1608ca065))
* sessionendstate ([#291](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/291)) ([674010e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/674010ee7cf26737612084aed832ea32ec6edb78))
* sessionendstate ([#644](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/644)) ([64d3fea](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/64d3fea4be81a29c5f584ccbfa505710cb3f335b))
* sessionendstate enum ([#116](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/116)) ([d1d1571](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/d1d15711ba3083299cf0038be3b8ba373dcf53b8))
* set expected entity when capturing inputs to API calls in .dialog import ([#1387](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1387)) ([faaf82c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/faaf82c470108bf993a7f3bfac3d94515f7c2fac))
* set reprompt threshold in model settings ([#498](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/498)) ([157add6](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/157add62cfa5610a4a3b9f7902971764d18c4018))
* setup for single server usage ([#295](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/295)) ([e5a9a02](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e5a9a02ea983d3ce00a57f10356629b6c1aefa15))
* show log conversation conflict modal when editing or saving log ([#1064](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1064)) ([33f5560](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/33f55603492ed81207a9871d1a4eca59cdc5865c))
* show user input array rather than first last in log list ([#1072](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1072)) ([532dc54](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/532dc54026b5700b263315893468bc92db130000))
* store lgname on action ([#210](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/210)) ([3d02963](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3d02963b7896b71139efd23ebfcbbf946d64853e))
* support api calls in validation tests ([#1254](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1254)) ([75c4096](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/75c4096fe3ef1a578f595252dfc13bcecdad6a77))
* support api calls in validation tests ([#195](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/195)) ([63909dd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/63909dd98df64453eb66e8f8b799850fd0a6c6d9))
* support for changing negative entities ([#774](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/774)) ([72177d2](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/72177d2412b1b5891c64e757fcb4c6d53330c189))
* support for changing negative entities ([#776](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/776)) ([72d9396](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/72d93968a7afce5e154f942b2e99b32ce40d25c5))
* support for enum entity types ([#166](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/166)) ([4b885a7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4b885a7f80384d15f6917d6fe8308bf8de4641d1))
* support for n-way comparisons and ratings ([#507](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/507)) ([204081c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/204081ca308d71360200fb09eab07e90187d0263))
* Support import of .dialog HTTP actions ([#1305](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1305)) ([5d6731b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5d6731b8e6b5fd6a9fd4a47069d727d93ec5a3b6))
* switch from score based to TD based reprompt ([#503](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/503)) ([fc176c5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/fc176c56944fda494ad975e578796fe7d64a9ed0))
* task 1834 - extend app list with model id ([#917](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/917)) ([ea25297](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/ea252974125492d927eb859010fc542ef60fa74f))
* team channel fix ([#345](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/345)) ([5efabf0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/5efabf083621cb15533645ca5e8c65c6f9a3a841))
* test for internal labelling conflicts ([#762](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/762)) ([6b12752](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/6b127522c6e3899bb58bb6527126ec44ffc7d423))
* testing panel ([#1237](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1237)) ([14f4bbe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/14f4bbef175240fff7e4d11023ed6ec205995bd4))
* text variation comparison ([#136](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/136)) ([75ecb46](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/75ecb46e0b52127bc4326ad1063396456a6ccfa4))
* text variation to markdown ([#149](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/149)) ([b919560](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b9195601eb01b5ace6cffe3072f2ccc168739d73))
* to extract response ([#140](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/140)) ([900dcf0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/900dcf0e740e0cf8163c965336fbf360ba7dc680))
* tomemory ([#131](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/131)) ([acc8307](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/acc83072bdc1f9d5c430b7276cb47681989c5b05))
* transcript import and validation, api stubs ([#466](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/466)) ([aeaea08](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/aeaea08d1b0a03f8ee70ddebc740e45be468e01e))
* transcript ratings ([#192](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/192)) ([cad6e76](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cad6e761478346790a0e77d770d03e38273fe71a))
* transcript ratings are transitive ([#1333](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1333)) ([f444efe](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/f444efe7e6c110daeb98f8aa5a49102a98f20133))
* transcript validation includes log dialog id ([#189](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/189)) ([0154155](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/0154155669eedd69672566368acea5cf1d84b494))
* transcriptValidationResult ([#1206](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1206)) ([14b44ad](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/14b44ad053cc96c32e807baa7ef1f67d0c8c88fd))
* transcriptValidationResult ([#470](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/470)) ([219b029](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/219b0293060df461ae338da8f10674fbacc7d0e4))
* Tree view ([#1044](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1044)) ([70f434d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/70f434db9ddc4d7d364807bc017fad3ac9a56c5f))
* ui support for entity resolvers ([#792](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/792)) ([be19540](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/be1954082ae512ea363548ce4cc7adb785558688))
* ui to 0.407.0 ([#515](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/515)) ([2827fd0](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/2827fd08c3158ff2dcc1b10b40e4fa565e44229e))
* ui to 0.413.5 ([#519](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/519)) ([65eaa8e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/65eaa8e07a357ed2fa03a2040db1d06f104755d5))
* ui to 411.1 and audit fix ([#518](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/518)) ([475a291](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/475a2913c2eabc712a7d1622d4a94f82cbd576d9))
* ui-0.396.1 ([#509](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/509)) ([e1cff31](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e1cff31337c926e86eaabb35f198240e263cff89))
* update bot builder to 4.0.8 ([#359](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/359)) ([19ee343](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/19ee3436a82ca6eefe557f1d2743a85b47a4e32a))
* update bot memory for imported TrainDialog rounds containing deterministic API calls ([#1354](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1354)) ([93a48c7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/93a48c797e4fff5702ddb72b248ac3a8e11acc08))
* update logic result after action invocation in session ([#356](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/356)) ([e8efe91](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e8efe91c1420b4497f2f1ee529b7d8449f3f7647))
* update models to 169 ([#637](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/637)) ([977c8a5](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/977c8a5c462b819629000c7d0e9ccbda0844da5a))
* update SDK with new entity creation experience ([#343](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/343)) ([890eadc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/890eadc4dc3d60cadaf1f40cd96567b806551016))
* update server to use express instead of restify ([#292](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/292)) ([a70e139](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a70e13912ddcd998551153e6f3aea8d89425e1e3))
* update to adaptivecards 1.2.0 ([#50](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/50)) ([4c61b5f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4c61b5fc478e96b0c9ebec69777d1f6150955e62))
* update to bot builder 4.1.7 ([#381](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/381)) ([08a0efd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/08a0efde4270d987c1a2d1d1bfcba33d84b73d61))
* update travis yml to change directories instead of configuration release plugin ([#591](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/591)) ([852071f](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/852071f45af0aa2cae968fceb090ccb89a06a3b9))
* update ui ([#433](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/433)) ([80cc16c](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/80cc16c7f404b1d7097b8aba1c8732b38c66800e))
* update ui ([#434](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/434)) ([4a35dfd](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4a35dfd49df3ac84ef7fb3e2fd103861c01dd11e))
* update ui and models ([#354](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/354)) ([cdd3815](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/cdd38150a904adaeb62d23e481d9e18b6d4be34f))
* update ui for testing nav ([#483](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/483)) ([b613275](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b6132754983131a32d217930656a4d41cae8ac63))
* upgrade of Fabric 7.x ([#1252](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1252)) ([af932dc](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/af932dcdf315aa2cce074a2bb29ce43eedaf83e9))
* upgrade office-ui-fabric-react to 6.185.0 ([#1164](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1164)) ([a3a6f67](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/a3a6f675b1a18736b718a7b462287711b98283f9))
* use DISPATCH action type instead of overloaded TEXT action ([#493](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/493)) ([3b6438e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b6438e983730979ed9e0126e071a1afad6e697d))
* use DISPATCH actions instead of overloading TEXT actions ([#1256](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1256)) ([e2ddbe8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e2ddbe8ac4875bc95941cb94088a86dcd06ca8db))
* use models package for mock data generation ([#1368](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1368)) ([4a0279b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/4a0279b6e835949847e540dafcc9a37c315bcc0b))
* use radio buttons for action deletion and add help panel information ([#1163](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1163)) ([94a5efb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/94a5efb7c305e46d8afc1dfe7a272d3ceb87d195))
* use url port by default unless it's default dev or test ([#1126](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1126)) ([3f919e7](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3f919e7dbca423cf6409d8fbfad6f4c5159f8757))
* utilities for finding matching train dialogs ([#1049](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1049)) ([3298a8e](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3298a8eb9208b5904043fb7a6b4332ea2e3d5292))
* validatation test cancel ([#1200](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1200)) ([44f79f8](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/44f79f86b3bd3d4814d3257209787a60e1250aca))
* validate running bot against UI ([#403](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/403)) ([3b5b606](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/3b5b60672d9b7327d3294b8597dbe83b97606d84))
* validation replay error and store source history ([#190](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/190)) ([e848a3d](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/e848a3dfc5cf93f1f472dee9214de202aae76a5a))
* warning and reload bot info if running bot changed ([#904](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/904)) ([b64dceb](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/b64dceb2a18f080ca553a04b82799d8f5c41af4e))
* webscroll ([#709](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/709)) ([46caa4b](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/46caa4be792b57ad4d8c75cc4f51da8daeb1c7e0))
* when extraction conflict allow user to choose ([#1238](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/1238)) ([8ac4e75](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/8ac4e75831fa1ec6e118b9ed403aee7e8c098fba))
### Reverts
* Revert "test: tunning tests performance. (#638)" (#639) ([c399b2a](https://github.com/mattmazzola/conversationlearner-lerna-01/commit/c399b2a0593cb5f026222b9999fcbd8ba60cd80a)), closes [#638](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/638) [#639](https://github.com/mattmazzola/conversationlearner-lerna-01/issues/639)
### BREAKING CHANGES
* **env:** Change CONVERSATION_LEARNER_APP_ID to CONVERSATION_LEARNER_MODEL_ID

Просмотреть файл

114
README.md Normal file
Просмотреть файл

@ -0,0 +1,114 @@
# ConversationLearner
[![CircleCI](https://circleci.com/gh/mattmazzola/conversation-learner-lerna.svg?style=svg)](https://circleci.com/gh/mattmazzola/conversation-learner-lerna)
This repo contains 5 major components:
1. **Samples** - Fully working bots using express, botbuilder, and the ConversationLearner SDK which demonstrate different use cases in code.
1. **SDK** - Conversation Learner Software Development Kit. This acts as entry point and is intended to be included in your own bots.
1. **Administration UI** - Provides graphical interface to manage, train, and test your bot.
1. **WebChat** - Custom fork of standard [WebChat](https://github.com/Microsoft/BotFramework-WebChat) which adds ability to load existing activities and show editing controls.
1. **Models** - Contains shared code between the SDK and UI such as types and utilities.
# Getting started
1. Clone and build the repo
```bash
git clone https://github.com/Microsoft/ConversationLearner cl
cd cl
npm i
npx lerna bootstrap
npx lerna run build
```
2. Start the bot
Create new .env file in the samples directory with your LUIS keys.
```bash
cd ./packages/samples
cp .env.example .env
<Add LUIS_AUTHORING_KEY and save>
npm start
```
You should see output similar to below (PORT may be different):
```bash
Adding /sdk routes
Adding /ui routes
Adding /directline routes
Server listening at: http://localhost:3978
```
Note the /ui /sdk and /directline routes are printed because we're running in development. These routes are not mounted in production.
3. Run the UI
(Might need new terminal)
```
cd ./packages/ui
npm start
```
# More Details about the SDK (Software Development Kit) package
The SDK includes contains 2 notable components:
1. [Express](https://expressjs.com/en/guide/routing.html) Router - The router is mounted to your server in development and used by the UI (above) during training
2. Recognizer - Similar to other [BotBuilder](https://github.com/Microsoft/botbuilder-js) recognizers like [LUIS](https://github.com/Microsoft/botbuilder-js/blob/master/samples/luis-bot-es6/app.js#L64) the CL recognizer processes the given Bot context and returns results such as messages, adaptive cards, and more.
# Using the SDK
Install @mattmazzola/sdk in consuming project:
```bash
npm install @mattmazzola/sdk --save-exact
```
> Note: We recommend using --save-exact to lock the version since we are NOT following SemVer at this time. This can help prevent accidental package updates which may contain breaking changes if you are not using package-lock.json. We will move to following SemVer soon as we improve our release process.
Using the recognizer:
```typescript
import { ConversationLearner, ICLOptions, ClientMemoryManager } from '@mattmazzola/sdk'
...
const sdkRouter = ConversationLearner.Init({
CONVERSATION_LEARNER_SERVICE_URI: process.env.CONVERSATION_LEARNER_SERVICE_URI
})
if (isDevelopment) {
server.use('/sdk', sdkRouter)
}
...
const cl = new ConversationLearner(modelId);
server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async context => {
const result = await cl.recognize(context)
if (result) {
cl.SendResult(result);
}
})
})
```
## Using the UI router.
Previously the UI was served separately and required to be run on a different port than your bot. Now the UI is included with your bot! The ui is availble at the `/ui` path of your bot url. The leaves the root `/` available for you to add a Bot landing page. There you can summarize your bot's purpose and capabilities to the user.
```typescript
...
import { uiRouter } from '@mattmazzola/sdk'
...
"Mount the router at the root `/` as it internally has the /ui paths."
server.use(uiRouter)
...
server.listen(port)
```

21
RELEASE.md Normal file
Просмотреть файл

@ -0,0 +1,21 @@
# Release Process
This document outlines the process a developer would take to release a new version of @mattmazzola/sdk.
## Dependency Tree
In normal applications UI is generally the top level dependency the user interacts with; however, in this case @mattmazzola/ui is an actual npm package of the @mattmazzola/sdk. This allows the SDK to provide every thing the developer needs to get started.
```
converstionlearner-samples
|
@mattmazzola/sdk
| \
| @mattmazzola/ui
| / \
| / @mattmazzola/webchat
| /
@mattmazzola/models
```
> Notice @mattmazzola/models is consumed by both the SDK and UI

Просмотреть файл

@ -8,9 +8,9 @@ branches:
cache:
- '%AppData%\npm-cache -> appveyor.yml'
- node_modules -> package-lock.json
install:
- npm ci
- npx lerna bootstrap
before_build:
# Output useful info for debugging.
@ -18,7 +18,7 @@ before_build:
- npm --version
build_script:
- npm run build
- npx lerna run build
test_script:
- npm run test
- npx lerna run test --ignore @mattmazzola/webchat

Просмотреть файл

@ -23,8 +23,8 @@ jobs:
- bash: npm --version
displayName: 'npm --version'
- bash: npm ci
displayName: 'npm ci'
- bash: npx lerna boostrap
displayName: 'npx lerna boostrap'
# - task: CacheBeta@0
# inputs:
@ -32,11 +32,11 @@ jobs:
# path: $(npm_config_cache)
# displayName: Cache npm
- bash: npm run build
displayName: 'npm run build'
- bash: npx lerna run build
displayName: 'npx lerna run build'
- bash: npm test
displayName: 'npm test'
- bash: npx lerna run test --ignore @mattmazzola/webchat
displayName: 'npx lerna run test --ignore @mattmazzola/webchat'
- job: windows_build
pool:
@ -61,8 +61,8 @@ jobs:
- script: npm ci
displayName: 'npm ci'
- script: npm run build
displayName: 'npm run build'
- script: npx lerna run build
displayName: 'npx lerna run build'
- script: npm test
displayName: 'npm test'
- script: npx lerna run test
displayName: 'npx lerna run test'

Просмотреть файл

Просмотреть файл

@ -1,33 +0,0 @@
version: 2.1
jobs:
build:
docker:
- image: circleci/node:lts
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: npm run test
- run: npm run build
- run: npm run report-coverage
workflows:
build:
jobs:
- build

23
packages/models/.vscode/launch.json поставляемый
Просмотреть файл

@ -1,23 +0,0 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest Tests",
"program": "${workspaceRoot}\\node_modules\\jest\\bin\\jest.js",
"args": [
"-i"
],
"preLaunchTask": "build",
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/dist/**/*"
]
}
]
}

11
packages/models/.vscode/settings.json поставляемый
Просмотреть файл

@ -1,11 +0,0 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"workbench.colorCustomizations": {
"activityBar.background": "#704d19"
},
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"docs/**/*": true,
}
}

Просмотреть файл

@ -2,39 +2,10 @@
Models for ConversationLearner
![GitHub Build Status](https://github.com/microsoft/ConversationLearner-Models/workflows/build/badge.svg)
[![Travis Build Status](https://travis-ci.org/microsoft/ConversationLearner-Models.svg?branch=master)](https://travis-ci.org/microsoft/ConversationLearner-Models)
[![CircleCI](https://circleci.com/gh/microsoft/ConversationLearner-Models.svg?style=svg)](https://circleci.com/gh/microsoft/ConversationLearner-Models)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/Microsoft/ConversationLearner-Models?branch=master&svg=true)](https://ci.appveyor.com/project/conversationlearner/conversationlearner-models)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![Coverage Status](https://coveralls.io/repos/github/Microsoft/ConversationLearner-Models/badge.svg)](https://coveralls.io/github/Microsoft/ConversationLearner-Models)
### Usage
This library is a collection of types, interfaces, and utilities shared across other ConversationLearner repositories:
```bash
git clone https://github.com/Microsoft/conversationlearner-models.git conversationlearner-models
cd conversationlearner-models
npm install
npm run build
npm test
```
### Importing library
## Importing library
```typescript
import * as models from '@conversationlearner/models'
```
### Semantic Release
Semantic release works by analyzing all commits that have occurred since the last release, computing the next version to increment based on the most significant commit found, then tagging and publishing a new package with that version.
See: https://semantic-release.gitbooks.io/semantic-release/content/#how-does-it-work
In order to analyze the commit messages reliably they must be in a known format. To help writing these commits there is a tool at `npm run commit` which acts a wizard walking you through the options.
For most use cases the only change required is to type a special word in front of your normal commit messages. Instead of "add function to compute X" put "feat: add function to compute X". Based on the rules "feat" is mapped to a "minor" release.
Video Demo: https://youtu.be/qf7c-KxBBZc?t=37s

Просмотреть файл

@ -1,24 +0,0 @@
skip_branch_with_pr: true
skip_tags: true
branches:
only:
- master
cache:
- '%AppData%\npm-cache -> appveyor.yml'
- node_modules -> package-lock.json
install:
- npm ci
before_build:
# Output useful info for debugging.
- node --version
- npm --version
build_script:
- npm run build
test_script:
- npm run test

Просмотреть файл

@ -1,97 +0,0 @@
version: 2.1
jobs:
build:
docker:
- image: circleci/node:10.6.0-browsers
environment:
## this enables colors in the output
TERM: xterm
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: npm run build
- run: npm run test
test:
docker:
- image: cypress/browsers:node11.13.0-chrome73
environment:
## this enables colors in the output
TERM: xterm
ipc: host ## https://github.com/cypress-io/cypress/issues/350
parallelism: 1
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: npm run build
# Clone the UI to access tests
- run: git clone https://github.com/microsoft/ConversationLearner-UI ../ui
- run: cd ../ui && npm ci
# Run the sample
- run:
command: npm run test-apicallbacks > start.txt
background: true
# Run smoke tests against sample
- run: npx wait-on -- http://localhost:3978
- run: cd ../ui && npm run cypress -- run --record false --spec "cypress/integration/smoke/**/*.spec.*" --config "baseUrl=http://localhost:3978/ui"
- store_artifacts:
path: ../ui/cypress/videos
- store_artifacts:
path: ../ui/cypress/screenshots
- run:
command: cd ../ui && npm run cypress -- run --record false --spec "cypress/integration/release/**/*.spec.*" --config "baseUrl=http://localhost:3978"
when: always
- store_artifacts:
path: ../ui/cypress/videos
- store_artifacts:
path: ../ui/cypress/screenshots
workflows:
build-test:
jobs:
- build
- test:
requires:
- build

28
packages/samples/.github/issue_template.md поставляемый
Просмотреть файл

@ -1,28 +0,0 @@
#### Do you want to request a _feature_ or report a _bug_?
#### What's the current behavior?
<!--
If reporting a bug, please include log output, screenshots, or video.
To take videos you can use: http://recordit.co/
-->
#### What's the expected behavior?
<!--
The fastest, and most appreciated way to have your issue fixed is to create a pull request with working, tested code and we will help get it merged.
-->
#### Please tell us about your environment:
<!--
Please include versions OS, node, npm, browser (if applicable)
Example:
Windows Version 10.0.17134 Build 17134
node 8.11.0
npm 6.0.1
Chrome Version 66.0.3359.181 (Official Build) (64-bit)
-->

Просмотреть файл

@ -1,2 +0,0 @@
/**/node_modules
/**/.vscode

Просмотреть файл

@ -1,24 +0,0 @@
language: node_js
branches:
only:
- master
- develop
cache:
directories:
- ~/.npm
- ~/.cache
notifications:
email: false
node_js:
- node
install:
- npm ci
script:
- npm run build
- npm test

184
packages/samples/.vscode/launch.json поставляемый
Просмотреть файл

@ -1,184 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Empty Bot",
"program": "${workspaceFolder}/lib/server.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
"sourceMaps": true
},
{
"type": "node",
"request": "launch",
"name": "tutorialGeneral",
"program": "${workspaceFolder}/lib/server.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialEntityDetectionCallback",
"program": "${workspaceFolder}/lib/demos/tutorialEntityDetectionCallback.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialAPICalls",
"program": "${workspaceFolder}/lib/demos/tutorialAPICalls.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialSessionCallbacks",
"program": "${workspaceFolder}/lib/demos/tutorialSessionCallbacks.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
}, {
"type": "node",
"request": "launch",
"name": "demoPasswordReset",
"program": "${workspaceFolder}/lib/demos/demoPasswordReset.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
},
{
"type": "node",
"request": "launch",
"name": "demoPizzaOrder",
"program": "${workspaceFolder}/lib/demos/demoPizzaOrder.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoLogStorage",
"program": "${workspaceFolder}/lib/demos/demoLogStorage.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "tutorialHybrid",
"program": "${workspaceFolder}/lib/demos/tutorialHybrid.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoVRAppLauncher",
"program": "${workspaceFolder}/lib/demos/demoVRAppLauncher.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoStorage",
"program": "${workspaceFolder}/lib/demos/demoStorage.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "demoMultiCL",
"program": "${workspaceFolder}/lib/demos/demoMultiCL.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "Conversation Learner UI",
"program": "${workspaceFolder}/lib/ui.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
]
},
{
"type": "node",
"request": "launch",
"name": "Empty App with Fiddler",
"program": "${workspaceFolder}/lib/server.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"runtimeArgs": [
"--preserve-symlinks"
],
"env": {
"https_proxy": "http://127.0.0.1:8888",
"http_proxy": "http://127.0.0.1:8888",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
]
}

6
packages/samples/.vscode/settings.json поставляемый
Просмотреть файл

@ -1,6 +0,0 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"workbench.colorCustomizations": {
"activityBar.background": "#065219"
}
}

16
packages/samples/.vscode/tasks.json поставляемый
Просмотреть файл

@ -1,16 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"identifier": "build",
"type": "npm",
"script": "build",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

Просмотреть файл

@ -284,7 +284,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Related repositories
- [@conversationlearner/sdk](https://github.com/Microsoft/ConversationLearner-SDK)
- [@conversationlearner/ui](https://github.com/Microsoft/ConversationLearner-UI)
- [@conversationlearner/models](https://github.com/Microsoft/ConversationLearner-Models)
- [@conversationlearner/webchat](https://github.com/Microsoft/ConversationLearner-WebChat)
- [Conversation Learner Monorepo](https://github.com/microsoft/conversationlearner)

Просмотреть файл

@ -1,26 +0,0 @@
# Do not build feature branch with open Pull Requests
skip_branch_with_pr: true
skip_tags: true
branches:
only:
- master
- develop
cache:
- '%AppData%\npm-cache -> appveyor.yml'
- '%AppData%\..\Local\Cypress\Cache -> package-lock.json'
install:
- npm ci
before_build:
# Output useful info for debugging.
- node --version
- npm --version
build_script:
- npm run build
test_script:
- npm run test

Просмотреть файл

@ -1,48 +0,0 @@
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
# if you want continuous build of the master branch, uncomment trigger condition below
#trigger:
#- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm ci
npm run build
displayName: 'npm install and build'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'ChatBotTrial'
publishLocation: 'Container'
# Task below shows an example of deploying built application to Azure
# In the example below, the app service will be deployed to an Azure subscription called CL
#- task: AzureRmWebAppDeployment@4
# inputs:
# ConnectionType: 'AzureRM'
# azureSubscription: 'CL(123af435-12b8-4c93-b242-326b2c3d191c)'
# appType: 'webApp'
# WebAppName: 'cl-sdk-sample'
# packageForLinux: '$(Build.ArtifactStagingDirectory)/**/*.zip'
# GenerateWebConfig: true
# WebConfigParameters: '-Handler iisnode -NodeStartFile lib/server.js -appType node'

Просмотреть файл

@ -1,32 +0,0 @@
version: 2.1
jobs:
build:
docker:
- image: circleci/node:lts
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: npm run build
- run: npm run test
workflows:
build:
jobs:
- build

Просмотреть файл

@ -1,27 +0,0 @@
language: node_js
branches:
only:
- master
- /^greenkeeper/.*$/
cache:
directories:
- ~/.npm
- node_modules
node_js:
- node
install:
- npm ci
script:
- npm test
- npm run build
deploy:
provider: script
skip_cleanup: true
script:
- npx semantic-release

35
packages/sdk/.vscode/launch.json поставляемый
Просмотреть файл

@ -1,35 +0,0 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"processId": "${command:PickProcess}",
"stopOnEntry": true,
"sourceMaps": true,
"port": 5858,
"outFiles": [
"${workspaceRoot}/lib/**/*"
]
},
{
"type": "node",
"request": "launch",
"name": "Jest Tests",
"program": "${workspaceRoot}\\node_modules\\jest\\bin\\jest.js",
"args": [
"-i"
],
"preLaunchTask": "build",
"internalConsoleOptions": "openOnSessionStart",
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/lib/**/*"
]
}
]
}

22
packages/sdk/.vscode/tasks.json поставляемый
Просмотреть файл

@ -1,22 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"identifier": "build",
"type": "npm",
"script": "build",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"identifier": "setpublishversion",
"type": "npm",
"script": "setpublishversion",
"group": "build",
}
]
}

Просмотреть файл

@ -2,10 +2,6 @@
Conversation Learner Software Development Kit
[![Travis](https://travis-ci.org/Microsoft/ConversationLearner-SDK.svg?branch=master)](https://travis-ci.com/Microsoft/ConversationLearner-SDK)
[![CircleCI](https://circleci.com/gh/Microsoft/ConversationLearner-SDK.svg?style=shield)](https://circleci.com/gh/Microsoft/ConversationLearner-SDK)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/Microsoft/ConversationLearner-SDK?branch=master&svg=true)](https://ci.appveyor.com/project/conversationlearner/conversationlearner-sdk)
This repo is intended to be consumed by your bot. The SDK contains 3 major components:
1. Administration UI - provides graphical interface to manage, train, and test your bot
2. [Express](https://expressjs.com/en/guide/routing.html) Router - The router is mounted to your server in development and used by the UI (above) during training
@ -62,28 +58,7 @@ import { uiRouter } from '@conversationlearner/sdk'
"Mount the router at the root `/` as it internally has the /ui paths."
server.use(uiRouter)
...
...
server.listen(port)
```
# Contributing
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Semantic Release
Semantic release works by analyzing all commits that have occurred since the last release, computing the next version to increment based on the most significant commit found, then tagging and publishing a new package with that version.
See: https://semantic-release.gitbooks.io/semantic-release/content/#how-does-it-work
In order to analyze the commit messages reliably they must be in a known format. To help writing these commits there is a tool at `npm run commit` which acts a wizard walking you through the options.
For most use cases the only change required is to type a special word in front of your normal commit messages. Instead of "add function to compute X" put "feat: add function to compute X". Based on the rules "feat" is mapped to a "minor" release.
Video Demo: https://youtu.be/qf7c-KxBBZc?t=37s
# Release Process
See: [RELEASE](/RELEASE.md)

Просмотреть файл

@ -1,80 +0,0 @@
# Release Process
This document outlines the process a developer would take to release a new version of @conversationlearner/sdk.
## Dependency Tree
In normal applications UI is generally the top level dependency the user interacts with; however, in this case @conversationlearner/ui is an actual npm package of the @conversationlearner/sdk. This allows the SDK to provide every thing the developer needs to get started.
```
converstionlearner-samples
|
@conversationlearner/sdk
| \
| @conversationlearner/ui
| /
@conversationlearner/models
```
> Notice @conversationlearner/models is consumed by both the SDK and UI
# Self-contained changes
If the code changes to `@conversationlearner/sdk` do not require changes in `@conversationlearner/ui` or `@conversationlearner/models` then no special action is needed. Simply submit a PR and the merge will automatically publish a new version. Then update `converstionlearner-samples` to consume this new version.
# Cross-repo changes
In this case the code changes would require updates to @conversationlearner/models and/or @conversationlearner/ui.
In order to the changes without having to publish packages it is recommended to use [`npm link`](https://docs.npmjs.com/cli/link). This essentially points the dependency to another location on disk instead of an actual package which means you gets live updates as dependencies are re-built.
1. Get `link` chain setup, make necessary code changes across all repos, and test.
(Since all the code changes are complete and tested the only thing left to do is use the actual npm packages instead of the locally linked versions)
2. Submit PR for changes in `@conversationlearner/models`
> Note: When committing changes you should use the `npm run commit` command which will output a conventional commit message. This message is analyzed by the build to know which version to increment.
3. Merge PR to auto-publish new version of `@conversationlearner/models` based on changes.
4. Uptake new version of `@conversationlearner/models` in `@conversationlearner/ui` and `@conversationlearner/sdk`
5. Submit PR for changes in `@conversationlearner/ui`
6. Merge PR to auto-publish new version of `@conversationlearner/ui` based on changes.
7. Update new version of `@conversationlearner/ui` in `@conversationlearner/sdk`
8. Submit PR for changes in `@conversationlearner/sdk`
9. Merge PR to auto-publish new version of `@conversationlearner/sdk` based on changes.
10. Update new version of `@conversationlearner/sdk` in `conversationlearner-samples`
11. Submit PR for changes in `conversationlearner-samples`
12. Merge PR
(conversationlearner-samples is not an npm package; no publishing is required)
# Promoting packages to latest
`@conversationlearner/sdk` is the only package we expect consumers to use and by default it is published to the `next` tag to allow publishing releases of newer possibly breaking features without risking or disrupting current user workflow.
After it's determined that the particular version of the package is stable it can be promoted to the `latest` tag to become the default package installed by users.
To promote a package to latest tag:
```bash
npm dist-tag add @conversationlearner/sdk@0.126.0 latest
```
To view tags for a particular pacakge:
```bash
npm view @conversationlearner/sdk dist-tags
```
To view all published versions:
```bash
npm view @conversationlearner/sdk versions
```

Просмотреть файл

@ -1,68 +0,0 @@
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
trigger:
- master
pr:
autoCancel: true
branches:
include:
- master
jobs:
- job: linux_build
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js 10.x'
- bash: npm --version
displayName: 'npm --version'
- bash: npm ci
displayName: 'npm ci'
# - task: CacheBeta@0
# inputs:
# key: $(Build.SourcesDirectory)/package-lock.json
# path: $(npm_config_cache)
# displayName: Cache npm
- bash: npm run build
displayName: 'npm run build'
- bash: npm test
displayName: 'npm test'
- job: windows_build
pool:
vmImage: 'windows-2019'
steps:
- task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@2
displayName: 'Run CredScan'
inputs:
debugMode: false
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@1
displayName: 'Post Analysis'
inputs:
CredScan: true
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js 10.x'
- script: npm ci
displayName: 'npm ci'
- script: npm run build
displayName: 'npm run build'
- script: npm test
displayName: 'npm test'

Просмотреть файл

@ -1,151 +0,0 @@
version: 2.1
# https://circleci.com/docs/2.0/reusing-config/#the-commands-key
commands:
run-bot-and-ui:
description: "Runs the sample bot and the UI to allow E2E test to be run."
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
# Randomly pick 1 out of 5 LUIS Authoring Keys and set the BASH_ENV with it.
- run: node .circleci/SetLuisAuthoringKey.js >> $BASH_ENV
# Clone the Samples BOT
- run: git clone https://github.com/Microsoft/ConversationLearner-Samples -b develop ../cl-samples
# Install and build sample Bot application
- run: cd ../cl-samples && npm ci
- run: cd ../cl-samples && npm run build
# Run sample
- run:
command: cd ../cl-samples && npm run test-apicallbacks
background: true
# Run UI
- run:
command: npm start
background: true
# Ensure bot and ui are running
# TODO: Find out why this fails.
# For some reason this times out as failure even though the bot is running and request should succeed
# - run: npx wait-on -- http://localhost:3978
- run: npx wait-on -- http://localhost:3000
save-test-results:
description: "Save artifacts and test results"
steps:
- store_artifacts:
path: results
- store_artifacts:
path: cypress/videos
- store_artifacts:
path: cypress/screenshots
- store_test_results:
path: results
jobs:
build:
docker:
- image: cypress/browsers:chrome65-ff57
environment:
TERM: xterm
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
- v1-deps-{{ .Branch }}
- v1-deps
- run: node --version
- run: npm --version
- run: npm ci
- save_cache:
key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
paths:
- ~/.npm
- ~/.cache
- run: npm run test
- run: npm run cibuild
test-smoke:
docker:
- image: cypress/browsers:chrome65-ff57
environment:
## this enables colors in the output
TERM: xterm
ipc: host ## https://github.com/cypress-io/cypress/issues/350
parallelism: 1
steps:
- run-bot-and-ui
# Run UI e2e tests
# Need to add in --parallel once we have a license for it from Cypress
- run: npm run cypress -- run --record false --spec "cypress/integration/smoke/required/**/*.spec.*"
- save-test-results
test-regression:
docker:
- image: cypress/browsers:chrome65-ff57
environment:
## this enables colors in the output
TERM: xterm
ipc: host ## https://github.com/cypress-io/cypress/issues/350
parallelism: 1
steps:
- run-bot-and-ui
# Run UI e2e tests
# Need to add in --parallel once we have a license for it from Cypress
- run: npm run cypress -- run --record false --spec "cypress/integration/Regression/**/*.spec.js"
- save-test-results
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/regressionTs/**/*.spec.*"
when: always
- save-test-results
- run:
command: npm run cypress -- run --record false --spec "cypress/integration/Tools/DeleteAllTestGeneratedModels.spec.js"
when: always
- save-test-results
workflows:
build-test:
jobs:
- build
- test-smoke:
requires:
- build
- test-regression:
requires:
- build

Просмотреть файл

@ -1,35 +0,0 @@
language: node_js
branches:
only:
- master
- /^greenkeeper/.*$/
cache:
directories:
- ~/.npm
- ~/.cache
notifications:
email: false
node_js:
- node
install:
- npm ci
script:
- npm run cibuild
- npm test
after_success:
- npm run builduipackage
before_deploy:
- cd package
deploy:
provider: script
skip_cleanup: true
script:
- npx semantic-release

41
packages/ui/.vscode/launch.json поставляемый
Просмотреть файл

@ -1,41 +0,0 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch FileServices.js",
"program": "${workspaceFolder}/cypress/plugins/FileServices.js"
},
{
"name": "Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3003",
"webRoot": "${workspaceRoot}/src",
"userDataDir": "${workspaceRoot}/.vscode/chrome",
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/*"
}
},
{
"name": "Debug CRA Tests",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts-ts",
"args": [
"test",
"--runInBand",
"--no-cache",
"--env=jsdom"
],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
]
}

32
packages/ui/.vscode/settings.json поставляемый
Просмотреть файл

@ -1,32 +0,0 @@
// Place your settings in this file to overwrite default and user settings.
{
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"dist": true
},
"typescript.tsdk": "node_modules/typescript/lib",
"cSpell.words": [
"adaptivecards",
"autobind",
"be",
"conversationlearner",
"deserialize",
"inlines",
"segoe",
"selectable",
"to",
"truthy"
],
"workbench.colorCustomizations": {
"activityBar.background": "#164e86"
},
"json.schemas": [
{
"fileMatch": [
"cypress.json"
],
"url": "https://on.cypress.io/cypress.schema.json"
}
]
}

17
packages/ui/.vscode/tasks.json поставляемый
Просмотреть файл

@ -1,17 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "start",
"group": "none"
},
{
"type": "npm",
"script": "build",
"group": "build"
}
]
}

Просмотреть файл

@ -2,27 +2,6 @@
This is the user interface which acts as administration portal for ConversationLearner where you can manage, train, and test your bots.
[![Travis](https://travis-ci.org/Microsoft/ConversationLearner-UI.svg?branch=master)](https://travis-ci.com/Microsoft/ConversationLearner-UI)
[![CircleCI](https://circleci.com/gh/Microsoft/ConversationLearner-UI.svg?style=shield)](https://circleci.com/gh/Microsoft/ConversationLearner-UI)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/Microsoft/ConversationLearner-UI?branch=master&svg=true)](https://ci.appveyor.com/project/conversationlearner/conversationlearner-ui)
# Contributing
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Semantic Release
Semantic release works by analyzing all commits that have occurred since the last release, computing the next version to increment based on the most significant commit found, then tagging and publishing a new package with that version.
See: https://semantic-release.gitbooks.io/semantic-release/content/#how-does-it-work
In order to analyze the commit messages reliably they must be in a known format. To help writing these commits there is a tool at `npm run commit` which acts a wizard walking you through the options.
For most use cases the only change required is to type a special word in front of your normal commit messages. Instead of "add function to compute X" put "feat: add function to compute X". Based on the rules "feat" is mapped to a "minor" release.
Video Demo: https://youtu.be/qf7c-KxBBZc?t=37s
#
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

Просмотреть файл

@ -1,29 +0,0 @@
# Do not build feature branch with open Pull Requests
skip_branch_with_pr: true
skip_tags: true
branches:
only:
- master
init:
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- cmd: set NODE_OPTIONS=--max-old-space-size=3072
cache:
- '%AppData%\npm-cache -> appveyor.yml'
- '%AppData%\..\Local\Cypress\Cache'
install:
- npm ci
before_build:
# Output useful info for debugging.
- node --version
- npm --version
build_script:
- npm run cibuild
test_script:
- npm run test

Просмотреть файл

@ -1,122 +0,0 @@
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
trigger:
- master
pr:
autoCancel: true
branches:
include:
- master
jobs:
- job: linux_build
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js 10.x'
- bash: npm --version
displayName: 'npm --version'
- bash: npm ci
displayName: 'npm ci'
# - task: CacheBeta@0
# inputs:
# key: $(Build.SourcesDirectory)/package-lock.json
# path: $(npm_config_cache)
# displayName: Cache npm
- bash: npm test
displayName: 'npm test'
- bash: npm run cibuild
displayName: 'npm run cibuild'
- job: linux_test
dependsOn: linux_build
condition: false
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js 10.x'
- bash: npm --version
displayName: 'npm --version'
- bash: npm ci
displayName: 'npm ci'
# Randomly pick 1 out of 5 LUIS Authoring Keys and set the BASH_ENV with it.
# - run: node .circleci/SetLuisAuthoringKey.js >> $BASH_ENV
- bash: git clone https://github.com/Microsoft/ConversationLearner-Samples -b develop ../cl-samples
displayName: 'Clone the Samples BOT'
- bash: npm ci
workingDirectory: ../cl-samples
displayName: 'Samples - npm ci'
- bash: npm run build
workingDirectory: ../cl-samples
displayName: 'Samples - npm run build'
- bash: npm run test-apicallbacks &
workingDirectory: ../cl-samples
displayName: 'Samples - npm start'
- bash: npm start &
displayName: 'UI - npm start'
# - bash: npx wait-on -- http://localhost:3978
- bash: npx wait-on -- http://localhost:3000
displayName: 'npx wait-on -- http://localhost:3000'
- bash: npm run cypress -- run --record false --spec "cypress/integration/Regression/**/*.spec.js"
displayName: 'Run Cypress Regression Tests'
- bash: npm run cypress -- run --record false --spec "cypress/integration/regressionTs/**/*.spec.*"
displayName: 'Run Cypress Typescript Regression Tests'
condition: always()
- bash: npm run cypress -- run --record false --spec "cypress/integration/Tools/DeleteAllTestGeneratedModels.spec.js"
displayName: 'Run Cypress Delete Models'
condition: always()
- job: windows_build
pool:
vmImage: 'windows-2019'
steps:
- task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@2
displayName: 'Run CredScan'
inputs:
debugMode: false
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@1
displayName: 'Post Analysis'
inputs:
CredScan: true
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js 10.x'
- script: npm ci
displayName: 'npm ci'
- script: npm run cibuild
displayName: 'npm run cibuild'
- script: npm test
displayName: 'npm test'