Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Node] Update to BotBuilder 3.13.1 #235

Merged
merged 47 commits into from
Feb 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
21805d7
Update Carousel Cards images
pcostantini Jan 18, 2018
762004e
LAB Model update
pcostantini Jan 18, 2018
3a66ddf
Replace Validated Prompt with Custom Prompt
pcostantini Jan 18, 2018
42f8ab3
Update ApplicationInsights
pcostantini Jan 18, 2018
c666de0
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
9fa108d
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
242673d
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
f272a65
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
6292cee
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
b693dcc
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
be00202
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
acf5d24
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
393f01e
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
6591ae6
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
2a0a0d0
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
8495d90
Update to BotBuilder 3.13.1
pcostantini Jan 18, 2018
b1c9768
Update DirectLine Client code to log errors on creating conversations
pcostantini Jan 19, 2018
e74aa88
Cleanup
pcostantini Jan 19, 2018
e3c11f5
Update BotBuilder-location to 2.0.0
pcostantini Jan 19, 2018
c65dbc6
ReceiptCard render fix for emulator
pcostantini Jan 19, 2018
3ba98e4
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
6f2143d
Cleanup
pcostantini Jan 19, 2018
642b908
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
db92210
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
2c26bf6
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
ba585fe
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
0517e53
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
76ba924
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
d2c6e96
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
3f75fff
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
cb0e93b
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
41b02e1
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
b4e999c
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
ef2fc3d
Update CS Computer Vision API Key/Endpoint and instructions
pcostantini Jan 19, 2018
8f71489
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
9ea346d
Update CS Bing Spell Check API Key/Endpoint and instructions
pcostantini Jan 19, 2018
03a5ae4
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
1b87a03
Cleanup
pcostantini Jan 19, 2018
0b4b800
Update to Bing Image Search API v7
pcostantini Jan 19, 2018
72f1759
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
c0c0fdf
Bing Speech API Key generation notice
pcostantini Jan 19, 2018
9ccad2d
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
cca7ff2
Update to Bing Search v7 and minor fixes
pcostantini Jan 19, 2018
0cac76a
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
e11542c
Fix typo
pcostantini Jan 19, 2018
0ac1d73
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
3b2a0e0
Update to BotBuilder 3.13.1
pcostantini Jan 19, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CSharp/cards-CarouselCards/CarouselCardsDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ private static IList<Attachment> GetCardsAttachments()
"Azure Storage",
"Offload the heavy lifting of data center management",
"Store and help protect your data. Get durable, highly available data storage across the globe and pay only for what you use.",
new CardImage(url: "https://docs.microsoft.com/en-us/azure/storage/media/storage-introduction/storage-concepts.png"),
new CardImage(url: "https://docs.microsoft.com/en-us/aspnet/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/data-storage-options/_static/image5.png"),
new CardAction(ActionTypes.OpenUrl, "Learn more", value: "https://azure.microsoft.com/en-us/services/storage/")),
GetThumbnailCard(
"DocumentDB",
Expand All @@ -46,13 +46,13 @@ private static IList<Attachment> GetCardsAttachments()
"Azure Functions",
"Process events with a serverless code architecture",
"An event-based serverless compute experience to accelerate your development. It can scale based on demand and you pay only for the resources you consume.",
new CardImage(url: "https://azurecomcdn.azureedge.net/cvt-5daae9212bb433ad0510fbfbff44121ac7c759adc284d7a43d60dbbf2358a07a/images/page/services/functions/01-develop.png"),
new CardImage(url: "https://msdnshared.blob.core.windows.net/media/2016/09/fsharp-functions2.png"),
new CardAction(ActionTypes.OpenUrl, "Learn more", value: "https://azure.microsoft.com/en-us/services/functions/")),
GetThumbnailCard(
"Cognitive Services",
"Build powerful intelligence into your applications to enable natural and contextual interactions",
"Enable natural and contextual interaction with tools that augment users' experiences using the power of machine-based intelligence. Tap into an ever-growing collection of powerful artificial intelligence algorithms for vision, speech, language, and knowledge.",
new CardImage(url: "https://azurecomcdn.azureedge.net/cvt-68b530dac63f0ccae8466a2610289af04bdc67ee0bfbc2d5e526b8efd10af05a/images/page/services/cognitive-services/cognitive-services.png"),
new CardImage(url: "https://msdnshared.blob.core.windows.net/media/2017/03/Azure-Cognitive-Services-e1489079006258.png"),
new CardAction(ActionTypes.OpenUrl, "Learn more", value: "https://azure.microsoft.com/en-us/services/cognitive-services/")),
};
}
Expand Down
6 changes: 3 additions & 3 deletions Node/blog-LUISActionBinding/LUIS_MODEL.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@
{
"name": "Checkin",
"children": [
"datetime"
"datetimev2"
]
},
{
"name": "Checkout",
"children": [
"datetime"
"datetimev2"
]
},
{
Expand All @@ -63,7 +63,7 @@
],
"closedLists": [],
"bing_entities": [
"datetime",
"datetimev2",
"geography"
],
"actions": [],
Expand Down
2 changes: 1 addition & 1 deletion Node/blog-LUISActionBinding/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"dependencies": {
"bluebird": "^3.5.0",
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"lodash": "^4.17.4",
"schema-inspector": "^1.6.8"
}
Expand Down
2 changes: 1 addition & 1 deletion Node/blog-LUISActionBinding/samples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"author": "Microsoft Corp.",
"license": "MIT",
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"jsonpath": "^0.2.10",
"lodash": "^4.17.4",
Expand Down
2 changes: 1 addition & 1 deletion Node/blog-customChannelData/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "Microsoft Bot Framework bot written in NodeJS to test issues.",
"main": "node_bot.js",
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"dotenv-extended": "^2.0.0",
"express": "^4.14.1",
"request-promise": "^4.1.1",
Expand Down
19 changes: 13 additions & 6 deletions Node/capability-SimpleTaskAutomation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ A bots dialogs can be expressed using a variety of forms:

Allows for the creation of custom dialogs that are based on a simple closure. This is useful for cases where you want a dynamic conversation flow or you have a situation that just doesn't map very well to using a waterfall.

In this sample we start with a dialog that prompts the user to choose the action the bot must do:
In this sample we start with a dialog that prompts the user to choose the action the bot must do:

````JavaScript
const ChangePasswordOption = 'Change Password';
Expand Down Expand Up @@ -109,17 +109,24 @@ const PhoneRegex = new RegExp(/^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4
const library = new builder.Library('validators');

library.dialog('phonenumber',
builder.DialogAction.validatedPrompt(builder.PromptType.text, (response) =>
PhoneRegex.test(response)));
new builder.IntentDialog()
.onBegin(function (session, args) {
session.dialogData.retryPrompt = args.retryPrompt;
session.send(args.prompt);
}).matches(PhoneRegex, function (session) {
session.endDialogWithResult({ response: session.message.text });
}).onDefault(function (session) {
session.send(session.dialogData.retryPrompt);
}));

module.exports = library;
module.exports.PhoneRegex = PhoneRegex;
````
````

And this is how you can call the validator from your existing code:

````JavaScript
//
//
library.dialog('/', [
function (session) {
session.beginDialog('validators:phonenumber', {
Expand Down Expand Up @@ -147,7 +154,7 @@ library.dialog('/', [

> It is worth noting that calling other dialogs within your library don't need to be prefixed with the library's id. It is only when crossing from one library context to another that you need to include the library name prefix on your `session.beginDialog()` calls.

> To limit the times the user will reprompt when the response is not valid, the [maxRetries](https://docs.botframework.com/en-us/node/builder/chat-reference/interfaces/_botbuilder_d_.ipromptargs.html#maxretries) can be specified. If the maximum number of retries are reached the next dialog is called with the [args.resumed](https://docs.botframework.com/en-us/node/builder/chat-reference/interfaces/_botbuilder_d_.ipromptresult.html#resumed) set in [notCompleted](https://docs.botframework.com/en-us/node/builder/chat-reference/enums/_botbuilder_d_.resumereason.html#notcompleted).
> To limit the times the user will reprompt when the response is not valid, the [maxRetries](https://docs.botframework.com/en-us/node/builder/chat-reference/interfaces/_botbuilder_d_.ipromptargs.html#maxretries) can be specified. If the maximum number of retries are reached the next dialog is called with the [args.resumed](https://docs.botframework.com/en-us/node/builder/chat-reference/interfaces/_botbuilder_d_.ipromptresult.html#resumed) set in [notCompleted](https://docs.botframework.com/en-us/node/builder/chat-reference/enums/_botbuilder_d_.resumereason.html#notcompleted).
The message the bot will send when an no valid user input was received is customizable with the [retryPrompt](https://docs.botframework.com/en-us/node/builder/chat-reference/interfaces/_botbuilder_d_.ipromptargs.html#retryprompt).

### Outcome
Expand Down
2 changes: 1 addition & 1 deletion Node/capability-SimpleTaskAutomation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"author": "",
"license": "ISC",
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"restify": "^4.3.0",
"uuid": "^3.0.1"
},
Expand Down
11 changes: 9 additions & 2 deletions Node/capability-SimpleTaskAutomation/validators.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@ const PhoneRegex = new RegExp(/^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4
const library = new builder.Library('validators');

library.dialog('phonenumber',
builder.DialogAction.validatedPrompt(builder.PromptType.text, (response) =>
PhoneRegex.test(response)));
new builder.IntentDialog()
.onBegin(function (session, args) {
session.dialogData.retryPrompt = args.retryPrompt;
session.send(args.prompt);
}).matches(PhoneRegex, function (session) {
session.endDialogWithResult({ response: session.message.text });
}).onDefault(function (session) {
session.send(session.dialogData.retryPrompt);
}));

module.exports = library;
module.exports.PhoneRegex = PhoneRegex;
2 changes: 1 addition & 1 deletion Node/capability-middlewareLogging/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"dotenv-extended": "^2.0.0",
"restify": "^4.3.0"
}
Expand Down
2 changes: 1 addition & 1 deletion Node/cards-AdaptiveCards/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
},
"dependencies": {
"bluebird": "^3.5.0",
"botbuilder": "^3.8.3",
"botbuilder": "^3.13.1",
"dotenv-extended": "^2.0.0",
"lodash": "^4.17.4",
"restify": "^4.3.0"
Expand Down
6 changes: 3 additions & 3 deletions Node/cards-CarouselCards/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function getCardsAttachments(session) {
.subtitle('Offload the heavy lifting of data center management')
.text('Store and help protect your data. Get durable, highly available data storage across the globe and pay only for what you use.')
.images([
builder.CardImage.create(session, 'https://docs.microsoft.com/en-us/azure/storage/media/storage-introduction/storage-concepts.png')
builder.CardImage.create(session, 'https://docs.microsoft.com/en-us/aspnet/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/data-storage-options/_static/image5.png')
])
.buttons([
builder.CardAction.openUrl(session, 'https://azure.microsoft.com/en-us/services/storage/', 'Learn More')
Expand All @@ -58,7 +58,7 @@ function getCardsAttachments(session) {
.subtitle('Process events with a serverless code architecture')
.text('An event-based serverless compute experience to accelerate your development. It can scale based on demand and you pay only for the resources you consume.')
.images([
builder.CardImage.create(session, 'https://azurecomcdn.azureedge.net/cvt-5daae9212bb433ad0510fbfbff44121ac7c759adc284d7a43d60dbbf2358a07a/images/page/services/functions/01-develop.png')
builder.CardImage.create(session, 'https://msdnshared.blob.core.windows.net/media/2016/09/fsharp-functions2.png')
])
.buttons([
builder.CardAction.openUrl(session, 'https://azure.microsoft.com/en-us/services/functions/', 'Learn More')
Expand All @@ -69,7 +69,7 @@ function getCardsAttachments(session) {
.subtitle('Build powerful intelligence into your applications to enable natural and contextual interactions')
.text('Enable natural and contextual interaction with tools that augment users\' experiences using the power of machine-based intelligence. Tap into an ever-growing collection of powerful artificial intelligence algorithms for vision, speech, language, and knowledge.')
.images([
builder.CardImage.create(session, 'https://azurecomcdn.azureedge.net/cvt-68b530dac63f0ccae8466a2610289af04bdc67ee0bfbc2d5e526b8efd10af05a/images/page/services/cognitive-services/cognitive-services.png')
builder.CardImage.create(session, 'https://msdnshared.blob.core.windows.net/media/2017/03/Azure-Cognitive-Services-e1489079006258.png')
])
.buttons([
builder.CardAction.openUrl(session, 'https://azure.microsoft.com/en-us/services/cognitive-services/', 'Learn More')
Expand Down
6 changes: 3 additions & 3 deletions Node/cards-CarouselCards/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"restify": "^4.3.0",
"dotenv-extended": "^1.0.4"
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
}
6 changes: 3 additions & 3 deletions Node/cards-RichCards/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"restify": "^4.3.0",
"dotenv-extended": "^1.0.4"
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
}
28 changes: 13 additions & 15 deletions Node/core-AppInsights/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ var telemetryModule = require('./telemetry-module.js');

var appInsights = require('applicationinsights');
appInsights.setup(process.env.APPINSIGHTS_INSTRUMENTATION_KEY).start();
var appInsightsClient = appInsights.getClient();
var appInsightsClient = new appInsights.TelemetryClient();

// Setup Restify Server
var server = restify.createServer();
Expand Down Expand Up @@ -40,9 +40,9 @@ var bot = new builder.UniversalBot(connector, function (session) {
session.send('Welcome to the Search City bot. I\'m currently configured to search for things in %s', session.conversationData[CityKey]);
}

appInsightsClient.trackTrace('start', telemetry);
appInsightsClient.trackTrace({ message: 'start', properties: telemetry });

// is user's name set?
// is user's name set?
var userName = session.userData[UserNameKey];
if (!userName) {
return session.beginDialog('greet');
Expand All @@ -56,11 +56,10 @@ var bot = new builder.UniversalBot(connector, function (session) {
}
} catch (error) {
var exceptionTelemetry = telemetryModule.createTelemetry(session);
exceptionTelemetry.exception = error.toString();
appInsightsClient.trackException(exceptionTelemetry);
appInsightsClient.trackException({ exception: error, properties: exceptionTelemetry });
} finally {
var resumeAfterPromptTelemetry = telemetryModule.createTelemetry(session);
appInsightsClient.trackTrace('resumeAfterPrompt', resumeAfterPromptTelemetry);
appInsightsClient.trackTrace({ message: 'resumeAfterPrompt', properties: resumeAfterPromptTelemetry });
}

session.beginDialog('search');
Expand All @@ -82,14 +81,13 @@ bot.dialog('search', function (session, args, next) {
session.send('%s, wait a few seconds. Searching for \'%s\' in \'%s\'...', userName, messageText, city);
session.send('https://www.bing.com/search?q=%s', encodeURIComponent(messageText + ' in ' + city));
} catch (error) {
measuredEventTelemetry.exception = error.toString();
appInsightsClient.trackException('search', t);
appInsightsClient.trackException({ exception: error, properties: measuredEventTelemetry });
} finally {
var timerEnd = process.hrtime(timerStart);
measuredEventTelemetry.metrics = (timerEnd[0], timerEnd[1] / 1000000);
appInsightsClient.trackEvent('timeTaken', measuredEventTelemetry);
appInsightsClient.trackEvent({ name: 'timeTaken', properties: measuredEventTelemetry });
}

session.endDialog();
});

Expand All @@ -102,7 +100,7 @@ bot.dialog('reset', function (session) {
delete session.privateConversationData[UserWelcomedKey];

var telemetry = telemetryModule.createTelemetry(session);
appInsightsClient.trackEvent('reset', telemetry);
appInsightsClient.trackEvent({ name: 'reset', properties: telemetry });

session.endDialog('Ups... I\'m suffering from a memory loss...');
}).triggerAction({ matches: /^reset/i });
Expand All @@ -122,7 +120,7 @@ bot.dialog('printCurrentCity', function (session) {
}

var telemetry = telemetryModule.createTelemetry(session);
appInsightsClient.trackEvent('current city', telemetry);
appInsightsClient.trackEvent({ name: 'current city', properties: telemetry });

session.endDialog();
}).triggerAction({ matches: /^current city/i });
Expand All @@ -135,7 +133,7 @@ bot.dialog('changeCurrentCity', function (session, args) {
var userName = session.userData[UserNameKey];

var telemetry = telemetryModule.createTelemetry(session);
appInsightsClient.trackEvent('change city to', telemetry);
appInsightsClient.trackEvent({ name: 'change city to', properties: telemetry });

session.endDialog('All set %s. From now on, all my searches will be for things in %s.', userName, newCity);
}).triggerAction({ matches: /^change city to (.*)/i });
Expand All @@ -148,7 +146,7 @@ bot.dialog('changeMyCurrentCity', function (session, args) {
var userName = session.userData[UserNameKey];

var telemetry = telemetryModule.createTelemetry(session);
appInsightsClient.trackEvent('change my city to', telemetry);
appInsightsClient.trackEvent({ name: 'change my city to', properties: telemetry });

session.endDialog('All set %s. I have overridden the city to %s just for you', userName, newCity);
}).triggerAction({ matches: /^change my city to (.*)/i });
Expand All @@ -161,7 +159,7 @@ bot.dialog('greet', new builder.SimpleDialog(function (session, results) {

var telemetry = telemetryModule.createTelemetry(session);
telemetry.userName = results.response; // You can add properties after-the-fact as well
appInsightsClient.trackEvent('new user', telemetry);
appInsightsClient.trackEvent({ name: 'new user', properties: telemetry });

return session.endDialog('Welcome %s! %s', results.response, HelpMessage);
}
Expand Down
4 changes: 2 additions & 2 deletions Node/core-AppInsights/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"applicationinsights": "^0.17.2",
"botbuilder": "^3.8.2",
"applicationinsights": "^1.0.1",
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
Expand Down
2 changes: 1 addition & 1 deletion Node/core-ChannelData/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
Expand Down
6 changes: 3 additions & 3 deletions Node/core-CreateNewConversation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"restify": "^4.3.0",
"dotenv-extended": "^1.0.4"
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
}
4 changes: 2 additions & 2 deletions Node/core-CustomState/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder-azure": "^3.0.2",
"botbuilder": "^3.13.1",
"botbuilder-azure": "^3.0.4",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
Expand Down
2 changes: 1 addition & 1 deletion Node/core-DirectLine/DirectLineBot/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"url": "https://github.com/Microsoft/BotBuilder-Samples.git"
},
"dependencies": {
"botbuilder": "^3.8.2",
"botbuilder": "^3.13.1",
"dotenv-extended": "^1.0.4",
"restify": "^4.3.0"
}
Expand Down
Loading