fix(core): Bot Server is runnable again after refactory.

This commit is contained in:
Rodrigo Rodriguez (pragmatismo.io) 2018-11-30 11:55:44 -02:00
parent 3f32e48fad
commit 9379dec1b0
14 changed files with 187 additions and 563 deletions

5
package-lock.json generated
View file

@ -19158,6 +19158,11 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
}, },
"vbscript-to-typescript": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/vbscript-to-typescript/-/vbscript-to-typescript-1.0.8.tgz",
"integrity": "sha512-vjElTpd4EVxUoxeGrRId4hetHdlyxIRicxkZxdErFfLJ9X7xyw0HEboXZO+s8prIC7s1eh0ulkuVbencrv6fAQ=="
},
"verror": { "verror": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",

View file

@ -108,6 +108,7 @@
"typedoc-plugin-markdown": "^1.1.18", "typedoc-plugin-markdown": "^1.1.18",
"typescript": "3.1.6", "typescript": "3.1.6",
"url-join": "4.0.0", "url-join": "4.0.0",
"vbscript-to-typescript": "^1.0.8",
"wait-until": "0.0.2", "wait-until": "0.0.2",
"walk-promise": "0.2.0", "walk-promise": "0.2.0",
"winston": "3.1.0" "winston": "3.1.0"

View file

@ -80,6 +80,7 @@ export class WelcomeDialog extends IGBDialog {
await step.replaceDialog('/answer', { query: step.context.activity.text }); await step.replaceDialog('/answer', { query: step.context.activity.text });
} }
} }
return await step.next(); return await step.next();
} }
])); ]));

View file

@ -32,8 +32,8 @@
'use strict'; 'use strict';
import { WaterfallDialog } from 'botbuilder-dialogs'; import { TurnContext } from 'botbuilder';
import { IGBInstance, IGBPackage ,GBMinInstance } from 'botlib'; import { GBMinInstance } from 'botlib';
/** /**
* @fileoverview General Bots server core. * @fileoverview General Bots server core.
@ -41,41 +41,30 @@ import { IGBInstance, IGBPackage ,GBMinInstance } from 'botlib';
export class DialogClass { export class DialogClass {
public min: GBMinInstance; public min: GBMinInstance;
public context: TurnContext;
constructor(min: GBMinInstance) { constructor(min: GBMinInstance) {
this.min = min; this.min = min;
} }
public async hear(text: string): Promise<any> { public async hear(text: string): Promise<any> {
return new Promise((resolve, reject) => { // await this.context.beginDialog('textPrompt', text);
this.min.dialogs.add(
new WaterfallDialog('/vmExpect', [
async step => {
await step.prompt('textPrompt', text);
return await step.next();
},
async step => {
resolve(step.result);
return await step.next();
}
])
);
});
}
public post(url: string, data) {
} }
public talk(text: string) { public talk(text: string) {
this.min.dialogs.add( this.context.sendActivity(text);
new WaterfallDialog('/vmSend', [ }
async step => {
await step.context.sendActivity(text);
return await step.next(); /**
} * Generic function to call any REST API.
]) */
); public sendEmail(to, subject, body) {
// tslint:disable-next-line:no-console
console.log(`[E-mail]: to:${to}, subject: ${subject}, body: ${body}.`);
} }
/**
* Generic function to call any REST API.
*/
public post(url: string, data) {}
} }

View file

@ -42,6 +42,7 @@ const UrlJoin = require('url-join');
const Fs = require('fs'); const Fs = require('fs');
const WaitUntil = require('wait-until'); const WaitUntil = require('wait-until');
const express = require('express'); const express = require('express');
const child_process = require('child_process');
import { GBMinInstance, IGBCoreService, IGBInstance } from 'botlib'; import { GBMinInstance, IGBCoreService, IGBInstance } from 'botlib';
import { GBError } from 'botlib'; import { GBError } from 'botlib';
@ -67,13 +68,9 @@ export class GBDeployer {
} }
public static getConnectionStringFromInstance(instance: GuaribasInstance) { public static getConnectionStringFromInstance(instance: GuaribasInstance) {
return `Server=tcp:${ return `Server=tcp:${instance.storageServer}.database.windows.net,1433;Database=${instance.storageName};User ID=${
instance.storageServer
}.database.windows.net,1433;Database=${instance.storageName};User ID=${
instance.storageUsername instance.storageUsername
};Password=${ };Password=${instance.storagePassword};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;`;
instance.storagePassword
};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;`;
} }
/** /**
@ -81,11 +78,7 @@ export class GBDeployer {
* Performs package deployment in all .gbai or default. * Performs package deployment in all .gbai or default.
* *
* */ * */
public deployPackages( public deployPackages(core: IGBCoreService, server: any, appPackages: IGBPackage[]) {
core: IGBCoreService,
server: any,
appPackages: IGBPackage[]
) {
const _this = this; const _this = this;
return new Promise( return new Promise(
(resolve: any, reject: any): any => { (resolve: any, reject: any): any => {
@ -122,9 +115,7 @@ export class GBDeployer {
}); });
} }
logger.info( logger.info(`Starting looking for packages (.gbot, .gbtheme, .gbkb, .gbapp)...`);
`Starting looking for packages (.gbot, .gbtheme, .gbkb, .gbapp)...`
);
paths.forEach(e => { paths.forEach(e => {
logger.info(`Looking in: ${e}...`); logger.info(`Looking in: ${e}...`);
doIt(e); doIt(e);
@ -191,27 +182,16 @@ export class GBDeployer {
/** Handles apps for general bots - .gbapp must stay out of deploy folder. */ /** Handles apps for general bots - .gbapp must stay out of deploy folder. */
if ( if (Path.extname(filename) === '.gbapp' || Path.extname(filename) === '.gblib') {
Path.extname(filename) === '.gbapp' ||
Path.extname(filename) === '.gblib'
) {
/** Themes for bots. */ /** Themes for bots. */
} else if (Path.extname(filename) === '.gbtheme') { } else if (Path.extname(filename) === '.gbtheme') {
server.use('/themes/' + filenameOnly, express.static(filename)); server.use('/themes/' + filenameOnly, express.static(filename));
logger.info( logger.info(`Theme (.gbtheme) assets accessible at: ${'/themes/' + filenameOnly}.`);
`Theme (.gbtheme) assets accessible at: ${'/themes/' +
filenameOnly}.`
);
/** Knowledge base for bots. */ /** Knowledge base for bots. */
} else if (Path.extname(filename) === '.gbkb') { } else if (Path.extname(filename) === '.gbkb') {
server.use( server.use('/kb/' + filenameOnly + '/subjects', express.static(UrlJoin(filename, 'subjects')));
'/kb/' + filenameOnly + '/subjects', logger.info(`KB (.gbkb) assets accessible at: ${'/kb/' + filenameOnly}.`);
express.static(UrlJoin(filename, 'subjects'))
);
logger.info(
`KB (.gbkb) assets accessible at: ${'/kb/' + filenameOnly}.`
);
} else if (Path.extname(filename) === '.gbui') { } else if (Path.extname(filename) === '.gbui') {
// Already Handled // Already Handled
} else if (Path.extname(filename) === '.gbdialog') { } else if (Path.extname(filename) === '.gbdialog') {
@ -253,18 +233,12 @@ export class GBDeployer {
public async deployBot(localPath: string): Promise<IGBInstance> { public async deployBot(localPath: string): Promise<IGBInstance> {
const packageType = Path.extname(localPath); const packageType = Path.extname(localPath);
const packageName = Path.basename(localPath); const packageName = Path.basename(localPath);
const instance = await this.importer.importIfNotExistsBotPackage(null, const instance = await this.importer.importIfNotExistsBotPackage(null, packageName, localPath);
packageName,
localPath
);
return instance; return instance;
} }
public async deployPackageToStorage( public async deployPackageToStorage(instanceId: number, packageName: string): Promise<GuaribasPackage> {
instanceId: number,
packageName: string
): Promise<GuaribasPackage> {
return GuaribasPackage.create({ return GuaribasPackage.create({
packageName: packageName, packageName: packageName,
instanceId: instanceId instanceId: instanceId
@ -308,18 +282,13 @@ export class GBDeployer {
return vm.loadJS(localPath, min, this.core, this, localPath); return vm.loadJS(localPath, min, this.core, this, localPath);
default: default:
const err = GBError.create( const err = GBError.create(`GuaribasBusinessError: Unknown package type: ${packageType}.`);
`GuaribasBusinessError: Unknown package type: ${packageType}.`
);
Promise.reject(err); Promise.reject(err);
break; break;
} }
} }
public async undeployPackageFromLocalPath( public async undeployPackageFromLocalPath(instance: IGBInstance, localPath: string) {
instance: IGBInstance,
localPath: string
) {
const packageType = Path.extname(localPath); const packageType = Path.extname(localPath);
const packageName = Path.basename(localPath); const packageName = Path.basename(localPath);
@ -345,9 +314,7 @@ export class GBDeployer {
break; break;
default: default:
const err = GBError.create( const err = GBError.create(`GuaribasBusinessError: Unknown package type: ${packageType}.`);
`GuaribasBusinessError: Unknown package type: ${packageType}.`
);
Promise.reject(err); Promise.reject(err);
break; break;
} }
@ -361,9 +328,7 @@ export class GBDeployer {
instance.searchIndexer instance.searchIndexer
); );
const connectionString = GBDeployer.getConnectionStringFromInstance( const connectionString = GBDeployer.getConnectionStringFromInstance(instance);
instance
);
const dsName = 'gb'; const dsName = 'gb';
try { try {
@ -375,13 +340,7 @@ export class GBDeployer {
} }
} }
await search.createDataSource( await search.createDataSource(dsName, dsName, 'GuaribasQuestion', 'azuresql', connectionString);
dsName,
dsName,
'GuaribasQuestion',
'azuresql',
connectionString
);
try { try {
await search.deleteIndex(); await search.deleteIndex();
@ -391,19 +350,22 @@ export class GBDeployer {
throw err; throw err;
} }
} }
await search.createIndex( await search.createIndex(AzureDeployerService.getKBSearchSchema(instance.searchIndex), dsName);
AzureDeployerService.getKBSearchSchema(instance.searchIndex),
dsName
);
} }
public async getPackageByName( public async getPackageByName(instanceId: number, packageName: string): Promise<GuaribasPackage> {
instanceId: number,
packageName: string
): Promise<GuaribasPackage> {
const where = { packageName: packageName, instanceId: instanceId }; const where = { packageName: packageName, instanceId: instanceId };
return GuaribasPackage.findOne({ return GuaribasPackage.findOne({
where: where where: where
}); });
} }
public installDefaultGBUI() {
const root = 'packages/default.gbui';
if (!Fs.existsSync(`${root}/build`)) {
Fs.writeFileSync(`${root}/.env`, 'SKIP_PREFLIGHT_CHECK=true');
child_process.execSync('npm install', { cwd: root });
child_process.execSync('npm run build', { cwd: root });
}
}
} }

View file

@ -108,6 +108,7 @@ export class GBMinService {
* */ * */
public async buildMin( public async buildMin(
bootInstance: GuaribasInstance,
server: any, server: any,
appPackages: IGBPackage[], appPackages: IGBPackage[],
instances: GuaribasInstance[], instances: GuaribasInstance[],
@ -134,7 +135,11 @@ export class GBMinService {
(async () => { (async () => {
// Returns the instance object to clients requesting bot info. // Returns the instance object to clients requesting bot info.
const botId = req.params.botId; let botId = req.params.botId;
if (botId === '[default]'){
botId = bootInstance.botId;
}
const instance = await this.core.loadInstance(botId); const instance = await this.core.loadInstance(botId);
if (instance) { if (instance) {
@ -477,8 +482,10 @@ export class GBMinService {
// Processes messages. // Processes messages.
} else if (context.activity.type === 'message') { } else if (context.activity.type === 'message') {
// Checks for /admin request. // Checks for /admin request.
if (context.activity.text === 'vba') {
if (context.activity.text === 'admin') { min.sandbox.context = context;
min.sandbox['chat'](min.sandbox);
} else if (context.activity.text === 'admin') {
await step.beginDialog('/admin'); await step.beginDialog('/admin');
// Checks for /menu JSON signature. // Checks for /menu JSON signature.
@ -500,6 +507,7 @@ export class GBMinService {
// Processes events. // Processes events.
} else if (context.activity.type === 'event') { } else if (context.activity.type === 'event') {
// Empties dialog stack before going to the target. // Empties dialog stack before going to the target.
await step.endAll(); await step.endAll();

View file

@ -32,23 +32,17 @@
'use strict'; 'use strict';
import { IGBCoreService, IGBInstance } from 'botlib'; import { GBMinInstance, IGBCoreService } from 'botlib';
import { GBMinInstance } from 'botlib';
const logger = require('../../../src/logger');
import { BotAdapter } from 'botbuilder';
import { WaterfallDialog } from 'botbuilder-dialogs';
import * as fs from 'fs'; import * as fs from 'fs';
import { Messages } from '../strings';
import { DialogClass } from './GBAPIService'; import { DialogClass } from './GBAPIService';
import { GBDeployer } from './GBDeployer'; import { GBDeployer } from './GBDeployer';
const util = require('util'); const util = require('util');
const logger = require('../../../src/logger');
const vm = require('vm'); const vm = require('vm');
import processExists = require('process-exists');
import { Sequelize } from 'sequelize-typescript';
const UrlJoin = require('url-join'); const UrlJoin = require('url-join');
/** /**
* @fileoverview General Bots server core. * @fileoverview Virtualization services for emulation of BASIC.
*/ */
export class GBVMService implements IGBCoreService { export class GBVMService implements IGBCoreService {
@ -66,12 +60,11 @@ export class GBVMService implements IGBCoreService {
const code: string = fs.readFileSync(localPath, 'utf8'); const code: string = fs.readFileSync(localPath, 'utf8');
const sandbox: DialogClass = new DialogClass(min); const sandbox: DialogClass = new DialogClass(min);
const context = vm.createContext(sandbox); const context = vm.createContext(sandbox);
vm.runInContext(code, context); vm.runInContext(code, context);
console.log(util.inspect(sandbox));
sandbox['chat'](sandbox);
await deployer.deployScriptToStorage(min.instanceId, filename); await deployer.deployScriptToStorage(min.instanceId, filename);
logger.info(`[GBVMService] Finished loading of ${filename}`); logger.info(`[GBVMService] Finished loading of ${filename}`);
min.sandbox = sandbox;
} }
} }

View file

@ -33,15 +33,8 @@ function chat(bot) {
// //
//**************************************************************************** //****************************************************************************
bot.talk('Qual seu e-mail?'); bot.talk('Please, what is your e-mail?');
//email = bot.expectEmail();
main = () => { //bot.talk('Thanks, sending e-mail to: ' + email);
bot.addFunction(PegaEmail); //bot.sendEmail(to, 'Message from VBA Bot', 'Yes, I can send e-mails.');
PegaEmail = bot => {
bot.talk('Qual seu e-mail?');
email = bot.expectEmail;
bot.post('/restservice', email);
};
};
} }

View file

@ -1134,9 +1134,9 @@
"integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==" "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg=="
}, },
"adaptivecards": { "adaptivecards": {
"version": "1.1.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/adaptivecards/-/adaptivecards-1.1.0.tgz", "resolved": "http://registry.npmjs.org/adaptivecards/-/adaptivecards-1.0.0.tgz",
"integrity": "sha512-n4vRIjo0vKvjMMnTKqRZm3TXhq+8saN1s17Z0pQEtDpBWjrGbfn8e+Qx/xvgNjqFYzWIme7uZAX3DBDhSOLu/A==" "integrity": "sha1-96HxdpJRYmirQMpU8Z/aP6WJdjQ="
}, },
"address": { "address": {
"version": "1.0.3", "version": "1.0.3",
@ -2043,15 +2043,6 @@
} }
} }
}, },
"babel-runtime": {
"version": "7.0.0-beta.3",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-7.0.0-beta.3.tgz",
"integrity": "sha512-jlzZ8RACjt0QGxq+wqsw5bCQE9RcUyWpw987mDY3GYxTpOQT2xoyNoG++oVCHzr/nACLBIprfVBNvv/If1ZYcg==",
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
}
},
"babel-template": { "babel-template": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
@ -2338,85 +2329,47 @@
} }
}, },
"botframework-webchat": { "botframework-webchat": {
"version": "4.1.0", "version": "0.14.3-master.72bfef9",
"resolved": "https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-4.1.0.tgz", "resolved": "https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-0.14.3-master.72bfef9.tgz",
"integrity": "sha512-ZvmY2iYN+VPp/myuqVRHGehgx+xtHXnv7cwn1c2nCz+/ak0WAR4D2sakxEhX4vB09t5MNUbx8GYq9GPxTI+lCA==", "integrity": "sha512-rgppVWeVd43FT5O2HpoPeVkowPtGN74cAhC+ZSGGd7HiDq5UyHtR4+PISLvR9XtRy/dLTF2afubOOThPvW+44w==",
"requires": { "requires": {
"@babel/runtime": "^7.0.0", "adaptivecards": "1.0.0",
"adaptivecards": "^1.0.0", "bluebird": "^3.5.1",
"babel-runtime": "^7.0.0-beta.3", "botframework-directlinejs": "0.9.17",
"botframework-directlinejs": "^0.10.0", "core-js": "2.4.1",
"botframework-webchat-component": "4.1.0", "jspeech": "^0.1.1",
"botframework-webchat-core": "4.1.0", "markdown-it": "8.3.1",
"core-js": "^2.5.7", "microsoft-speech-browser-sdk": "0.0.12",
"markdown-it": "^8.4.2", "react-redux": "5.0.5",
"markdown-it-for-inline": "^0.1.1", "redux": "3.7.2",
"memoize-one": "^4.0.2", "redux-observable": "0.13.0",
"microsoft-speech-browser-sdk": "^0.0.12", "rxjs": "5.4.3",
"react": "^16.5.0", "simple-update-in": "^1.2.0",
"react-dom": "^16.5.0", "tslib": "1.7.1"
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"sanitize-html": "^1.19.0",
"store": "^2.0.12",
"url-search-params-polyfill": "^5.0.0",
"web-speech-cognitive-services": "^3.0.0",
"whatwg-fetch": "^3.0.0"
}, },
"dependencies": { "dependencies": {
"whatwg-fetch": { "botframework-directlinejs": {
"version": "3.0.0", "version": "0.9.17",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", "resolved": "https://registry.npmjs.org/botframework-directlinejs/-/botframework-directlinejs-0.9.17.tgz",
"integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" "integrity": "sha512-Ib2BhalcxbKi5rtCO1OX5VhWkfb/rN/voq5823hCIvd/p+GCI/G9jEnxzRcfFWmLUk6hWYjwUnKarIeg93YiMA==",
}
}
},
"botframework-webchat-component": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/botframework-webchat-component/-/botframework-webchat-component-4.1.0.tgz",
"integrity": "sha512-kTgAxA1zMwblg/3/cE2GjWX9ff+NodCnVMcPm7Daas5iik74orqoPUJKARcKNH+iRihlfE/2oeoj06Gl0CB1Gw==",
"requires": { "requires": {
"adaptivecards": "^1.0.0", "rxjs": "^5.0.3"
"botframework-webchat-core": "4.1.0",
"bytes": "^3.0.0",
"classnames": "^2.2.6",
"glamor": "^2.20.40",
"memoize-one": "^3.1.1",
"react-dictate-button": "^1.1.3",
"react-film": "^1.1.1",
"react-redux": "^5.0.7",
"react-say": "^1.1.1",
"react-scroll-to-bottom": "^1.2.0",
"redux": "^4.0.0",
"sanitize-html": "^1.18.2",
"simple-update-in": "^1.3.0"
},
"dependencies": {
"memoize-one": {
"version": "3.1.1",
"resolved": "http://registry.npmjs.org/memoize-one/-/memoize-one-3.1.1.tgz",
"integrity": "sha512-YqVh744GsMlZu6xkhGslPSqSurOv6P+kLN2J3ysBZfagLcL5FdRK/0UpgLoL8hwjjEvvAVkjJZyFP+1T6p1vgA=="
}
} }
}, },
"botframework-webchat-core": { "core-js": {
"version": "4.1.0", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/botframework-webchat-core/-/botframework-webchat-core-4.1.0.tgz", "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
"integrity": "sha512-mPw92k0Pq2ATsx1rE3oi73oy7lqrCfzV/XFK+XjXYeiSp6PMi1Mn6B4eIrnGKZe8vLQ8Y92jt0Zgq7HUl2jqLg==", "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4="
},
"rxjs": {
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.3.tgz",
"integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==",
"requires": { "requires": {
"@babel/runtime": "^7.0.0-rc.2", "symbol-observable": "^1.0.1"
"jsonwebtoken": "^8.3.0", }
"mime": "^2.3.1", }
"redux": "^4.0.0",
"redux-promise-middleware": "^5.1.1",
"redux-saga": "^0.16.0",
"simple-update-in": "^1.3.0"
} }
},
"bowser": {
"version": "1.9.4",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
@ -2555,11 +2508,6 @@
"isarray": "^1.0.0" "isarray": "^1.0.0"
} }
}, },
"buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
},
"buffer-from": { "buffer-from": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@ -2883,11 +2831,6 @@
} }
} }
}, },
"classnames": {
"version": "2.2.6",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
"integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
},
"clean-css": { "clean-css": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
@ -3234,6 +3177,16 @@
"sha.js": "^2.4.8" "sha.js": "^2.4.8"
} }
}, },
"create-react-class": {
"version": "15.6.3",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
"integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
},
"cross-spawn": { "cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@ -3290,15 +3243,6 @@
} }
} }
}, },
"css-in-js-utils": {
"version": "2.0.1",
"resolved": "http://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
"integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==",
"requires": {
"hyphenate-style-name": "^1.0.2",
"isobject": "^3.0.1"
}
},
"css-loader": { "css-loader": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz",
@ -3912,14 +3856,6 @@
"webidl-conversions": "^4.0.2" "webidl-conversions": "^4.0.2"
} }
}, },
"domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"requires": {
"domelementtype": "1"
}
},
"domutils": { "domutils": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
@ -3988,14 +3924,6 @@
"safer-buffer": "^2.1.0" "safer-buffer": "^2.1.0"
} }
}, },
"ecdsa-sig-formatter": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz",
"integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"ee-first": { "ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@ -4503,21 +4431,11 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
}, },
"event-as-promise": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/event-as-promise/-/event-as-promise-1.0.5.tgz",
"integrity": "sha512-z/WIlyou7oTvXBjm5YYjfklr2d8gUWtx8b5GAcrIs1n1D35f7NIK0CrcYSXbY3VYikG9bUan+wScPyGXL/NH4A=="
},
"eventemitter3": { "eventemitter3": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
"integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=" "integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM="
}, },
"events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
"integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
},
"eventsource": { "eventsource": {
"version": "0.1.6", "version": "0.1.6",
"resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
@ -6168,18 +6086,6 @@
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"glamor": {
"version": "2.20.40",
"resolved": "https://registry.npmjs.org/glamor/-/glamor-2.20.40.tgz",
"integrity": "sha512-DNXCd+c14N9QF8aAKrfl4xakPk5FdcFwmH7sD0qnC0Pr7xoZ5W9yovhUrY/dJc3psfGGXC58vqQyRtuskyUJxA==",
"requires": {
"fbjs": "^0.8.12",
"inline-style-prefixer": "^3.0.6",
"object-assign": "^4.1.1",
"prop-types": "^15.5.10",
"through": "^2.3.8"
}
},
"glob": { "glob": {
"version": "7.1.3", "version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
@ -6504,12 +6410,9 @@
"integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA=="
}, },
"hoist-non-react-statics": { "hoist-non-react-statics": {
"version": "3.1.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz", "resolved": "http://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==", "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
"requires": {
"react-is": "^16.3.2"
}
}, },
"home-or-tmp": { "home-or-tmp": {
"version": "2.0.0", "version": "2.0.0",
@ -6628,19 +6531,6 @@
"util.promisify": "1.0.0" "util.promisify": "1.0.0"
} }
}, },
"htmlparser2": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
"integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
"requires": {
"domelementtype": "^1.3.0",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.0.6"
}
},
"http-deceiver": { "http-deceiver": {
"version": "1.2.7", "version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
@ -6977,11 +6867,6 @@
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
}, },
"hyphenate-style-name": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz",
"integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es="
},
"iconv-lite": { "iconv-lite": {
"version": "0.4.23", "version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
@ -7097,15 +6982,6 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc="
}, },
"inline-style-prefixer": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz",
"integrity": "sha1-hVG45bTVcyROZqNLBPfTIHaitTQ=",
"requires": {
"bowser": "^1.7.3",
"css-in-js-utils": "^2.0.0"
}
},
"inquirer": { "inquirer": {
"version": "6.2.0", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
@ -8280,21 +8156,10 @@
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
}, },
"jsonwebtoken": { "jspeech": {
"version": "8.3.0", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz", "resolved": "https://registry.npmjs.org/jspeech/-/jspeech-0.1.1.tgz",
"integrity": "sha512-oge/hvlmeJCH+iIz1DwcO7vKPkNGJHhgkspk8OH3VKlw+mbi42WtD4ig1+VXRln765vxptAv+xT26Fd3cteqag==", "integrity": "sha1-n+wcnRGeFJBajeqCpQWvBs+Sg1k="
"requires": {
"jws": "^3.1.5",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1"
}
}, },
"jsprim": { "jsprim": {
"version": "1.4.1", "version": "1.4.1",
@ -8315,25 +8180,6 @@
"array-includes": "^3.0.3" "array-includes": "^3.0.3"
} }
}, },
"jwa": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz",
"integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==",
"requires": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.10",
"safe-buffer": "^5.0.1"
}
},
"jws": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz",
"integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==",
"requires": {
"jwa": "^1.1.5",
"safe-buffer": "^5.0.1"
}
},
"killable": { "killable": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@ -8394,9 +8240,9 @@
} }
}, },
"linkify-it": { "linkify-it": {
"version": "2.0.3", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz",
"integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", "integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==",
"requires": { "requires": {
"uc.micro": "^1.0.1" "uc.micro": "^1.0.1"
} }
@ -8503,6 +8349,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha1-s56mIp72B+zYniyN8SU2iRysm40=" "integrity": "sha1-s56mIp72B+zYniyN8SU2iRysm40="
}, },
"lodash-es": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.11.tgz",
"integrity": "sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q=="
},
"lodash._reinterpolate": { "lodash._reinterpolate": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
@ -8513,66 +8364,16 @@
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
}, },
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
},
"lodash.debounce": { "lodash.debounce": {
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
}, },
"lodash.escaperegexp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
"integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c="
},
"lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
},
"lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
"lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
},
"lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
},
"lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
},
"lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
},
"lodash.memoize": { "lodash.memoize": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
}, },
"lodash.mergewith": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
"integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ=="
},
"lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"lodash.sortby": { "lodash.sortby": {
"version": "4.7.0", "version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@ -8682,22 +8483,17 @@
} }
}, },
"markdown-it": { "markdown-it": {
"version": "8.4.2", "version": "8.3.1",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.3.1.tgz",
"integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", "integrity": "sha1-L0tiKUjM3Bk9ZvPKLUMSWsSscyM=",
"requires": { "requires": {
"argparse": "^1.0.7", "argparse": "^1.0.7",
"entities": "~1.1.1", "entities": "~1.1.1",
"linkify-it": "^2.0.0", "linkify-it": "^2.0.0",
"mdurl": "^1.0.1", "mdurl": "^1.0.1",
"uc.micro": "^1.0.5" "uc.micro": "^1.0.3"
} }
}, },
"markdown-it-for-inline": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/markdown-it-for-inline/-/markdown-it-for-inline-0.1.1.tgz",
"integrity": "sha1-Q18jFvW15o4UUM+iJC8rjVmtx18="
},
"math-random": { "math-random": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
@ -8736,11 +8532,6 @@
"mimic-fn": "^1.0.0" "mimic-fn": "^1.0.0"
} }
}, },
"memoize-one": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz",
"integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw=="
},
"memory-fs": { "memory-fs": {
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@ -11569,16 +11360,6 @@
} }
} }
}, },
"react-dictate-button": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/react-dictate-button/-/react-dictate-button-1.1.3.tgz",
"integrity": "sha512-4Od7sTAEIvPKpZbpy1tCv7qqfRNwLnZom9hrLnNvr1FIWjSOYC94ekAP8S5kevqnVaFvSqwFisCmjd3uLmvsrA==",
"requires": {
"classnames": "^2.2.6",
"glamor": "^2.20.40",
"memoize-one": "^4.0.0"
}
},
"react-dom": { "react-dom": {
"version": "16.6.3", "version": "16.6.3",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz",
@ -11606,15 +11387,6 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.0.tgz", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.0.tgz",
"integrity": "sha512-akMy/BQT5m1J3iJIHkSb4qycq2wzllWsmmolaaFVnb+LPV9cIJ/nTud40ZsiiT0H3P+/wXIdbjx2fzF61OaeOQ==" "integrity": "sha512-akMy/BQT5m1J3iJIHkSb4qycq2wzllWsmmolaaFVnb+LPV9cIJ/nTud40ZsiiT0H3P+/wXIdbjx2fzF61OaeOQ=="
}, },
"react-film": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/react-film/-/react-film-1.1.1.tgz",
"integrity": "sha512-el6Uw1yDeiu7cKyyuL0eupAKO6vmmTX8un+5btvyYlzD15J1JWLp+Q4rKR3JfcJ2ZM8LKPhAHMfCUGV8t9lVMQ==",
"requires": {
"classnames": "^2.2.6",
"glamor": "^2.20.40"
}
},
"react-helmet": { "react-helmet": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz", "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz",
@ -11626,11 +11398,6 @@
"react-side-effect": "^1.1.0" "react-side-effect": "^1.1.0"
} }
}, },
"react-is": {
"version": "16.6.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.1.tgz",
"integrity": "sha512-wOKsGtvTMYs7WAscmwwdM8sfRRvE17Ym30zFj3n37Qx5tHRfhenPKEPILHaHob6WoLFADmQm1ZNrE5xMCM6sCw=="
},
"react-lifecycles-compat": { "react-lifecycles-compat": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@ -11655,28 +11422,17 @@
} }
}, },
"react-redux": { "react-redux": {
"version": "5.1.1", "version": "5.0.5",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.1.tgz", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.5.tgz",
"integrity": "sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg==", "integrity": "sha1-+OjHsjlCJXblLWt9sGQ5RpvphGo=",
"requires": { "requires": {
"@babel/runtime": "^7.1.2", "create-react-class": "^15.5.3",
"hoist-non-react-statics": "^3.1.0", "hoist-non-react-statics": "^1.0.3",
"invariant": "^2.2.4", "invariant": "^2.0.0",
"lodash": "^4.2.0",
"lodash-es": "^4.2.0",
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"prop-types": "^15.6.1", "prop-types": "^15.5.10"
"react-is": "^16.6.0",
"react-lifecycles-compat": "^3.0.0"
}
},
"react-say": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/react-say/-/react-say-1.1.1.tgz",
"integrity": "sha512-R+XfFQjpwlD48miC0AAb6DZDq4h5DkKFnqQFi/83wpO73isfYx+wuPU6PodzRGP4rF+/6nibnKc2V328ifiALA==",
"requires": {
"classnames": "^2.2.6",
"event-as-promise": "^1.0.3",
"glamor": "^2.20.40",
"memoize-one": "^4.0.0"
} }
}, },
"react-scripts": { "react-scripts": {
@ -11749,17 +11505,6 @@
} }
} }
}, },
"react-scroll-to-bottom": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/react-scroll-to-bottom/-/react-scroll-to-bottom-1.2.0.tgz",
"integrity": "sha512-/tAaVVnSpnMtv4PVIxmxOFh45g6PcUihIK6zH17WTPkqreRFRrbCBnC7ieVu2isV68Zjee98cmBMGgKapI9fCw==",
"requires": {
"classnames": "^2.2.6",
"glamor": "^2.20.40",
"memoize-one": "^4.0.2",
"simple-update-in": "^1.4.0"
}
},
"react-side-effect": { "react-side-effect": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.5.tgz", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.5.tgz",
@ -11837,16 +11582,6 @@
} }
} }
}, },
"readable-stream": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz",
"integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"readdirp": { "readdirp": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
@ -12146,22 +11881,16 @@
} }
}, },
"redux": { "redux": {
"version": "4.0.1", "version": "3.7.2",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
"integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
"requires": { "requires": {
"loose-envify": "^1.4.0", "lodash": "^4.2.1",
"symbol-observable": "^1.2.0" "lodash-es": "^4.2.1",
"loose-envify": "^1.1.0",
"symbol-observable": "^1.0.3"
}, },
"dependencies": { "dependencies": {
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"symbol-observable": { "symbol-observable": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
@ -12169,15 +11898,10 @@
} }
} }
}, },
"redux-promise-middleware": { "redux-observable": {
"version": "5.1.1", "version": "0.13.0",
"resolved": "https://registry.npmjs.org/redux-promise-middleware/-/redux-promise-middleware-5.1.1.tgz", "resolved": "https://registry.npmjs.org/redux-observable/-/redux-observable-0.13.0.tgz",
"integrity": "sha512-YC1tiheU28Hgmtu5HHMLiuveLgjL1aCJWsSnwquMiZBcj5i/J9qVLt6vgOnb0Gz37y4deJ/rjiNt7l6Dh+Z8lA==" "integrity": "sha1-NbJsLNu3HkmbMcqZYdoFgcKXOQk="
},
"redux-saga": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.2.tgz",
"integrity": "sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w=="
}, },
"regenerate": { "regenerate": {
"version": "1.4.0", "version": "1.4.0",
@ -12555,20 +12279,10 @@
"aproba": "^1.1.1" "aproba": "^1.1.1"
} }
}, },
"rxjs": { "rxjs-compat": {
"version": "6.3.3", "version": "6.3.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.3.3.tgz",
"integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "integrity": "sha512-caGN7ixiabHpOofginKEquuHk7GgaCrC7UpUQ9ZqGp80tMc68msadOeP/2AKy2R4YJsT1+TX5GZCtxO82qWkyA=="
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
}
}
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
@ -12867,23 +12581,6 @@
} }
} }
}, },
"sanitize-html": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.19.1.tgz",
"integrity": "sha512-zNYr6FvBn4bZukr9x2uny6od/9YdjCLwF+FqxivqI0YOt/m9GIxfX+tWhm52tBAPUXiTTb4bJTGVagRz5b06bw==",
"requires": {
"chalk": "^2.3.0",
"htmlparser2": "^3.9.0",
"lodash.clonedeep": "^4.5.0",
"lodash.escaperegexp": "^4.1.2",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.mergewith": "^4.6.0",
"postcss": "^6.0.14",
"srcset": "^1.0.0",
"xtend": "^4.0.0"
}
},
"sass-loader": { "sass-loader": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
@ -13539,15 +13236,6 @@
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
}, },
"srcset": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz",
"integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=",
"requires": {
"array-uniq": "^1.0.2",
"number-is-nan": "^1.0.0"
}
},
"sshpk": { "sshpk": {
"version": "1.15.2", "version": "1.15.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
@ -13611,11 +13299,6 @@
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
}, },
"store": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz",
"integrity": "sha1-jFNOKguDH3K3X8XxEZhXxE711ZM="
},
"stream-browserify": { "stream-browserify": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
@ -14531,11 +14214,6 @@
"requires-port": "^1.0.0" "requires-port": "^1.0.0"
} }
}, },
"url-search-params-polyfill": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-5.0.0.tgz",
"integrity": "sha512-+SCD22QJp4UnqPOI5UTTR0Ljuh8cHbjEf1lIiZrZ8nHTlTixqwVsVQTSfk5vrmDz7N09/Y+ka5jQr0ff35FnQQ=="
},
"use": { "use": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@ -14675,18 +14353,6 @@
"minimalistic-assert": "^1.0.0" "minimalistic-assert": "^1.0.0"
} }
}, },
"web-speech-cognitive-services": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/web-speech-cognitive-services/-/web-speech-cognitive-services-3.0.0.tgz",
"integrity": "sha512-mkAsnL1pzGTn4TXKxFNwcgYL5hhh/NyvZtUghsFk6cGuP2OHebG8K04uJlcwpZnzp18HSWyi3YcYXXGU1tAZJg==",
"requires": {
"@babel/runtime": "^7.1.2",
"event-as-promise": "^1.0.5",
"events": "^3.0.0",
"memoize-one": "^4.0.0",
"simple-update-in": "^1.2.0"
}
},
"webidl-conversions": { "webidl-conversions": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",

View file

@ -2,24 +2,27 @@
"name": "default.gbui", "name": "default.gbui",
"version": "0.0.12", "version": "0.0.12",
"private": false, "private": false,
"repository": "https://github.com/pragmatismo-io/BotServer",
"description": "Default web interface for General Bots open-core",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"homepage": ".", "homepage": ".",
"dependencies": { "dependencies": {
"ajv": "^6.5.5", "ajv": "^6.5.4",
"botframework-directlinejs": "^0.10.0", "botframework-directlinejs": "^0.10.0",
"botframework-webchat": "4.1.0", "botframework-webchat": "0.14.3-master.72bfef9",
"deep-extend": "^0.6.0", "deep-extend": "^0.6.0",
"fetch": "^1.1.0", "fetch": "^1.1.0",
"msal": "^0.2.3", "msal": "^0.2.3",
"powerbi-client": "^2.6.5", "powerbi-client": "^2.6.5",
"react": "^16.6.3", "react": "^16.6.0",
"react-dom": "^16.6.3", "react-dom": "^16.6.0",
"react-helmet": "^5.2.0", "react-helmet": "^5.2.0",
"react-player": "^1.7.0", "react-player": "^1.6.6",
"react-powerbi": "^0.3.1", "react-powerbi": "^0.3.1",
"react-scripts": "^2.1.1", "react-scripts": "^2.1.1",
"react-transition-group": "^2.5.0", "react-transition-group": "^2.5.0",
"rxjs": "^6.3.3", "rxjs": "^5.5.12",
"rxjs-compat": "^6.3.3",
"url-join": "^4.0.0" "url-join": "^4.0.0"
}, },
"scripts": { "scripts": {

View file

@ -318,9 +318,6 @@ class GBUIApp extends React.Component {
gbCss = <GBCss instance={this.state.instance} />; gbCss = <GBCss instance={this.state.instance} />;
function getToken() { function getToken() {
return new Promise((resolve: any, reject: any): any => {
resolve(token);
});
} }
// speechOptions = { // speechOptions = {

View file

@ -149,6 +149,7 @@ export class AskDialog extends IGBDialog {
return await step.replaceDialog('/ask', { isReturning: true }); return await step.replaceDialog('/ask', { isReturning: true });
} else { } else {
// Second time running Search, now with no filter. // Second time running Search, now with no filter.
const resultsB = await service.ask( const resultsB = await service.ask(
@ -161,10 +162,10 @@ export class AskDialog extends IGBDialog {
// If there is some result, answer immediately. // If there is some result, answer immediately.
if (resultsB && resultsB.answer) { if (resultsB && resultsB.answer) {
// Saves some context info. // Saves some context info.
const user = await min.userProfile.get(step.context, {}); const user = await min.userProfile.get(step.context, {});
user.isAsking = false; user.isAsking = false;
user.lastQuestionId = resultsB.questionId; user.lastQuestionId = resultsB.questionId;
await min.userProfile.set(step.context, user); await min.userProfile.set(step.context, user);

View file

@ -59,7 +59,7 @@ export class GBWhatsappPackage implements IGBPackage {
// Only loads engine if it is defined on services.json. // Only loads engine if it is defined on services.json.
if (min.instance.whatsappBotKey != '') { if (min.instance.whatsappBotKey) {
this.channel = new WhatsappDirectLine(min.botId, min.instance.whatsappBotKey, min.instance.whatsappServiceKey, this.channel = new WhatsappDirectLine(min.botId, min.instance.whatsappBotKey, min.instance.whatsappServiceKey,
min.instance.whatsappServiceNumber, min.instance.whatsappServiceUrl, min.instance.whatsappServiceWebhookUrl); min.instance.whatsappServiceNumber, min.instance.whatsappServiceUrl, min.instance.whatsappServiceWebhookUrl);
} }

View file

@ -125,10 +125,15 @@ export class GBServer {
await core.saveInstance(fullInstance); await core.saveInstance(fullInstance);
let instances: GuaribasInstance[] = await core.loadAllInstances(core, azureDeployer, proxyAddress); let instances: GuaribasInstance[] = await core.loadAllInstances(core, azureDeployer, proxyAddress);
instances = await core.ensureInstances(instances, bootInstance, core); instances = await core.ensureInstances(instances, bootInstance, core);
if(!bootInstance) {
bootInstance = instances[0];
}
const minService: GBMinService = new GBMinService(core, conversationalService, adminService, deployer); const minService: GBMinService = new GBMinService(core, conversationalService, adminService, deployer);
await minService.buildMin(server, appPackages, instances, deployer); await minService.buildMin(bootInstance, server, appPackages, instances, deployer);
logger.info(`Preparing default.gbui (it may take some additional time for the first time)...`);
deployer.installDefaultGBUI();
logger.info(`The Bot Server is in RUNNING mode...`); logger.info(`The Bot Server is in RUNNING mode...`);
core.openBrowserInDevelopment(); core.openBrowserInDevelopment();