From 18deed76d5423117a1c03933abed6f09cf586e30 Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Mon, 22 Apr 2019 11:32:54 -0700 Subject: [PATCH 01/11] update lg file name --- .../Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 | 1 - .../csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 | 1 - 2 files changed, 2 deletions(-) diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 index 52b47cc99e..bab6b936b0 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 @@ -96,7 +96,6 @@ function RunLuisGen($lu_file, $outName, $outFolder) { $id = $lu_file.BaseName $luisFolder = $lu_file.DirectoryName $luisFile = Join-Path $luisFolder "$($id).luis" - $outName = (Get-Culture).TextInfo.ToTitleCase($outName) luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 index 52b47cc99e..bab6b936b0 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 @@ -96,7 +96,6 @@ function RunLuisGen($lu_file, $outName, $outFolder) { $id = $lu_file.BaseName $luisFolder = $lu_file.DirectoryName $luisFile = Join-Path $luisFolder "$($id).luis" - $outName = (Get-Culture).TextInfo.ToTitleCase($outName) luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file From 7811c68635e75dc7a41773971477cacd471e1856 Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Mon, 22 Apr 2019 11:33:03 -0700 Subject: [PATCH 02/11] updated to skill manifest --- .../Template/Skill/manifestTemplate.json | 21 +++++------------- .../VSIX/ProjectTemplates/Bot/skill.zip | Bin 501071 -> 501010 bytes 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/templates/Skill-Template/csharp/Template/Skill/manifestTemplate.json b/templates/Skill-Template/csharp/Template/Skill/manifestTemplate.json index f5b5fc9dcf..2d4875193a 100644 --- a/templates/Skill-Template/csharp/Template/Skill/manifestTemplate.json +++ b/templates/Skill-Template/csharp/Template/Skill/manifestTemplate.json @@ -3,30 +3,19 @@ "name": "$safeprojectname$", "description": "", "iconUrl": "", - "authenticationConnections": [ - { - "id": "", - "serviceProviderId": "", - "scopes": "" - } - ], + "authenticationConnections": [], "actions": [ { - "id": "", + "id": "$safeprojectname$_Sample", "definition": { - "description": "", - "slots": [ - { - "name": "", - "types": [ "string" ] - } - ], + "description": "Sample Skill action with no slots", + "slots": [], "triggers": { "utteranceSources": [ { "locale": "en", "source": [ - "luisModel#intent" + "$safeprojectname$#Sample" ] } ] diff --git a/templates/Skill-Template/csharp/VSIX/ProjectTemplates/Bot/skill.zip b/templates/Skill-Template/csharp/VSIX/ProjectTemplates/Bot/skill.zip index 71ec50854e612a2cfe7b3109a3eb901dffa26571..ae221bf81f7370e1d983246a9dc4d7dd806c2d9e 100644 GIT binary patch delta 44332 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 delta 46925 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 z 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 eXT{LY5W4;b-$Qu}DI4&6F~Ej> Date: Mon, 22 Apr 2019 17:18:07 -0700 Subject: [PATCH 03/11] dependency injection updates in skill template --- .../Sample/SkillSample.Tests/SkillTestBase.cs | 3 ++- .../Sample/SkillSample/Dialogs/MainDialog.cs | 15 +++------------ .../Sample/SkillSample/Dialogs/SampleDialog.cs | 4 ++-- .../Sample/SkillSample/Dialogs/SkillDialogBase.cs | 5 ++--- .../csharp/Sample/SkillSample/Startup.cs | 4 ++++ .../csharp/Template/Skill.Tests/SkillTestBase.cs | 3 ++- .../csharp/Template/Skill/Dialogs/MainDialog.cs | 15 +++------------ .../csharp/Template/Skill/Dialogs/SampleDialog.cs | 4 ++-- .../Template/Skill/Dialogs/SkillDialogBase.cs | 5 ++--- .../csharp/Template/Skill/Startup.cs | 4 ++++ 10 files changed, 26 insertions(+), 36 deletions(-) diff --git a/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillTestBase.cs b/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillTestBase.cs index a6d4e5d93d..40d53d2f1e 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillTestBase.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillTestBase.cs @@ -63,8 +63,9 @@ public virtual void Initialize() new SampleResponses()); Services.AddSingleton(ResponseManager); - Services.AddSingleton(); Services.AddTransient(); + Services.AddTransient(); + Services.AddSingleton(); Services.AddTransient>(); } diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs index 788c0e9b2b..1a19f0810c 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs @@ -24,8 +24,6 @@ public class MainDialog : RouterDialog private BotSettings _settings; private BotServices _services; private ResponseManager _responseManager; - private UserState _userState; - private ConversationState _conversationState; private IStatePropertyAccessor _stateAccessor; public MainDialog( @@ -33,22 +31,20 @@ public MainDialog( BotServices services, ResponseManager responseManager, ConversationState conversationState, - UserState userState, + SampleDialog sampleDialog, IBotTelemetryClient telemetryClient) : base(nameof(MainDialog), telemetryClient) { _settings = settings; _services = services; _responseManager = responseManager; - _conversationState = conversationState; - _userState = userState; TelemetryClient = telemetryClient; // Initialize state accessor - _stateAccessor = _conversationState.CreateProperty(nameof(SkillState)); + _stateAccessor = conversationState.CreateProperty(nameof(SkillState)); // Register dialogs - RegisterDialogs(); + AddDialog(sampleDialog); } protected override async Task OnStartAsync(DialogContext dc, CancellationToken cancellationToken = default(CancellationToken)) @@ -243,11 +239,6 @@ private async Task OnLogout(DialogContext dc) return InterruptionAction.StartedDialog; } - private void RegisterDialogs() - { - AddDialog(new SampleDialog(_settings, _services, _responseManager, _stateAccessor, TelemetryClient)); - } - private class Events { public const string TokenResponseEvent = "tokens/response"; diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SampleDialog.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SampleDialog.cs index a61544bfbd..1d64930d87 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SampleDialog.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SampleDialog.cs @@ -16,9 +16,9 @@ public SampleDialog( BotSettings settings, BotServices services, ResponseManager responseManager, - IStatePropertyAccessor stateAccessor, + ConversationState conversationState, IBotTelemetryClient telemetryClient) - : base(nameof(SampleDialog), settings, services, responseManager, stateAccessor, telemetryClient) + : base(nameof(SampleDialog), settings, services, responseManager, conversationState, telemetryClient) { var sample = new WaterfallStep[] { diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SkillDialogBase.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SkillDialogBase.cs index 2da6ade30a..7ec4a5bfcf 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SkillDialogBase.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/SkillDialogBase.cs @@ -24,14 +24,13 @@ public SkillDialogBase( BotSettings settings, BotServices services, ResponseManager responseManager, - IStatePropertyAccessor stateAccessor, + ConversationState conversationState, IBotTelemetryClient telemetryClient) : base(dialogId) { Services = services; - StateAccessor = stateAccessor; ResponseManager = responseManager; - StateAccessor = stateAccessor; + StateAccessor = conversationState.CreateProperty(nameof(SkillState)); TelemetryClient = telemetryClient; // NOTE: Uncomment the following if your skill requires authentication diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs index d52f1e2177..25588c66de 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs @@ -111,6 +111,10 @@ public void ConfigureServices(IServiceCollection services) // services.AddSingleton(); // services.AddSingleton(); + // Register dialogs + services.AddTransient(); + services.AddTransient(); + // Configure adapters services.AddTransient(); services.AddTransient(); diff --git a/templates/Skill-Template/csharp/Template/Skill.Tests/SkillTestBase.cs b/templates/Skill-Template/csharp/Template/Skill.Tests/SkillTestBase.cs index b125881276..78d834013a 100644 --- a/templates/Skill-Template/csharp/Template/Skill.Tests/SkillTestBase.cs +++ b/templates/Skill-Template/csharp/Template/Skill.Tests/SkillTestBase.cs @@ -63,8 +63,9 @@ public virtual void Initialize() new SampleResponses()); Services.AddSingleton(ResponseManager); - Services.AddSingleton(); Services.AddTransient(); + Services.AddTransient(); + Services.AddSingleton(); Services.AddTransient>(); } diff --git a/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs b/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs index b44f8d2fd3..195d7ccae9 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs @@ -24,8 +24,6 @@ public class MainDialog : RouterDialog private BotSettings _settings; private BotServices _services; private ResponseManager _responseManager; - private UserState _userState; - private ConversationState _conversationState; private IStatePropertyAccessor _stateAccessor; public MainDialog( @@ -33,22 +31,20 @@ public MainDialog( BotServices services, ResponseManager responseManager, ConversationState conversationState, - UserState userState, + SampleDialog sampleDialog, IBotTelemetryClient telemetryClient) : base(nameof(MainDialog), telemetryClient) { _settings = settings; _services = services; _responseManager = responseManager; - _conversationState = conversationState; - _userState = userState; TelemetryClient = telemetryClient; // Initialize state accessor - _stateAccessor = _conversationState.CreateProperty(nameof(SkillState)); + _stateAccessor = conversationState.CreateProperty(nameof(SkillState)); // Register dialogs - RegisterDialogs(); + AddDialog(sampleDialog); } protected override async Task OnStartAsync(DialogContext dc, CancellationToken cancellationToken = default(CancellationToken)) @@ -243,11 +239,6 @@ private async Task OnLogout(DialogContext dc) return InterruptionAction.StartedDialog; } - private void RegisterDialogs() - { - AddDialog(new SampleDialog(_settings, _services, _responseManager, _stateAccessor, TelemetryClient)); - } - private class Events { public const string TokenResponseEvent = "tokens/response"; diff --git a/templates/Skill-Template/csharp/Template/Skill/Dialogs/SampleDialog.cs b/templates/Skill-Template/csharp/Template/Skill/Dialogs/SampleDialog.cs index 70e9a663fb..fcd30594b7 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Dialogs/SampleDialog.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Dialogs/SampleDialog.cs @@ -16,9 +16,9 @@ public SampleDialog( BotSettings settings, BotServices services, ResponseManager responseManager, - IStatePropertyAccessor stateAccessor, + ConversationState conversationState, IBotTelemetryClient telemetryClient) - : base(nameof(SampleDialog), settings, services, responseManager, stateAccessor, telemetryClient) + : base(nameof(SampleDialog), settings, services, responseManager, conversationState, telemetryClient) { var sample = new WaterfallStep[] { diff --git a/templates/Skill-Template/csharp/Template/Skill/Dialogs/SkillDialogBase.cs b/templates/Skill-Template/csharp/Template/Skill/Dialogs/SkillDialogBase.cs index ef1714e433..865c215761 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Dialogs/SkillDialogBase.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Dialogs/SkillDialogBase.cs @@ -24,14 +24,13 @@ public SkillDialogBase( BotSettings settings, BotServices services, ResponseManager responseManager, - IStatePropertyAccessor stateAccessor, + ConversationState conversationState, IBotTelemetryClient telemetryClient) : base(dialogId) { Services = services; - StateAccessor = stateAccessor; ResponseManager = responseManager; - StateAccessor = stateAccessor; + StateAccessor = conversationState.CreateProperty(nameof(SkillState)); TelemetryClient = telemetryClient; // NOTE: Uncomment the following if your skill requires authentication diff --git a/templates/Skill-Template/csharp/Template/Skill/Startup.cs b/templates/Skill-Template/csharp/Template/Skill/Startup.cs index c98cae918b..b52f14e3f7 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Startup.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Startup.cs @@ -111,6 +111,10 @@ public void ConfigureServices(IServiceCollection services) // services.AddSingleton(); // services.AddSingleton(); + // Register dialogs + services.AddTransient(); + services.AddTransient(); + // Configure adapters services.AddTransient(); services.AddTransient(); From d0b2f985b662337b3583265769e300c58d37539b Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Mon, 22 Apr 2019 17:24:04 -0700 Subject: [PATCH 04/11] removed oauth default value --- .../csharp/Template/VA/appsettings.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/appsettings.json b/templates/Virtual-Assistant-Template/csharp/Template/VA/appsettings.json index 161bf075d5..03b3ee3987 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/appsettings.json +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/appsettings.json @@ -1,12 +1,7 @@ { "microsoftAppId": "", "microsoftAppPassword": "", - "oauthConnections": [ - { - "name": "", - "provider": "" - } - ], + "oauthConnections": [], "appInsights": { "appId": "", "instrumentationKey": "" From 17847af4d1efb129c1d4cbc97cc44b545eee4bf8 Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Tue, 23 Apr 2019 13:41:30 -0700 Subject: [PATCH 05/11] updated deployment scripts --- .gitignore | 3 + .../SkillSample/Deployment/Scripts/deploy.ps1 | 104 ++++++++-- .../Scripts/deploy_cognitive_models.ps1 | 84 ++++++-- .../Deployment/Scripts/luis_functions.ps1 | 45 ++-- .../Skill/Deployment/Scripts/deploy.ps1 | 104 ++++++++-- .../Scripts/deploy_cognitive_models.ps1 | 84 ++++++-- .../Deployment/Scripts/luis_functions.ps1 | 45 ++-- .../VSIX/ProjectTemplates/Bot/skill.zip | Bin 501010 -> 502083 bytes .../Resources/parameters.template.json | 3 +- .../Deployment/Scripts/add_remote_skill.ps1 | 107 ++++++---- .../Deployment/Scripts/deploy.ps1 | 104 ++++++++-- .../Scripts/deploy_cognitive_models.ps1 | 193 ++++++++++++------ .../Deployment/Scripts/luis_functions.ps1 | 37 ++-- .../Deployment/Scripts/qna_functions.ps1 | 27 ++- .../Resources/parameters.template.json | 3 +- .../Deployment/Scripts/add_remote_skill.ps1 | 107 ++++++---- .../Template/VA/Deployment/Scripts/deploy.ps1 | 104 ++++++++-- .../Scripts/deploy_cognitive_models.ps1 | 193 ++++++++++++------ .../VA/Deployment/Scripts/luis_functions.ps1 | 37 ++-- .../VA/Deployment/Scripts/qna_functions.ps1 | 27 ++- .../csharp/VSIX/ProjectTemplates/Bot/va.zip | Bin 986625 -> 990428 bytes 21 files changed, 989 insertions(+), 422 deletions(-) diff --git a/.gitignore b/.gitignore index 54fb4b2d91..f1301425a7 100644 --- a/.gitignore +++ b/.gitignore @@ -352,3 +352,6 @@ ASALocalRun/ **/Deployment/Resources/Dispatch/** **/Deployment/**/*.luis **/Deployment/**/*.qna +**/deploy_log.txt +**/deploy_cognitive_models_log.txt +**/add_remote_skill_log.txt diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy.ps1 b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy.ps1 index 6b97cecd6f..0a0c2264be 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy.ps1 +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy.ps1 @@ -1,44 +1,84 @@ Param( [string] $name, - [string] $resourceGroup = $name, + [string] $resourceGroup, [string] $location, [string] $appId, [string] $appPassword, [string] $luisAuthoringKey, + [string] $luisAuthoringRegion, [string] $parametersFile, - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_log.txt") ) +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Get mandatory parameters if (-not $name) { - $name = Read-Host "Azure resource group name" - $resourceGroup = $name + $name = Read-Host "? Bot Name (used as default name for resource group and deployed resources)" +} + +if (-not $resourceGroup) { + $resourceGroup = $name } if (-not $location) { - $location = Read-Host "Azure resource group region" + $location = Read-Host "? Azure resource group region" } if (-not $appPassword) { - $appPassword = Read-Host "Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" + $appPassword = Read-Host "? Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" } if (-not $luisAuthoringKey) { - $luisAuthoringKey = Read-Host "LUIS Authoring Key (found at https://www.luis.ai/user/settings)" + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } } if (-not $appId) { # Create app registration - $appId = az ad app create ` + $appId = (az ad app create ` --display-name $name ` --password $appPassword ` --available-to-other-tenants ` - --reply-urls https://token.botframework.com/.auth/web/redirect ` + --reply-urls https://token.botframework.com/.auth/web/redirect) 2>> $logFile ` | ConvertFrom-Json ` | Select-Object -ExpandProperty appId if(-not $appId) { - Write-Host "Could not provision Microsoft App Registration automatically. Please provide the -appId and -appPassword arguments for an existing app and try again." -ForegroundColor Cyan + Write-Host "! Could not provision Microsoft App Registration automatically. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Write-Host "+ Provision an app manually in the Azure Portal, then try again providing the -appId and -appPassword arguments." -ForegroundColor Magenta Break } } @@ -47,35 +87,57 @@ if (-not $appId) { $timestamp = Get-Date -f MMddyyyyHHmmss # Create resource group -Write-Host "Creating resource group ..." -az group create --name $name --location $location | Out-Null +Write-Host "> Creating resource group ..." +(az group create --name $name --location $location) 2>> $logFile | Out-Null # Deploy Azure services (deploys LUIS, QnA Maker, Content Moderator, CosmosDB) -Write-Host "Deploying Azure services ..." +Write-Host "> Deploying Azure services (this could take a while)..." -ForegroundColor Yellow if ($parametersFile) { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` --parameters "@$($parametersFile)" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null } else { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null +} + +# Check for failed deployments +$operations = az group deployment operation list -g $resourceGroup -n $timestamp | ConvertFrom-Json +$failedOperations = $operations | Where { $_.properties.statusmessage.error -ne $null } +if ($failedOperations) { + foreach ($operation in $failedOperations) { + switch ($operation.properties.statusmessage.error.code) { + "MissingRegistrationForLocation" { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType). This resource is not avaliable in the location provided." -ForegroundColor DarkRed + Write-Host "+ Update the .\Deployment\Resources\parameters.template.json file with a valid region for this resource and provide the file path in the -parametersFile parameter." -ForegroundColor Magenta + } + default { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType)." + Write-Host "! Code: $($operation.properties.statusMessage.error.code)." + Write-Host "! Message: $($operation.properties.statusMessage.error.message)." + } + } + } + + Write-Host "+ To delete this resource group, run 'az group delete -g $($resourceGroup) --no-wait'" -ForegroundColor Magenta + Break } # Get deployment outputs -$outputs = az group deployment show ` +$outputs = (az group deployment show ` --name $timestamp ` --resource-group $resourceGroup ` - --query properties.outputs | ConvertFrom-Json + --query properties.outputs) 2>> $logFile | ConvertFrom-Json # Update appsettings.json -Write-Host "Updating appsettings.json ..." +Write-Host "> Updating appsettings.json ..." if (Test-Path $(Join-Path $outFolder appsettings.json)) { $settings = Get-Content $(Join-Path $outFolder appsettings.json) | ConvertFrom-Json } @@ -90,4 +152,4 @@ $settings | Add-Member -Type NoteProperty -Force -Name 'cosmosDb' -Value $output $settings | ConvertTo-Json -depth 100 | Out-File $(Join-Path $outFolder appsettings.json) # Deploy cognitive models -Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -location $($location) -luisAuthoringKey $luisAuthoringKey -outFolder $($outFolder)" \ No newline at end of file +Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -luisAuthoringRegion $($luisAuthoringRegion) -luisAuthoringKey $($luisAuthoringKey) -outFolder $($outFolder)" \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy_cognitive_models.ps1 b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy_cognitive_models.ps1 index 4d2e5aba24..1c47a0e43c 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy_cognitive_models.ps1 +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/deploy_cognitive_models.ps1 @@ -1,13 +1,58 @@ Param( - [Parameter(Mandatory=$true)][string] $name, - [Parameter(Mandatory=$true)][string] $location, - [Parameter(Mandatory=$true)][string] $luisAuthoringKey, + [string] $name, + [string] $luisAuthoringRegion, + [string] $luisAuthoringKey, [string] $languages = "en-us", - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_cognitive_models_log.txt") ) . $PSScriptRoot\luis_functions.ps1 + +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + +# Get mandatory parameters +if (-not $name) { + $name = Read-Host "? Base name for Cognitive Models" + $resourceGroup = $name +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" +} + +if (-not $luisAuthoringKey) { + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } +} + # Initialize settings obj $settings = @{ cognitiveModels = New-Object PSObject } @@ -26,20 +71,25 @@ foreach ($language in $languages -split ",") foreach ($lu in $luisFiles) { # Deploy LUIS model - $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language + $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language -log $logFile - # Add to config - $config.languageModels += @{ - id = $lu.BaseName - name = $luisApp.name - appid = $luisApp.id - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - version = $luisApp.activeVersion - region = $location - } - - RunLuisGen $lu "$($lu.BaseName)" $(Join-Path $outFolder Services) + if ($luisApp) { + # Add to config + $config.languageModels += @{ + id = $lu.BaseName + name = $luisApp.name + appid = $luisApp.id + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + version = $luisApp.activeVersion + region = $location + } + + RunLuisGen $lu "$($lu.BaseName)" $(Join-Path $outFolder Services) + } + else { + Write-Host "! Deployment failed for LUIS app: $($lu.BaseName)" -ForegroundColor Cyan + } } # Add config to cognitivemodels dictionary diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 index bab6b936b0..bef2dc27d9 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 @@ -1,4 +1,4 @@ -function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) +function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -6,7 +6,7 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) $appName = "$($name)$($langCode)_$($id)" # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $language ` @@ -14,23 +14,30 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) --out $outFile # Create LUIS app - Write-Host "Deploying $($id) LUIS app ..." - $luisApp = luis import application ` + Write-Host "> Deploying $($id) LUIS app ..." + $luisApp = (luis import application ` --appName $appName ` --authoringKey $luisAuthoringKey ` --subscriptionKey $luisAuthoringKey ` --region $region ` --in "$(Join-Path $outFolder $outFile)" ` - --wait | ConvertFrom-Json + --wait) 2>> $log | ConvertFrom-Json - # train and publish luis app - $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait - & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>&1 | Out-Null + if (-not $luisApp) { + Write-Host "! Could not deploy LUIS model. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # train and publish luis app + $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait + & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>> $log | Out-Null - Return $luisApp + Return $luisApp + } } -function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey) +function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -39,14 +46,14 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey $luisApp = luis get application --appId $appId --authoringKey $authoringKey | ConvertFrom-Json # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $luisApp.culture ` --out_folder $outFolder ` --out $outFile - Write-Host "Getting current versions ..." + Write-Host "? Getting current versions ..." # Get list of current versions $versions = luis list versions ` --appId $appId ` @@ -58,7 +65,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # delete any old backups if ($versions | Where { $_.version -eq "backup" }) { - Write-Host "Deleting old backup version ..." + Write-Host "> Deleting old backup version ..." luis delete version ` --appId $appId ` --versionId "backup" ` @@ -67,7 +74,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # rename the active version to backup - Write-Host "Saving current version as backup ..." + Write-Host "> Saving current version as backup ..." luis rename version ` --appId $appId ` --versionId $version ` @@ -78,7 +85,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # import the new 0.1 version from the .luis file - Write-Host "Importing new version ..." + Write-Host "> Importing new version ..." luis import version ` --appId $appId ` --versionId $version ` @@ -90,12 +97,4 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null -} - -function RunLuisGen($lu_file, $outName, $outFolder) { - $id = $lu_file.BaseName - $luisFolder = $lu_file.DirectoryName - $luisFile = Join-Path $luisFolder "$($id).luis" - - luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy.ps1 b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy.ps1 index 6b97cecd6f..0a0c2264be 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy.ps1 +++ b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy.ps1 @@ -1,44 +1,84 @@ Param( [string] $name, - [string] $resourceGroup = $name, + [string] $resourceGroup, [string] $location, [string] $appId, [string] $appPassword, [string] $luisAuthoringKey, + [string] $luisAuthoringRegion, [string] $parametersFile, - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_log.txt") ) +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Get mandatory parameters if (-not $name) { - $name = Read-Host "Azure resource group name" - $resourceGroup = $name + $name = Read-Host "? Bot Name (used as default name for resource group and deployed resources)" +} + +if (-not $resourceGroup) { + $resourceGroup = $name } if (-not $location) { - $location = Read-Host "Azure resource group region" + $location = Read-Host "? Azure resource group region" } if (-not $appPassword) { - $appPassword = Read-Host "Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" + $appPassword = Read-Host "? Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" } if (-not $luisAuthoringKey) { - $luisAuthoringKey = Read-Host "LUIS Authoring Key (found at https://www.luis.ai/user/settings)" + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } } if (-not $appId) { # Create app registration - $appId = az ad app create ` + $appId = (az ad app create ` --display-name $name ` --password $appPassword ` --available-to-other-tenants ` - --reply-urls https://token.botframework.com/.auth/web/redirect ` + --reply-urls https://token.botframework.com/.auth/web/redirect) 2>> $logFile ` | ConvertFrom-Json ` | Select-Object -ExpandProperty appId if(-not $appId) { - Write-Host "Could not provision Microsoft App Registration automatically. Please provide the -appId and -appPassword arguments for an existing app and try again." -ForegroundColor Cyan + Write-Host "! Could not provision Microsoft App Registration automatically. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Write-Host "+ Provision an app manually in the Azure Portal, then try again providing the -appId and -appPassword arguments." -ForegroundColor Magenta Break } } @@ -47,35 +87,57 @@ if (-not $appId) { $timestamp = Get-Date -f MMddyyyyHHmmss # Create resource group -Write-Host "Creating resource group ..." -az group create --name $name --location $location | Out-Null +Write-Host "> Creating resource group ..." +(az group create --name $name --location $location) 2>> $logFile | Out-Null # Deploy Azure services (deploys LUIS, QnA Maker, Content Moderator, CosmosDB) -Write-Host "Deploying Azure services ..." +Write-Host "> Deploying Azure services (this could take a while)..." -ForegroundColor Yellow if ($parametersFile) { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` --parameters "@$($parametersFile)" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null } else { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null +} + +# Check for failed deployments +$operations = az group deployment operation list -g $resourceGroup -n $timestamp | ConvertFrom-Json +$failedOperations = $operations | Where { $_.properties.statusmessage.error -ne $null } +if ($failedOperations) { + foreach ($operation in $failedOperations) { + switch ($operation.properties.statusmessage.error.code) { + "MissingRegistrationForLocation" { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType). This resource is not avaliable in the location provided." -ForegroundColor DarkRed + Write-Host "+ Update the .\Deployment\Resources\parameters.template.json file with a valid region for this resource and provide the file path in the -parametersFile parameter." -ForegroundColor Magenta + } + default { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType)." + Write-Host "! Code: $($operation.properties.statusMessage.error.code)." + Write-Host "! Message: $($operation.properties.statusMessage.error.message)." + } + } + } + + Write-Host "+ To delete this resource group, run 'az group delete -g $($resourceGroup) --no-wait'" -ForegroundColor Magenta + Break } # Get deployment outputs -$outputs = az group deployment show ` +$outputs = (az group deployment show ` --name $timestamp ` --resource-group $resourceGroup ` - --query properties.outputs | ConvertFrom-Json + --query properties.outputs) 2>> $logFile | ConvertFrom-Json # Update appsettings.json -Write-Host "Updating appsettings.json ..." +Write-Host "> Updating appsettings.json ..." if (Test-Path $(Join-Path $outFolder appsettings.json)) { $settings = Get-Content $(Join-Path $outFolder appsettings.json) | ConvertFrom-Json } @@ -90,4 +152,4 @@ $settings | Add-Member -Type NoteProperty -Force -Name 'cosmosDb' -Value $output $settings | ConvertTo-Json -depth 100 | Out-File $(Join-Path $outFolder appsettings.json) # Deploy cognitive models -Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -location $($location) -luisAuthoringKey $luisAuthoringKey -outFolder $($outFolder)" \ No newline at end of file +Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -luisAuthoringRegion $($luisAuthoringRegion) -luisAuthoringKey $($luisAuthoringKey) -outFolder $($outFolder)" \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy_cognitive_models.ps1 b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy_cognitive_models.ps1 index 4d2e5aba24..1c47a0e43c 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy_cognitive_models.ps1 +++ b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/deploy_cognitive_models.ps1 @@ -1,13 +1,58 @@ Param( - [Parameter(Mandatory=$true)][string] $name, - [Parameter(Mandatory=$true)][string] $location, - [Parameter(Mandatory=$true)][string] $luisAuthoringKey, + [string] $name, + [string] $luisAuthoringRegion, + [string] $luisAuthoringKey, [string] $languages = "en-us", - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_cognitive_models_log.txt") ) . $PSScriptRoot\luis_functions.ps1 + +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + +# Get mandatory parameters +if (-not $name) { + $name = Read-Host "? Base name for Cognitive Models" + $resourceGroup = $name +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" +} + +if (-not $luisAuthoringKey) { + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } +} + # Initialize settings obj $settings = @{ cognitiveModels = New-Object PSObject } @@ -26,20 +71,25 @@ foreach ($language in $languages -split ",") foreach ($lu in $luisFiles) { # Deploy LUIS model - $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language + $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language -log $logFile - # Add to config - $config.languageModels += @{ - id = $lu.BaseName - name = $luisApp.name - appid = $luisApp.id - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - version = $luisApp.activeVersion - region = $location - } - - RunLuisGen $lu "$($lu.BaseName)" $(Join-Path $outFolder Services) + if ($luisApp) { + # Add to config + $config.languageModels += @{ + id = $lu.BaseName + name = $luisApp.name + appid = $luisApp.id + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + version = $luisApp.activeVersion + region = $location + } + + RunLuisGen $lu "$($lu.BaseName)" $(Join-Path $outFolder Services) + } + else { + Write-Host "! Deployment failed for LUIS app: $($lu.BaseName)" -ForegroundColor Cyan + } } # Add config to cognitivemodels dictionary diff --git a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 index bab6b936b0..bef2dc27d9 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 @@ -1,4 +1,4 @@ -function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) +function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -6,7 +6,7 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) $appName = "$($name)$($langCode)_$($id)" # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $language ` @@ -14,23 +14,30 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) --out $outFile # Create LUIS app - Write-Host "Deploying $($id) LUIS app ..." - $luisApp = luis import application ` + Write-Host "> Deploying $($id) LUIS app ..." + $luisApp = (luis import application ` --appName $appName ` --authoringKey $luisAuthoringKey ` --subscriptionKey $luisAuthoringKey ` --region $region ` --in "$(Join-Path $outFolder $outFile)" ` - --wait | ConvertFrom-Json + --wait) 2>> $log | ConvertFrom-Json - # train and publish luis app - $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait - & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>&1 | Out-Null + if (-not $luisApp) { + Write-Host "! Could not deploy LUIS model. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # train and publish luis app + $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait + & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>> $log | Out-Null - Return $luisApp + Return $luisApp + } } -function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey) +function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -39,14 +46,14 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey $luisApp = luis get application --appId $appId --authoringKey $authoringKey | ConvertFrom-Json # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $luisApp.culture ` --out_folder $outFolder ` --out $outFile - Write-Host "Getting current versions ..." + Write-Host "? Getting current versions ..." # Get list of current versions $versions = luis list versions ` --appId $appId ` @@ -58,7 +65,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # delete any old backups if ($versions | Where { $_.version -eq "backup" }) { - Write-Host "Deleting old backup version ..." + Write-Host "> Deleting old backup version ..." luis delete version ` --appId $appId ` --versionId "backup" ` @@ -67,7 +74,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # rename the active version to backup - Write-Host "Saving current version as backup ..." + Write-Host "> Saving current version as backup ..." luis rename version ` --appId $appId ` --versionId $version ` @@ -78,7 +85,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # import the new 0.1 version from the .luis file - Write-Host "Importing new version ..." + Write-Host "> Importing new version ..." luis import version ` --appId $appId ` --versionId $version ` @@ -90,12 +97,4 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null -} - -function RunLuisGen($lu_file, $outName, $outFolder) { - $id = $lu_file.BaseName - $luisFolder = $lu_file.DirectoryName - $luisFile = Join-Path $luisFolder "$($id).luis" - - luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Skill-Template/csharp/VSIX/ProjectTemplates/Bot/skill.zip b/templates/Skill-Template/csharp/VSIX/ProjectTemplates/Bot/skill.zip index ae221bf81f7370e1d983246a9dc4d7dd806c2d9e..a3d528f5e7e82265c3d77827e4f122eb68a4a4a3 100644 GIT binary patch delta 73743 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
VpA=e?|Bj6PWfk3)oT=;=+i89gF?{Z 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 d0LBjSGY4i1U?Px diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/parameters.template.json b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/parameters.template.json index 9f9e6651e3..099c27f9be 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/parameters.template.json +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/parameters.template.json @@ -1,3 +1,4 @@ + { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", @@ -15,7 +16,7 @@ "value": "westus" }, "qnaMakerSearchSku": { - "value": "standard" + "value": "basic" } } } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 index a5fa0fc2eb..68aec770b7 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 @@ -1,26 +1,43 @@ Param( - [Parameter(Mandatory = $true)][string] $botName, - [Parameter(Mandatory = $true)][string] $manifestUrl, + [string] $botName, + [string] $manifestUrl, [string] $luisFolder, [string] $dispatchFolder, [string] $dispatchName, [string] $language = "en-us", - [string] $resourceGroup = $botName, + [string] $resourceGroup, [string] $outFolder = $(Get-Location), [string] $lgOutFolder = $(Join-Path $outFolder Services), [string] $appSettingsFile = $(Join-Path $outFolder 'appsettings.json'), [string] $skillsFile = $(Join-Path $outFolder 'skills.json'), - [string] $cognitiveModelsFile = $(Join-Path $outFolder 'cognitivemodels.json') + [string] $cognitiveModelsFile = $(Join-Path $outFolder 'cognitivemodels.json'), + [string] $logFile = $(Join-Path $PSScriptRoot .. "add_remote_skill_log.txt") ) . $PSScriptRoot\skill_functions.ps1 +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Set defaults and validate file paths $langCode = ($language -split "-")[0] if (-not $luisFolder) { $luisFolder = $(Join-Path $PSScriptRoot .. Resources Skills $langCode) } +if (-not $botName) { + $botName = Read-Host "? Virtual Assitant Name (used to configure skill authentication)" +} + +if (-not $manifestUrl) { + $manifestUrl = Read-Host "? Skill Manifest URL (i.e. https://calendarskill.azurewebsites.net/api/skill/manifest)" +} + if (-not $dispatchFolder) { $dispatchFolder = $(Join-Path $PSScriptRoot .. Resources Dispatch $langCode) } @@ -32,48 +49,57 @@ if (-not $dispatchName) { $dispatchName = $models.dispatchModel.name } else { - Write-Host "Could not find file: $($cognitiveModelsFile). Please provide a valid path, or the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($cognitiveModelsFile). Please provide a valid path, or the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed Break } } +if (-not $resourceGroup) { + $resourceGroup = $botName +} + if (-not $(Test-Path $appSettingsFile)) { - Write-Host "Could not find file: $($appSettingsFile)." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($appSettingsFile)." -ForegroundColor DarkRed Break } $dispatchPath = $(Join-Path $dispatchFolder "$($dispatchName).dispatch") if (-not $(Test-Path $dispatchPath)) { - Write-Host "Could not find file: $($dispatchPath). Please provide the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($dispatchPath). Please provide the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed Break } $dispatchJsonPath = $(Join-Path $dispatchFolder "$($dispatchName).json") if (-not $(Test-Path $dispatchJsonPath)) { - Write-Host "Could not find file: $($dispatchPath). LuisGen will not be run." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($dispatchPath). LuisGen will not be run." -ForegroundColor DarkRed } # Processing -Write-Host "Loading skill manifest ..." -$manifest = Invoke-WebRequest -Uri $manifestUrl | ConvertFrom-Json +Write-Host "> Loading skill manifest ..." +$manifest = $(Invoke-WebRequest -Uri $manifestUrl | ConvertFrom-Json) 2>> $logFile + +if (-not $manifest) { + Write-Host "! Could not load manifest from $($manifestUrl). Please check the url and try again." -ForegroundColor DarkRed + Break +} -Write-Host "Initializing skill.config ..." +Write-Host "> Initializing skill.config ..." if (Test-Path $skillsFile) { $skillConfig = Get-Content $skillsFile | ConvertFrom-Json if ($skillConfig) { if ($skillConfig.skills) { if ($skillConfig.skills.Id -eq $manifest.Id) { - Write-Host "$($manifest.Id) is already registered." -ForegroundColor DarkRed + Write-Host "! $($manifest.Id) is already registered." -ForegroundColor DarkRed Break } else { - Write-Host "Registering $($manifest.Id) ..." + Write-Host "> Registering $($manifest.Id) ..." $skillConfig.skills += $manifest } } else { - Write-Host "Registering $($manifest.Id) ..." + Write-Host "> Registering $($manifest.Id) ..." $skills = @($manifest) $skillConfig | Add-Member -Type NoteProperty -Force -Name "skills" -Value $skills } @@ -87,11 +113,11 @@ if (-not $skillConfig) { $skillConfig | ConvertTo-Json -depth 100 | Out-File $skillsFile # configuring bot auth settings -Write-Host "Checking for authentication settings ..." +Write-Host "> Checking for authentication settings ..." if ($manifest.authenticationConnections) { if ($manifest.authenticationConnections | Where-Object { $_.serviceProviderId -eq "Azure Active Directory v2" }) { - Write-Host "Configuring Azure AD connection ..." + Write-Host "> Configuring Azure AD connection ..." $aadConfig = $manifest.authenticationConnections | Where-Object { $_.serviceProviderId -eq "Azure Active Directory v2" } | Select-Object -First 1 $connectionName = $aadConfig.Id $newScopes = $aadConfig.scopes -Split ", " @@ -108,20 +134,21 @@ if ($manifest.authenticationConnections) { $settingName = $($aadConnection.name -Split "/")[1] # Get current aad auth setting - $botAuthSetting = az bot authsetting show ` + $botAuthSetting = (az bot authsetting show ` -n $botName ` -g $resourceGroup ` - -c $settingName | ConvertFrom-Json + -c $settingName | ConvertFrom-Json) 2>> $logFile + $existingScopes = $botAuthSetting.properties.scopes -Split " " $scopes += $existingScopes $connectionName = $settingName # delete current aad auth connection - az bot authsetting delete -n $botName -g $resourceGroup -c $settingName | Out-Null + (az bot authsetting delete -n $botName -g $resourceGroup -c $settingName) 2>> $logFile | Out-Null } # update appsettings.json - Write-Host "Updating appsettings.json ..." + Write-Host "> Updating appsettings.json ..." $appSettings = Get-Content $appSettingsFile | ConvertFrom-Json # check for and remove existing aad connections @@ -146,35 +173,35 @@ if ($manifest.authenticationConnections) { $scopeManifest = $(CreateScopeManifest($scopes)).Replace("`"", "'") # Update MSA scopes - Write-Host "Configuring MSA app scopes ..." + Write-Host "> Configuring MSA app scopes ..." $errorResult = az ad app update ` --id "$($appSettings.microsoftAppId)" ` --required-resource-accesses "`"[$($scopeManifest)]`"" 2>&1 # Catch error: Updates to converged applications are not allowed in this version. if ($errorResult) { - Write-Host "Info: Could not configure scopes automatically." -ForegroundColor Cyan + Write-Host "! Could not configure scopes automatically." -ForegroundColor Cyan $manualScopesRequired = $true } - Write-Host "Updating bot oauth settings ..." - az bot authsetting create ` + Write-Host "> Updating bot oauth settings ..." + (az bot authsetting create ` --name $botName ` --resource-group $resourceGroup ` --setting-name $connectionName ` - --client-id "$($appSettings.microsoftAppId)" ` - --client-secret "$($appSettings.microsoftAppPassword)" ` + --client-id "`"$($appSettings.microsoftAppId)`"" ` + --client-secret "`"$($appSettings.microsoftAppPassword)`"" ` --service Aadv2 ` - --parameters clientId="$($appSettings.microsoftAppId)" clientSecret="$($appSettings.microsoftAppPassword)" tenantId=common ` - --provider-scope-string "$($scopes)" | Out-Null + --parameters clientId="`"$($appSettings.microsoftAppId)`"" clientSecret="`"$($appSettings.microsoftAppPassword)`"" tenantId=common ` + --provider-scope-string "$($scopes)") 2>> $logFile | Out-Null } else { - Write-Host "Info: Could not configure authentication connection automatically." -ForegroundColor Cyan + Write-Host "! Could not configure authentication connection automatically." -ForegroundColor Cyan $manualAuthRequired = $true } } -Write-Host "Getting intents for dispatch ..." +Write-Host "> Getting intents for dispatch ..." $dictionary = @{ } foreach ($action in $manifest.actions) { if ($action.definition.triggers.utteranceSources) { @@ -194,7 +221,7 @@ foreach ($action in $manifest.actions) { } } -Write-Host "Adding skill to dispatch ..." +Write-Host "> Adding skill to dispatch ..." $intentName = $manifest.Id foreach ($luisApp in $dictionary.Keys) { $intents = $dictionary[$luisApp] @@ -214,28 +241,28 @@ foreach ($luisApp in $dictionary.Keys) { -Recurse ` -Force - dispatch add ` + (dispatch add ` --type file ` --filePath $luisFile ` --intentName $intentName ` --dataFolder $dispatchFolder ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") *>&1 | Out-Null + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null } -Write-Host "Running dispatch refresh ..." -dispatch refresh ` +Write-Host "> Running dispatch refresh ..." +(dispatch refresh ` --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` - --dataFolder $dispatchFolder *>&1 | Out-Null + --dataFolder $dispatchFolder) 2>> $logFile | Out-Null if (Test-Path $dispatchJsonPath) { - Write-Host "Running LuisGen ..." - luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder | Out-Null + Write-Host "> Running LuisGen ..." + luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null } if ($manualScopesRequired) { - Write-Host "Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta + Write-Host "+ Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta } if ($manualAuthRequired) { - Write-Host "Could not configure authentication connection automatically. You must configure one of the following connection types manually in the Azure Portal: $($manifest.authenticationConnections.serviceProviderId -Join ', ')" -ForegroundColor Magenta + Write-Host "+ Could not configure authentication connection automatically. You must configure one of the following connection types manually in the Azure Portal: $($manifest.authenticationConnections.serviceProviderId -Join ', ')" -ForegroundColor Magenta } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy.ps1 index ba39e89fbb..76eaa462a0 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy.ps1 @@ -1,44 +1,84 @@ Param( [string] $name, - [string] $resourceGroup = $name, + [string] $resourceGroup, [string] $location, [string] $appId, [string] $appPassword, [string] $luisAuthoringKey, + [string] $luisAuthoringRegion, [string] $parametersFile, - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_log.txt") ) +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Get mandatory parameters if (-not $name) { - $name = Read-Host "Azure resource group name" - $resourceGroup = $name + $name = Read-Host "? Bot Name (used as default name for resource group and deployed resources)" +} + +if (-not $resourceGroup) { + $resourceGroup = $name } if (-not $location) { - $location = Read-Host "Azure resource group region" + $location = Read-Host "? Azure resource group region" } if (-not $appPassword) { - $appPassword = Read-Host "Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" + $appPassword = Read-Host "? Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" } if (-not $luisAuthoringKey) { - $luisAuthoringKey = Read-Host "LUIS Authoring Key (found at https://www.luis.ai/user/settings)" + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } } if (-not $appId) { # Create app registration - $appId = az ad app create ` + $appId = (az ad app create ` --display-name $name ` --password $appPassword ` --available-to-other-tenants ` - --reply-urls https://token.botframework.com/.auth/web/redirect ` + --reply-urls https://token.botframework.com/.auth/web/redirect) 2>> $logFile ` | ConvertFrom-Json ` | Select-Object -ExpandProperty appId if(-not $appId) { - Write-Host "Could not provision Microsoft App Registration automatically. Please provide the -appId and -appPassword arguments for an existing app and try again." -ForegroundColor Red + Write-Host "! Could not provision Microsoft App Registration automatically. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Write-Host "+ Provision an app manually in the Azure Portal, then try again providing the -appId and -appPassword arguments." -ForegroundColor Magenta Break } } @@ -47,35 +87,57 @@ if (-not $appId) { $timestamp = Get-Date -f MMddyyyyHHmmss # Create resource group -Write-Host "Creating resource group ..." -az group create --name $name --location $location | Out-Null +Write-Host "> Creating resource group ..." +(az group create --name $name --location $location) 2>> $logFile | Out-Null # Deploy Azure services (deploys LUIS, QnA Maker, Content Moderator, CosmosDB) -Write-Host "Deploying Azure services ..." +Write-Host "> Deploying Azure services (this could take a while)..." -ForegroundColor Yellow if ($parametersFile) { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` --parameters "@$($parametersFile)" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null } else { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null +} + +# Check for failed deployments +$operations = az group deployment operation list -g $resourceGroup -n $timestamp | ConvertFrom-Json +$failedOperations = $operations | Where { $_.properties.statusmessage.error -ne $null } +if ($failedOperations) { + foreach ($operation in $failedOperations) { + switch ($operation.properties.statusmessage.error.code) { + "MissingRegistrationForLocation" { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType). This resource is not avaliable in the location provided." -ForegroundColor DarkRed + Write-Host "+ Update the .\Deployment\Resources\parameters.template.json file with a valid region for this resource and provide the file path in the -parametersFile parameter." -ForegroundColor Magenta + } + default { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType)." + Write-Host "! Code: $($operation.properties.statusMessage.error.code)." + Write-Host "! Message: $($operation.properties.statusMessage.error.message)." + } + } + } + + Write-Host "+ To delete this resource group, run 'az group delete -g $($resourceGroup) --no-wait'" -ForegroundColor Magenta + Break } # Get deployment outputs -$outputs = az group deployment show ` +$outputs = (az group deployment show ` --name $timestamp ` --resource-group $resourceGroup ` - --query properties.outputs | ConvertFrom-Json + --query properties.outputs) 2>> $logFile | ConvertFrom-Json # Update appsettings.json -Write-Host "Updating appsettings.json ..." +Write-Host "> Updating appsettings.json ..." if (Test-Path $(Join-Path $outFolder appsettings.json)) { $settings = Get-Content $(Join-Path $outFolder appsettings.json) | ConvertFrom-Json } @@ -91,4 +153,4 @@ $settings | Add-Member -Type NoteProperty -Force -Name 'contentModerator' -Value $settings | ConvertTo-Json -depth 100 | Out-File $(Join-Path $outFolder appsettings.json) # Deploy cognitive models -Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -location $($location) -luisAuthoringKey $luisAuthoringKey -qnaSubscriptionKey $($outputs.qnaMaker.value.key) -outFolder $($outFolder)" \ No newline at end of file +Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -luisAuthoringRegion $($luisAuthoringRegion) -luisAuthoringKey $($luisAuthoringKey) -qnaSubscriptionKey $($outputs.qnaMaker.value.key) -outFolder $($outFolder)" \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy_cognitive_models.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy_cognitive_models.ps1 index 6e4f4995c7..2a0d3c5a10 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy_cognitive_models.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/deploy_cognitive_models.ps1 @@ -1,20 +1,68 @@ Param( - [Parameter(Mandatory=$true)][string] $name, - [Parameter(Mandatory=$true)][string] $location, - [Parameter(Mandatory=$true)][string] $luisAuthoringKey, - [Parameter(Mandatory=$true)][string] $qnaSubscriptionKey, + [string] $name, + [string] $luisAuthoringRegion, + [string] $luisAuthoringKey, + [string] $qnaSubscriptionKey, [string] $languages = "en-us", - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_cognitive_models_log.txt") ) . $PSScriptRoot\luis_functions.ps1 . $PSScriptRoot\qna_functions.ps1 +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + +# Get mandatory parameters +if (-not $name) { + $name = Read-Host "? Base name for Cognitive Models" + $resourceGroup = $name +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" +} + +if (-not $luisAuthoringKey) { + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } +} + +if (-not $qnaSubscriptionKey) { + $qnaSubscriptionKey = Read-Host "? QnA Maker Subscription Key" +} + # Initialize settings obj $settings = @{ cognitiveModels = New-Object PSObject } # Deploy localized resources -Write-Host "Deploying cognitive models ..." +Write-Host "> Deploying cognitive models ..." foreach ($language in $languages -split ",") { $langCode = ($language -split "-")[0] @@ -26,42 +74,47 @@ foreach ($language in $languages -split ",") } # Initialize Dispatch - Write-Host "Initializing dispatch model ..." + Write-Host "> Initializing dispatch model ..." $dispatchName = "$($name)$($langCode)_Dispatch" $dataFolder = Join-Path $PSScriptRoot .. Resources Dispatch $langCode - $dispatch = dispatch init ` + (dispatch init ` --name $dispatchName ` --luisAuthoringKey $luisAuthoringKey ` - --luisAuthoringRegion $location ` - --dataFolder $dataFolder + --luisAuthoringRegion $luisAuthoringRegion ` + --dataFolder $dataFolder) 2>> $logFile | Out-Null # Deploy LUIS apps $luisFiles = Get-ChildItem "$(Join-Path $PSScriptRoot .. 'Resources' 'LU' $langCode)" | Where {$_.extension -eq ".lu"} foreach ($lu in $luisFiles) { # Deploy LUIS model - $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language + $luisApp = DeployLUIS -name $name -lu_file $lu -region $luisAuthoringRegion -luisAuthoringKey $luisAuthoringKey -language $language -log $logFile - # Add luis app to dispatch - Write-Host "Adding $($lu.BaseName) app to dispatch model ..." - dispatch add ` - --type "luis" ` - --name $luisApp.name ` - --id $luisApp.id ` - --intentName "l_$($lu.BaseName)" ` - --dataFolder $dataFolder ` - --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" | Out-Null + if ($luisApp) { + # Add luis app to dispatch + Write-Host "> Adding $($lu.BaseName) app to dispatch model ..." + (dispatch add ` + --type "luis" ` + --name $luisApp.name ` + --id $luisApp.id ` + --intentName "l_$($lu.BaseName)" ` + --dataFolder $dataFolder ` + --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")") 2>> $logFile | Out-Null - # Add to config - $config.languageModels += @{ - id = $lu.BaseName - name = $luisApp.name - appid = $luisApp.id - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - version = $luisApp.activeVersion - region = $location - } + # Add to config + $config.languageModels += @{ + id = $lu.BaseName + name = $luisApp.name + appid = $luisApp.id + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + version = $luisApp.activeVersion + region = $luisAuthoringRegion + } + } + else { + Write-Host "! Could not create LUIS app. Skipping dispatch add." -ForegroundColor Cyan + } } # Deploy QnA Maker KBs @@ -69,46 +122,60 @@ foreach ($language in $languages -split ",") foreach ($lu in $qnaFiles) { # Deploy QnA Knowledgebase - $qnaKb = DeployKB -name $name -lu_file $lu -qnaSubscriptionKey $qnaSubscriptionKey + $qnaKb = DeployKB -name $name -lu_file $lu -qnaSubscriptionKey $qnaSubscriptionKey -log $logFile - # Add luis app to dispatch - Write-Host "Adding $($lu.BaseName) kb to dispatch model ..." - dispatch add ` - --type "qna" ` - --name $qnaKb.name ` - --id $qnaKb.id ` - --key $qnaSubscriptionKey ` - --intentName "q_$($lu.BaseName)" ` - --dataFolder $dataFolder ` - --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" | Out-Null + if ($qnaKb) { + # Add luis app to dispatch + Write-Host "> Adding $($lu.BaseName) kb to dispatch model ..." + (dispatch add ` + --type "qna" ` + --name $qnaKb.name ` + --id $qnaKb.id ` + --key $qnaSubscriptionKey ` + --intentName "q_$($lu.BaseName)" ` + --dataFolder $dataFolder ` + --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")") 2>> $logFile | Out-Null - # Add to config - $config.knowledgebases += @{ - id = $lu.BaseName - name = $qnaKb.name - kbId = $qnaKb.kbId - subscriptionKey = $qnaKb.subscriptionKey - endpointKey = $qnaKb.endpointKey - hostname = $qnaKb.hostname - } + # Add to config + $config.knowledgebases += @{ + id = $lu.BaseName + name = $qnaKb.name + kbId = $qnaKb.kbId + subscriptionKey = $qnaKb.subscriptionKey + endpointKey = $qnaKb.endpointKey + hostname = $qnaKb.hostname + } + } + else { + Write-Host "! Could not create knowledgebase. Skipping dispatch add." -ForegroundColor Cyan + } } # Create dispatch model - Write-Host "Creating dispatch model..." - $dispatch = dispatch create ` + Write-Host "> Creating dispatch model..." + $dispatch = (dispatch create ` --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" ` --dataFolder $dataFolder ` - --culture $language | ConvertFrom-Json - - # Add to config - $config.dispatchModel = @{ - type = "dispatch" - name = $dispatch.name - appid = $dispatch.appId - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - region = $location - } + --culture $language) 2>> $logFile + + if (-not $dispatch) { + Write-Host "! Could not create Dispatch app. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Break + } + else { + $dispatchApp = $dispatch | ConvertFrom-Json + + # Add to config + $config.dispatchModel = @{ + type = "dispatch" + name = $dispatchApp.name + appid = $dispatchApp.appId + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + region = $luisAuthoringRegion + } + } # Add config to cognitivemodels dictionary $settings.cognitiveModels | Add-Member -Type NoteProperty -Force -Name $langCode -Value $config diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 index 5b300979d1..bef2dc27d9 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 @@ -1,4 +1,4 @@ -function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) +function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -6,7 +6,7 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) $appName = "$($name)$($langCode)_$($id)" # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $language ` @@ -14,23 +14,30 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) --out $outFile # Create LUIS app - Write-Host "Deploying $($id) LUIS app ..." - $luisApp = luis import application ` + Write-Host "> Deploying $($id) LUIS app ..." + $luisApp = (luis import application ` --appName $appName ` --authoringKey $luisAuthoringKey ` --subscriptionKey $luisAuthoringKey ` --region $region ` --in "$(Join-Path $outFolder $outFile)" ` - --wait | ConvertFrom-Json + --wait) 2>> $log | ConvertFrom-Json - # train and publish luis app - $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait - & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>&1 | Out-Null + if (-not $luisApp) { + Write-Host "! Could not deploy LUIS model. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # train and publish luis app + $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait + & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>> $log | Out-Null - Return $luisApp + Return $luisApp + } } -function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey) +function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -39,14 +46,14 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey $luisApp = luis get application --appId $appId --authoringKey $authoringKey | ConvertFrom-Json # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $luisApp.culture ` --out_folder $outFolder ` --out $outFile - Write-Host "Getting current versions ..." + Write-Host "? Getting current versions ..." # Get list of current versions $versions = luis list versions ` --appId $appId ` @@ -58,7 +65,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # delete any old backups if ($versions | Where { $_.version -eq "backup" }) { - Write-Host "Deleting old backup version ..." + Write-Host "> Deleting old backup version ..." luis delete version ` --appId $appId ` --versionId "backup" ` @@ -67,7 +74,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # rename the active version to backup - Write-Host "Saving current version as backup ..." + Write-Host "> Saving current version as backup ..." luis rename version ` --appId $appId ` --versionId $version ` @@ -78,7 +85,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # import the new 0.1 version from the .luis file - Write-Host "Importing new version ..." + Write-Host "> Importing new version ..." luis import version ` --appId $appId ` --versionId $version ` diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/qna_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/qna_functions.ps1 index 3b2230c1a1..19ff074cf5 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/qna_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/qna_functions.ps1 @@ -1,30 +1,37 @@ -function DeployKB ($name, $lu_file, $qnaSubscriptionKey) +function DeployKB ($name, $lu_file, $qnaSubscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).qna" $outFolder = $lu_file.DirectoryName # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toqna ` --in $lu_file ` --out_folder $outFolder ` --out $outFile # Create QnA Maker kb - Write-Host "Deploying $($id) QnA kb ..." - $qnaKb = qnamaker create kb ` + Write-Host "> Deploying $($id) QnA kb ..." + $qnaKb = (qnamaker create kb ` --name $id ` --subscriptionKey $qnaSubscriptionKey ` --in $(Join-Path $outFolder $outFile) ` --force ` --wait ` - --msbot | ConvertFrom-Json + --msbot) 2>> $log | ConvertFrom-Json - # Publish QnA Maker knowledgebase - $(qnamaker publish kb --kbId $qnaKb.kbId --subscriptionKey $qnaSubscriptionKey) 2>&1 | Out-Null + if (-not $qnaKb) { + Write-Host "! Could not deploy knowledgebase. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # Publish QnA Maker knowledgebase + $(qnamaker publish kb --kbId $qnaKb.kbId --subscriptionKey $qnaSubscriptionKey) 2>> $log | Out-Null - Return $qnaKb + Return $qnaKb + } } function UpdateKB ($lu_file, $kbId, $qnaSubscriptionKey) @@ -34,13 +41,13 @@ function UpdateKB ($lu_file, $kbId, $qnaSubscriptionKey) $outFolder = $lu_file.DirectoryName # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toqna ` --in $lu_file ` --out_folder $outFolder ` --out $outFile - Write-Host "Replacing $($id) QnA kb ..." + Write-Host "> Replacing $($id) QnA kb ..." qnamaker replace kb ` --in $(Join-Path $outFolder $outFile) ` --kbId $kbId ` diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources/parameters.template.json b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources/parameters.template.json index 9f9e6651e3..099c27f9be 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources/parameters.template.json +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources/parameters.template.json @@ -1,3 +1,4 @@ + { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", @@ -15,7 +16,7 @@ "value": "westus" }, "qnaMakerSearchSku": { - "value": "standard" + "value": "basic" } } } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 index a5fa0fc2eb..2e3c568183 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 @@ -1,26 +1,43 @@ Param( - [Parameter(Mandatory = $true)][string] $botName, - [Parameter(Mandatory = $true)][string] $manifestUrl, + [string] $botName, + [string] $manifestUrl, [string] $luisFolder, [string] $dispatchFolder, [string] $dispatchName, [string] $language = "en-us", - [string] $resourceGroup = $botName, + [string] $resourceGroup, [string] $outFolder = $(Get-Location), [string] $lgOutFolder = $(Join-Path $outFolder Services), [string] $appSettingsFile = $(Join-Path $outFolder 'appsettings.json'), [string] $skillsFile = $(Join-Path $outFolder 'skills.json'), - [string] $cognitiveModelsFile = $(Join-Path $outFolder 'cognitivemodels.json') + [string] $cognitiveModelsFile = $(Join-Path $outFolder 'cognitivemodels.json'), + [string] $logFile = $(Join-Path $PSScriptRoot .. "add_remote_skill_log.txt") ) . $PSScriptRoot\skill_functions.ps1 +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Set defaults and validate file paths $langCode = ($language -split "-")[0] if (-not $luisFolder) { $luisFolder = $(Join-Path $PSScriptRoot .. Resources Skills $langCode) } +if (-not $botName) { + $botName = Read-Host "? Virtual Assistant Name (used to configure skill authentication)" +} + +if (-not $manifestUrl) { + $manifestUrl = Read-Host "? Skill Manifest URL (i.e. https://calendarskill.azurewebsites.net/api/skill/manifest)" +} + if (-not $dispatchFolder) { $dispatchFolder = $(Join-Path $PSScriptRoot .. Resources Dispatch $langCode) } @@ -32,48 +49,57 @@ if (-not $dispatchName) { $dispatchName = $models.dispatchModel.name } else { - Write-Host "Could not find file: $($cognitiveModelsFile). Please provide a valid path, or the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($cognitiveModelsFile). Please provide a valid path, or the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed Break } } +if (-not $resourceGroup) { + $resourceGroup = $botName +} + if (-not $(Test-Path $appSettingsFile)) { - Write-Host "Could not find file: $($appSettingsFile)." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($appSettingsFile)." -ForegroundColor DarkRed Break } $dispatchPath = $(Join-Path $dispatchFolder "$($dispatchName).dispatch") if (-not $(Test-Path $dispatchPath)) { - Write-Host "Could not find file: $($dispatchPath). Please provide the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($dispatchPath). Please provide the dispatchName and dispatchFolder parameters." -ForegroundColor DarkRed Break } $dispatchJsonPath = $(Join-Path $dispatchFolder "$($dispatchName).json") if (-not $(Test-Path $dispatchJsonPath)) { - Write-Host "Could not find file: $($dispatchPath). LuisGen will not be run." -ForegroundColor DarkRed + Write-Host "! Could not find file: $($dispatchPath). LuisGen will not be run." -ForegroundColor DarkRed } # Processing -Write-Host "Loading skill manifest ..." -$manifest = Invoke-WebRequest -Uri $manifestUrl | ConvertFrom-Json +Write-Host "> Loading skill manifest ..." +$manifest = $(Invoke-WebRequest -Uri $manifestUrl | ConvertFrom-Json) 2>> $logFile + +if (-not $manifest) { + Write-Host "! Could not load manifest from $($manifestUrl). Please check the url and try again." -ForegroundColor DarkRed + Break +} -Write-Host "Initializing skill.config ..." +Write-Host "> Initializing skill.config ..." if (Test-Path $skillsFile) { $skillConfig = Get-Content $skillsFile | ConvertFrom-Json if ($skillConfig) { if ($skillConfig.skills) { if ($skillConfig.skills.Id -eq $manifest.Id) { - Write-Host "$($manifest.Id) is already registered." -ForegroundColor DarkRed + Write-Host "! $($manifest.Id) is already registered." -ForegroundColor DarkRed Break } else { - Write-Host "Registering $($manifest.Id) ..." + Write-Host "> Registering $($manifest.Id) ..." $skillConfig.skills += $manifest } } else { - Write-Host "Registering $($manifest.Id) ..." + Write-Host "> Registering $($manifest.Id) ..." $skills = @($manifest) $skillConfig | Add-Member -Type NoteProperty -Force -Name "skills" -Value $skills } @@ -87,11 +113,11 @@ if (-not $skillConfig) { $skillConfig | ConvertTo-Json -depth 100 | Out-File $skillsFile # configuring bot auth settings -Write-Host "Checking for authentication settings ..." +Write-Host "> Checking for authentication settings ..." if ($manifest.authenticationConnections) { if ($manifest.authenticationConnections | Where-Object { $_.serviceProviderId -eq "Azure Active Directory v2" }) { - Write-Host "Configuring Azure AD connection ..." + Write-Host "> Configuring Azure AD connection ..." $aadConfig = $manifest.authenticationConnections | Where-Object { $_.serviceProviderId -eq "Azure Active Directory v2" } | Select-Object -First 1 $connectionName = $aadConfig.Id $newScopes = $aadConfig.scopes -Split ", " @@ -108,20 +134,21 @@ if ($manifest.authenticationConnections) { $settingName = $($aadConnection.name -Split "/")[1] # Get current aad auth setting - $botAuthSetting = az bot authsetting show ` + $botAuthSetting = (az bot authsetting show ` -n $botName ` -g $resourceGroup ` - -c $settingName | ConvertFrom-Json + -c $settingName | ConvertFrom-Json) 2>> $logFile + $existingScopes = $botAuthSetting.properties.scopes -Split " " $scopes += $existingScopes $connectionName = $settingName # delete current aad auth connection - az bot authsetting delete -n $botName -g $resourceGroup -c $settingName | Out-Null + (az bot authsetting delete -n $botName -g $resourceGroup -c $settingName) 2>> $logFile | Out-Null } # update appsettings.json - Write-Host "Updating appsettings.json ..." + Write-Host "> Updating appsettings.json ..." $appSettings = Get-Content $appSettingsFile | ConvertFrom-Json # check for and remove existing aad connections @@ -146,35 +173,35 @@ if ($manifest.authenticationConnections) { $scopeManifest = $(CreateScopeManifest($scopes)).Replace("`"", "'") # Update MSA scopes - Write-Host "Configuring MSA app scopes ..." + Write-Host "> Configuring MSA app scopes ..." $errorResult = az ad app update ` --id "$($appSettings.microsoftAppId)" ` --required-resource-accesses "`"[$($scopeManifest)]`"" 2>&1 # Catch error: Updates to converged applications are not allowed in this version. if ($errorResult) { - Write-Host "Info: Could not configure scopes automatically." -ForegroundColor Cyan + Write-Host "! Could not configure scopes automatically." -ForegroundColor Cyan $manualScopesRequired = $true } - Write-Host "Updating bot oauth settings ..." - az bot authsetting create ` + Write-Host "> Updating bot oauth settings ..." + (az bot authsetting create ` --name $botName ` --resource-group $resourceGroup ` --setting-name $connectionName ` - --client-id "$($appSettings.microsoftAppId)" ` - --client-secret "$($appSettings.microsoftAppPassword)" ` + --client-id "`"$($appSettings.microsoftAppId)`"" ` + --client-secret "`"$($appSettings.microsoftAppPassword)`"" ` --service Aadv2 ` - --parameters clientId="$($appSettings.microsoftAppId)" clientSecret="$($appSettings.microsoftAppPassword)" tenantId=common ` - --provider-scope-string "$($scopes)" | Out-Null + --parameters clientId="`"$($appSettings.microsoftAppId)`"" clientSecret="`"$($appSettings.microsoftAppPassword)`"" tenantId=common ` + --provider-scope-string "$($scopes)") 2>> $logFile | Out-Null } else { - Write-Host "Info: Could not configure authentication connection automatically." -ForegroundColor Cyan + Write-Host "! Could not configure authentication connection automatically." -ForegroundColor Cyan $manualAuthRequired = $true } } -Write-Host "Getting intents for dispatch ..." +Write-Host "> Getting intents for dispatch ..." $dictionary = @{ } foreach ($action in $manifest.actions) { if ($action.definition.triggers.utteranceSources) { @@ -194,7 +221,7 @@ foreach ($action in $manifest.actions) { } } -Write-Host "Adding skill to dispatch ..." +Write-Host "> Adding skill to dispatch ..." $intentName = $manifest.Id foreach ($luisApp in $dictionary.Keys) { $intents = $dictionary[$luisApp] @@ -214,28 +241,28 @@ foreach ($luisApp in $dictionary.Keys) { -Recurse ` -Force - dispatch add ` + (dispatch add ` --type file ` --filePath $luisFile ` --intentName $intentName ` --dataFolder $dispatchFolder ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") *>&1 | Out-Null + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null } -Write-Host "Running dispatch refresh ..." -dispatch refresh ` +Write-Host "> Running dispatch refresh ..." +(dispatch refresh ` --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` - --dataFolder $dispatchFolder *>&1 | Out-Null + --dataFolder $dispatchFolder) 2>> $logFile | Out-Null if (Test-Path $dispatchJsonPath) { - Write-Host "Running LuisGen ..." - luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder | Out-Null + Write-Host "> Running LuisGen ..." + luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null } if ($manualScopesRequired) { - Write-Host "Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta + Write-Host "+ Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta } if ($manualAuthRequired) { - Write-Host "Could not configure authentication connection automatically. You must configure one of the following connection types manually in the Azure Portal: $($manifest.authenticationConnections.serviceProviderId -Join ', ')" -ForegroundColor Magenta + Write-Host "+ Could not configure authentication connection automatically. You must configure one of the following connection types manually in the Azure Portal: $($manifest.authenticationConnections.serviceProviderId -Join ', ')" -ForegroundColor Magenta } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy.ps1 index ba39e89fbb..76eaa462a0 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy.ps1 @@ -1,44 +1,84 @@ Param( [string] $name, - [string] $resourceGroup = $name, + [string] $resourceGroup, [string] $location, [string] $appId, [string] $appPassword, [string] $luisAuthoringKey, + [string] $luisAuthoringRegion, [string] $parametersFile, - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_log.txt") ) +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + # Get mandatory parameters if (-not $name) { - $name = Read-Host "Azure resource group name" - $resourceGroup = $name + $name = Read-Host "? Bot Name (used as default name for resource group and deployed resources)" +} + +if (-not $resourceGroup) { + $resourceGroup = $name } if (-not $location) { - $location = Read-Host "Azure resource group region" + $location = Read-Host "? Azure resource group region" } if (-not $appPassword) { - $appPassword = Read-Host "Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" + $appPassword = Read-Host "? Password for MSA app registration (must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character)" +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" } if (-not $luisAuthoringKey) { - $luisAuthoringKey = Read-Host "LUIS Authoring Key (found at https://www.luis.ai/user/settings)" + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } } if (-not $appId) { # Create app registration - $appId = az ad app create ` + $appId = (az ad app create ` --display-name $name ` --password $appPassword ` --available-to-other-tenants ` - --reply-urls https://token.botframework.com/.auth/web/redirect ` + --reply-urls https://token.botframework.com/.auth/web/redirect) 2>> $logFile ` | ConvertFrom-Json ` | Select-Object -ExpandProperty appId if(-not $appId) { - Write-Host "Could not provision Microsoft App Registration automatically. Please provide the -appId and -appPassword arguments for an existing app and try again." -ForegroundColor Red + Write-Host "! Could not provision Microsoft App Registration automatically. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Write-Host "+ Provision an app manually in the Azure Portal, then try again providing the -appId and -appPassword arguments." -ForegroundColor Magenta Break } } @@ -47,35 +87,57 @@ if (-not $appId) { $timestamp = Get-Date -f MMddyyyyHHmmss # Create resource group -Write-Host "Creating resource group ..." -az group create --name $name --location $location | Out-Null +Write-Host "> Creating resource group ..." +(az group create --name $name --location $location) 2>> $logFile | Out-Null # Deploy Azure services (deploys LUIS, QnA Maker, Content Moderator, CosmosDB) -Write-Host "Deploying Azure services ..." +Write-Host "> Deploying Azure services (this could take a while)..." -ForegroundColor Yellow if ($parametersFile) { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` --parameters "@$($parametersFile)" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null } else { - az group deployment create ` + (az group deployment create ` --name $timestamp ` --resource-group $resourceGroup ` --template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" ` - --parameters microsoftAppId=$appId microsoftAppPassword=$appPassword | Out-Null + --parameters microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"") 2>> $logFile | Out-Null +} + +# Check for failed deployments +$operations = az group deployment operation list -g $resourceGroup -n $timestamp | ConvertFrom-Json +$failedOperations = $operations | Where { $_.properties.statusmessage.error -ne $null } +if ($failedOperations) { + foreach ($operation in $failedOperations) { + switch ($operation.properties.statusmessage.error.code) { + "MissingRegistrationForLocation" { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType). This resource is not avaliable in the location provided." -ForegroundColor DarkRed + Write-Host "+ Update the .\Deployment\Resources\parameters.template.json file with a valid region for this resource and provide the file path in the -parametersFile parameter." -ForegroundColor Magenta + } + default { + Write-Host "! Deployment failed for resource of type $($operation.properties.targetResource.resourceType)." + Write-Host "! Code: $($operation.properties.statusMessage.error.code)." + Write-Host "! Message: $($operation.properties.statusMessage.error.message)." + } + } + } + + Write-Host "+ To delete this resource group, run 'az group delete -g $($resourceGroup) --no-wait'" -ForegroundColor Magenta + Break } # Get deployment outputs -$outputs = az group deployment show ` +$outputs = (az group deployment show ` --name $timestamp ` --resource-group $resourceGroup ` - --query properties.outputs | ConvertFrom-Json + --query properties.outputs) 2>> $logFile | ConvertFrom-Json # Update appsettings.json -Write-Host "Updating appsettings.json ..." +Write-Host "> Updating appsettings.json ..." if (Test-Path $(Join-Path $outFolder appsettings.json)) { $settings = Get-Content $(Join-Path $outFolder appsettings.json) | ConvertFrom-Json } @@ -91,4 +153,4 @@ $settings | Add-Member -Type NoteProperty -Force -Name 'contentModerator' -Value $settings | ConvertTo-Json -depth 100 | Out-File $(Join-Path $outFolder appsettings.json) # Deploy cognitive models -Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -location $($location) -luisAuthoringKey $luisAuthoringKey -qnaSubscriptionKey $($outputs.qnaMaker.value.key) -outFolder $($outFolder)" \ No newline at end of file +Invoke-Expression "$(Join-Path $PSScriptRoot 'deploy_cognitive_models.ps1') -name $($name) -luisAuthoringRegion $($luisAuthoringRegion) -luisAuthoringKey $($luisAuthoringKey) -qnaSubscriptionKey $($outputs.qnaMaker.value.key) -outFolder $($outFolder)" \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy_cognitive_models.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy_cognitive_models.ps1 index 6e4f4995c7..2a0d3c5a10 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy_cognitive_models.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/deploy_cognitive_models.ps1 @@ -1,20 +1,68 @@ Param( - [Parameter(Mandatory=$true)][string] $name, - [Parameter(Mandatory=$true)][string] $location, - [Parameter(Mandatory=$true)][string] $luisAuthoringKey, - [Parameter(Mandatory=$true)][string] $qnaSubscriptionKey, + [string] $name, + [string] $luisAuthoringRegion, + [string] $luisAuthoringKey, + [string] $qnaSubscriptionKey, [string] $languages = "en-us", - [string] $outFolder = $(Get-Location) + [string] $outFolder = $(Get-Location), + [string] $logFile = $(Join-Path $PSScriptRoot .. "deploy_cognitive_models_log.txt") ) . $PSScriptRoot\luis_functions.ps1 . $PSScriptRoot\qna_functions.ps1 +# Reset log file +if (Test-Path $logFile) { + Clear-Content $logFile -Force | Out-Null +} +else { + New-Item -Path $logFile | Out-Null +} + +# Get mandatory parameters +if (-not $name) { + $name = Read-Host "? Base name for Cognitive Models" + $resourceGroup = $name +} + +if (-not $luisAuthoringRegion) { + $luisAuthoringRegion = Read-Host "? LUIS Authoring Region (westus, westeurope, or australiaeast)" +} + +if (-not $luisAuthoringKey) { + Switch ($luisAuthoringRegion) { + "westus" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://luis.ai/user/settings)" + Break + } + "westeurope" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://eu.luis.ai/user/settings)" + Break + } + "australiaeast" { + $luisAuthoringKey = Read-Host "? LUIS Authoring Key (found at https://au.luis.ai/user/settings)" + Break + } + default { + Write-Host "! $($luisAuthoringRegion) is not a valid LUIS authoring region." -ForegroundColor DarkRed + Break + } + } + + if (-not $luisAuthoringKey) { + Break + } +} + +if (-not $qnaSubscriptionKey) { + $qnaSubscriptionKey = Read-Host "? QnA Maker Subscription Key" +} + # Initialize settings obj $settings = @{ cognitiveModels = New-Object PSObject } # Deploy localized resources -Write-Host "Deploying cognitive models ..." +Write-Host "> Deploying cognitive models ..." foreach ($language in $languages -split ",") { $langCode = ($language -split "-")[0] @@ -26,42 +74,47 @@ foreach ($language in $languages -split ",") } # Initialize Dispatch - Write-Host "Initializing dispatch model ..." + Write-Host "> Initializing dispatch model ..." $dispatchName = "$($name)$($langCode)_Dispatch" $dataFolder = Join-Path $PSScriptRoot .. Resources Dispatch $langCode - $dispatch = dispatch init ` + (dispatch init ` --name $dispatchName ` --luisAuthoringKey $luisAuthoringKey ` - --luisAuthoringRegion $location ` - --dataFolder $dataFolder + --luisAuthoringRegion $luisAuthoringRegion ` + --dataFolder $dataFolder) 2>> $logFile | Out-Null # Deploy LUIS apps $luisFiles = Get-ChildItem "$(Join-Path $PSScriptRoot .. 'Resources' 'LU' $langCode)" | Where {$_.extension -eq ".lu"} foreach ($lu in $luisFiles) { # Deploy LUIS model - $luisApp = DeployLUIS -name $name -lu_file $lu -region $location -luisAuthoringKey $luisAuthoringKey -language $language + $luisApp = DeployLUIS -name $name -lu_file $lu -region $luisAuthoringRegion -luisAuthoringKey $luisAuthoringKey -language $language -log $logFile - # Add luis app to dispatch - Write-Host "Adding $($lu.BaseName) app to dispatch model ..." - dispatch add ` - --type "luis" ` - --name $luisApp.name ` - --id $luisApp.id ` - --intentName "l_$($lu.BaseName)" ` - --dataFolder $dataFolder ` - --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" | Out-Null + if ($luisApp) { + # Add luis app to dispatch + Write-Host "> Adding $($lu.BaseName) app to dispatch model ..." + (dispatch add ` + --type "luis" ` + --name $luisApp.name ` + --id $luisApp.id ` + --intentName "l_$($lu.BaseName)" ` + --dataFolder $dataFolder ` + --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")") 2>> $logFile | Out-Null - # Add to config - $config.languageModels += @{ - id = $lu.BaseName - name = $luisApp.name - appid = $luisApp.id - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - version = $luisApp.activeVersion - region = $location - } + # Add to config + $config.languageModels += @{ + id = $lu.BaseName + name = $luisApp.name + appid = $luisApp.id + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + version = $luisApp.activeVersion + region = $luisAuthoringRegion + } + } + else { + Write-Host "! Could not create LUIS app. Skipping dispatch add." -ForegroundColor Cyan + } } # Deploy QnA Maker KBs @@ -69,46 +122,60 @@ foreach ($language in $languages -split ",") foreach ($lu in $qnaFiles) { # Deploy QnA Knowledgebase - $qnaKb = DeployKB -name $name -lu_file $lu -qnaSubscriptionKey $qnaSubscriptionKey + $qnaKb = DeployKB -name $name -lu_file $lu -qnaSubscriptionKey $qnaSubscriptionKey -log $logFile - # Add luis app to dispatch - Write-Host "Adding $($lu.BaseName) kb to dispatch model ..." - dispatch add ` - --type "qna" ` - --name $qnaKb.name ` - --id $qnaKb.id ` - --key $qnaSubscriptionKey ` - --intentName "q_$($lu.BaseName)" ` - --dataFolder $dataFolder ` - --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" | Out-Null + if ($qnaKb) { + # Add luis app to dispatch + Write-Host "> Adding $($lu.BaseName) kb to dispatch model ..." + (dispatch add ` + --type "qna" ` + --name $qnaKb.name ` + --id $qnaKb.id ` + --key $qnaSubscriptionKey ` + --intentName "q_$($lu.BaseName)" ` + --dataFolder $dataFolder ` + --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")") 2>> $logFile | Out-Null - # Add to config - $config.knowledgebases += @{ - id = $lu.BaseName - name = $qnaKb.name - kbId = $qnaKb.kbId - subscriptionKey = $qnaKb.subscriptionKey - endpointKey = $qnaKb.endpointKey - hostname = $qnaKb.hostname - } + # Add to config + $config.knowledgebases += @{ + id = $lu.BaseName + name = $qnaKb.name + kbId = $qnaKb.kbId + subscriptionKey = $qnaKb.subscriptionKey + endpointKey = $qnaKb.endpointKey + hostname = $qnaKb.hostname + } + } + else { + Write-Host "! Could not create knowledgebase. Skipping dispatch add." -ForegroundColor Cyan + } } # Create dispatch model - Write-Host "Creating dispatch model..." - $dispatch = dispatch create ` + Write-Host "> Creating dispatch model..." + $dispatch = (dispatch create ` --dispatch "$(Join-Path $dataFolder "$($dispatchName).dispatch")" ` --dataFolder $dataFolder ` - --culture $language | ConvertFrom-Json - - # Add to config - $config.dispatchModel = @{ - type = "dispatch" - name = $dispatch.name - appid = $dispatch.appId - authoringkey = $luisauthoringkey - subscriptionkey = $luisauthoringkey - region = $location - } + --culture $language) 2>> $logFile + + if (-not $dispatch) { + Write-Host "! Could not create Dispatch app. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($logFile)" -ForegroundColor DarkRed + Break + } + else { + $dispatchApp = $dispatch | ConvertFrom-Json + + # Add to config + $config.dispatchModel = @{ + type = "dispatch" + name = $dispatchApp.name + appid = $dispatchApp.appId + authoringkey = $luisauthoringkey + subscriptionkey = $luisauthoringkey + region = $luisAuthoringRegion + } + } # Add config to cognitivemodels dictionary $settings.cognitiveModels | Add-Member -Type NoteProperty -Force -Name $langCode -Value $config diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 index 5b300979d1..bef2dc27d9 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 @@ -1,4 +1,4 @@ -function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) +function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -6,7 +6,7 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) $appName = "$($name)$($langCode)_$($id)" # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $language ` @@ -14,23 +14,30 @@ function DeployLUIS ($name, $lu_file, $region, $luisAuthoringKey, $language) --out $outFile # Create LUIS app - Write-Host "Deploying $($id) LUIS app ..." - $luisApp = luis import application ` + Write-Host "> Deploying $($id) LUIS app ..." + $luisApp = (luis import application ` --appName $appName ` --authoringKey $luisAuthoringKey ` --subscriptionKey $luisAuthoringKey ` --region $region ` --in "$(Join-Path $outFolder $outFile)" ` - --wait | ConvertFrom-Json + --wait) 2>> $log | ConvertFrom-Json - # train and publish luis app - $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait - & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>&1 | Out-Null + if (-not $luisApp) { + Write-Host "! Could not deploy LUIS model. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # train and publish luis app + $(luis train version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait + & luis publish version --appId $luisApp.id --authoringKey $luisAuthoringKey --versionId $luisApp.activeVersion --wait) 2>> $log | Out-Null - Return $luisApp + Return $luisApp + } } -function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey) +function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).luis" @@ -39,14 +46,14 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey $luisApp = luis get application --appId $appId --authoringKey $authoringKey | ConvertFrom-Json # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toluis ` --in $lu_file ` --luis_culture $luisApp.culture ` --out_folder $outFolder ` --out $outFile - Write-Host "Getting current versions ..." + Write-Host "? Getting current versions ..." # Get list of current versions $versions = luis list versions ` --appId $appId ` @@ -58,7 +65,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # delete any old backups if ($versions | Where { $_.version -eq "backup" }) { - Write-Host "Deleting old backup version ..." + Write-Host "> Deleting old backup version ..." luis delete version ` --appId $appId ` --versionId "backup" ` @@ -67,7 +74,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # rename the active version to backup - Write-Host "Saving current version as backup ..." + Write-Host "> Saving current version as backup ..." luis rename version ` --appId $appId ` --versionId $version ` @@ -78,7 +85,7 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey } # import the new 0.1 version from the .luis file - Write-Host "Importing new version ..." + Write-Host "> Importing new version ..." luis import version ` --appId $appId ` --versionId $version ` diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/qna_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/qna_functions.ps1 index 3b2230c1a1..19ff074cf5 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/qna_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/qna_functions.ps1 @@ -1,30 +1,37 @@ -function DeployKB ($name, $lu_file, $qnaSubscriptionKey) +function DeployKB ($name, $lu_file, $qnaSubscriptionKey, $log) { $id = $lu_file.BaseName $outFile = "$($id).qna" $outFolder = $lu_file.DirectoryName # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toqna ` --in $lu_file ` --out_folder $outFolder ` --out $outFile # Create QnA Maker kb - Write-Host "Deploying $($id) QnA kb ..." - $qnaKb = qnamaker create kb ` + Write-Host "> Deploying $($id) QnA kb ..." + $qnaKb = (qnamaker create kb ` --name $id ` --subscriptionKey $qnaSubscriptionKey ` --in $(Join-Path $outFolder $outFile) ` --force ` --wait ` - --msbot | ConvertFrom-Json + --msbot) 2>> $log | ConvertFrom-Json - # Publish QnA Maker knowledgebase - $(qnamaker publish kb --kbId $qnaKb.kbId --subscriptionKey $qnaSubscriptionKey) 2>&1 | Out-Null + if (-not $qnaKb) { + Write-Host "! Could not deploy knowledgebase. Review the log for more information." -ForegroundColor DarkRed + Write-Host "! Log: $($log)" -ForegroundColor DarkRed + Return $null + } + else { + # Publish QnA Maker knowledgebase + $(qnamaker publish kb --kbId $qnaKb.kbId --subscriptionKey $qnaSubscriptionKey) 2>> $log | Out-Null - Return $qnaKb + Return $qnaKb + } } function UpdateKB ($lu_file, $kbId, $qnaSubscriptionKey) @@ -34,13 +41,13 @@ function UpdateKB ($lu_file, $kbId, $qnaSubscriptionKey) $outFolder = $lu_file.DirectoryName # Parse LU file - Write-Host "Parsing $($id) LU file ..." + Write-Host "> Parsing $($id) LU file ..." ludown parse toqna ` --in $lu_file ` --out_folder $outFolder ` --out $outFile - Write-Host "Replacing $($id) QnA kb ..." + Write-Host "> Replacing $($id) QnA kb ..." qnamaker replace kb ` --in $(Join-Path $outFolder $outFile) ` --kbId $kbId ` diff --git a/templates/Virtual-Assistant-Template/csharp/VSIX/ProjectTemplates/Bot/va.zip b/templates/Virtual-Assistant-Template/csharp/VSIX/ProjectTemplates/Bot/va.zip index a557068626b125bc5ca12479e6043cc990ea340c..313e4f1acbd1b1eac4e031ba958d5b75825e9f48 100644 GIT binary patch delta 158138 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 delta 154848 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%0Al1B}{DZ>AGrmN` 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

GR|G|vnK^UbQ)?-R3|R*7>1qGH!SxLvb7xu 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 Date: Tue, 23 Apr 2019 13:48:50 -0700 Subject: [PATCH 06/11] updated skill context work --- .../Sample/SkillSample/Dialogs/MainDialog.cs | 11 ++++----- .../Template/Skill/Dialogs/MainDialog.cs | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs index f9ef580429..d80f7f48f6 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Dialogs/MainDialog.cs @@ -26,11 +26,13 @@ public class MainDialog : RouterDialog private BotServices _services; private ResponseManager _responseManager; private IStatePropertyAccessor _stateAccessor; + private IStatePropertyAccessor _contextAccessor; public MainDialog( BotSettings settings, BotServices services, ResponseManager responseManager, + UserState userState, ConversationState conversationState, SampleDialog sampleDialog, IBotTelemetryClient telemetryClient) @@ -43,6 +45,7 @@ public MainDialog( // Initialize state accessor _stateAccessor = conversationState.CreateProperty(nameof(SkillState)); + _contextAccessor = userState.CreateProperty(nameof(SkillContext)); // Register dialogs AddDialog(sampleDialog); @@ -247,8 +250,7 @@ private async Task PopulateStateFromSkillContext(ITurnContext context) { // If we have a SkillContext object populated from the SkillMiddleware we can retrieve requests slot (parameter) data // and make available in local state as appropriate. - var contextAccessor = _userState.CreateProperty(nameof(SkillContext)); - var skillContext = await contextAccessor.GetAsync(context, () => new SkillContext()); + var skillContext = await _contextAccessor.GetAsync(context, () => new SkillContext()); if (skillContext != null) { // Example of populating local state with data passed through Skill Context @@ -261,11 +263,6 @@ private async Task PopulateStateFromSkillContext(ITurnContext context) } } - private void RegisterDialogs() - { - AddDialog(new SampleDialog(_settings, _services, _responseManager, _stateAccessor, TelemetryClient)); - } - private class Events { public const string TokenResponseEvent = "tokens/response"; diff --git a/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs b/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs index 195d7ccae9..9eab33364c 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Dialogs/MainDialog.cs @@ -9,6 +9,7 @@ using Luis; using Microsoft.Bot.Builder; using Microsoft.Bot.Builder.Dialogs; +using Microsoft.Bot.Builder.Skills; using Microsoft.Bot.Builder.Solutions.Dialogs; using Microsoft.Bot.Builder.Solutions.Responses; using Microsoft.Bot.Schema; @@ -25,11 +26,13 @@ public class MainDialog : RouterDialog private BotServices _services; private ResponseManager _responseManager; private IStatePropertyAccessor _stateAccessor; + private IStatePropertyAccessor _contextAccessor; public MainDialog( BotSettings settings, BotServices services, ResponseManager responseManager, + UserState userState, ConversationState conversationState, SampleDialog sampleDialog, IBotTelemetryClient telemetryClient) @@ -42,6 +45,7 @@ public MainDialog( // Initialize state accessor _stateAccessor = conversationState.CreateProperty(nameof(SkillState)); + _contextAccessor = userState.CreateProperty(nameof(SkillContext)); // Register dialogs AddDialog(sampleDialog); @@ -59,6 +63,9 @@ public MainDialog( var locale = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName; var localeConfig = _services.CognitiveModelSets[locale]; + // Populate state from SkillContext slots as required + await PopulateStateFromSkillContext(dc.Context); + // Get skill LUIS model from configuration localeConfig.LuisServices.TryGetValue("$safeprojectname$", out var luisService); @@ -239,6 +246,23 @@ private async Task OnLogout(DialogContext dc) return InterruptionAction.StartedDialog; } + private async Task PopulateStateFromSkillContext(ITurnContext context) + { + // If we have a SkillContext object populated from the SkillMiddleware we can retrieve requests slot (parameter) data + // and make available in local state as appropriate. + var skillContext = await _contextAccessor.GetAsync(context, () => new SkillContext()); + if (skillContext != null) + { + // Example of populating local state with data passed through Skill Context + //if (skillContext.ContainsKey("Location")) + //{ + // // Add to your local state + // var state = await _stateAccessor.GetAsync(context, () => new SkillState()); + // state.Location = skillContext["Location"]; + //} + } + } + private class Events { public const string TokenResponseEvent = "tokens/response"; From 20571ab72d127058e25a0ca7d25c515128d70cec Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Tue, 23 Apr 2019 13:53:35 -0700 Subject: [PATCH 07/11] added RunLuisGen to luis_functions --- .../SkillSample/Deployment/Scripts/luis_functions.ps1 | 8 ++++++++ .../Template/Skill/Deployment/Scripts/luis_functions.ps1 | 8 ++++++++ .../Deployment/Scripts/luis_functions.ps1 | 8 ++++++++ .../Template/VA/Deployment/Scripts/luis_functions.ps1 | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 index bef2dc27d9..04907c3754 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Deployment/Scripts/luis_functions.ps1 @@ -97,4 +97,12 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null +} + +function RunLuisGen($lu_file, $outName, $outFolder) { + $id = $lu_file.BaseName + $luisFolder = $lu_file.DirectoryName + $luisFile = Join-Path $luisFolder "$($id).luis" + + luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 index bef2dc27d9..04907c3754 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Skill-Template/csharp/Template/Skill/Deployment/Scripts/luis_functions.ps1 @@ -97,4 +97,12 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null +} + +function RunLuisGen($lu_file, $outName, $outFolder) { + $id = $lu_file.BaseName + $luisFolder = $lu_file.DirectoryName + $luisFile = Join-Path $luisFolder "$($id).luis" + + luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 index bef2dc27d9..04907c3754 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/luis_functions.ps1 @@ -97,4 +97,12 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null +} + +function RunLuisGen($lu_file, $outName, $outFolder) { + $id = $lu_file.BaseName + $luisFolder = $lu_file.DirectoryName + $luisFile = Join-Path $luisFolder "$($id).luis" + + luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 index bef2dc27d9..04907c3754 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/luis_functions.ps1 @@ -97,4 +97,12 @@ function UpdateLUIS ($lu_file, $appId, $version, $authoringKey, $subscriptionKey # train and publish luis app $(luis train version --appId $appId --authoringKey $authoringKey --versionId $version --wait & luis publish version --appId $appId --authoringKey $authoringKey --versionId $version --wait) 2>&1 | Out-Null +} + +function RunLuisGen($lu_file, $outName, $outFolder) { + $id = $lu_file.BaseName + $luisFolder = $lu_file.DirectoryName + $luisFile = Join-Path $luisFolder "$($id).luis" + + luisgen $luisFile -cs "$($outName)Luis" -o $outFolder } \ No newline at end of file From c3cba9200a82f31089ae10ea1de936bcee36f3cb Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Wed, 24 Apr 2019 09:56:41 -0700 Subject: [PATCH 08/11] updated add skill script --- .../Deployment/Scripts/add_remote_skill.ps1 | 145 ++++++++++-------- 1 file changed, 85 insertions(+), 60 deletions(-) diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 index 68aec770b7..18c6841cfd 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts/add_remote_skill.ps1 @@ -1,7 +1,7 @@ Param( [string] $botName, [string] $manifestUrl, - [string] $luisFolder, + [string] $luisFolder, [string] $dispatchFolder, [string] $dispatchName, [string] $language = "en-us", @@ -31,7 +31,7 @@ if (-not $luisFolder) { } if (-not $botName) { - $botName = Read-Host "? Virtual Assitant Name (used to configure skill authentication)" + $botName = Read-Host "? Virtual Assistant Name (used to configure skill authentication)" } if (-not $manifestUrl) { @@ -83,6 +83,89 @@ if (-not $manifest) { Break } +Write-Host "> Getting intents for dispatch ..." +$dictionary = @{ } +foreach ($action in $manifest.actions) { + if ($action.definition.triggers.utteranceSources) { + foreach ($source in $action.definition.triggers.utteranceSources) { + foreach ($luisStr in $source.source) { + $luis = $luisStr -Split '#' + if ($dictionary.ContainsKey($luis[0])) { + $intents = $dictionary[$luis[0]] + $intents += $luis[1] + $dictionary[$luis[0]] = $intents + } + else { + $dictionary.Add($luis[0], @($luis[1])) + } + } + } + } +} + +Write-Host "> Adding skill to dispatch ..." +try { + $intentName = $manifest.Id + foreach ($luisApp in $dictionary.Keys) { + $intents = $dictionary[$luisApp] + $luFile = Get-ChildItem -Path $(Join-Path $luisFolder "$($luisApp).lu") ` 2>> $logFile + + if (-not $luFile) { + $luFile = Get-ChildItem -Path $(Join-Path $luisFolder $langCode "$($luisApp).lu") ` 2>> $logFile + + if ($luFile) { + $luisFolder = $(Join-Path $luisFolder $langCode) + } + else { + Write-Host "! Could not find $($manifest.Name) LU file. Please provide the -luisFolder parameter." -ForegroundColor DarkRed + Write-Host "! Checked the following locations:" -ForegroundColor DarkRed + Write-Host " $(Join-Path $luisFolder "$($luisApp).lu")" -ForegroundColor DarkRed + Write-Host " $(Join-Path $luisFolder $langCode "$($luisApp).lu")" -ForegroundColor DarkRed + Throw + } + } + + # Parse LU file + ludown parse toluis ` + --in $luFile ` + --luis_culture $language ` + --out_folder $luisFolder ` + --out "$($luisApp).luis" + + $luisFile = Get-ChildItem ` + -Path $luisFolder ` + -Filter "$($luisApp).luis" ` + -Recurse ` + -Force 2>> $logFile + + if ($luisFile) { + (dispatch add ` + --type file ` + --filePath $luisFile ` + --intentName $intentName ` + --dataFolder $dispatchFolder ` + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null + } + else { + Write-Host "! Could not find LUIS file: $(Join-Path $luisFolder "$($luisApp).luis")" -ForegroundColor DarkRed + Break + } + } +} +catch { + Break +} + +Write-Host "> Running dispatch refresh ..." +(dispatch refresh ` + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` + --dataFolder $dispatchFolder) 2>> $logFile | Out-Null + +if (Test-Path $dispatchJsonPath) { + Write-Host "> Running LuisGen ..." + luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null +} + Write-Host "> Initializing skill.config ..." if (Test-Path $skillsFile) { $skillConfig = Get-Content $skillsFile | ConvertFrom-Json @@ -201,64 +284,6 @@ if ($manifest.authenticationConnections) { } } -Write-Host "> Getting intents for dispatch ..." -$dictionary = @{ } -foreach ($action in $manifest.actions) { - if ($action.definition.triggers.utteranceSources) { - foreach ($source in $action.definition.triggers.utteranceSources) { - foreach ($luisStr in $source.source) { - $luis = $luisStr -Split '#' - if ($dictionary.ContainsKey($luis[0])) { - $intents = $dictionary[$luis[0]] - $intents += $luis[1] - $dictionary[$luis[0]] = $intents - } - else { - $dictionary.Add($luis[0], @($luis[1])) - } - } - } - } -} - -Write-Host "> Adding skill to dispatch ..." -$intentName = $manifest.Id -foreach ($luisApp in $dictionary.Keys) { - $intents = $dictionary[$luisApp] - $luFile = Get-ChildItem -Path $(Join-Path $luisFolder "$($luisApp).lu") ` - - # Parse LU file - ludown parse toluis ` - --in $luFile ` - --luis_culture $language ` - --out_folder $luisFolder ` - --out "$($luisApp).luis" - - $luisFile = Get-ChildItem ` - -Path $luisFolder ` - -Filter "$($luisApp).luis" ` - -ErrorAction SilentlyContinue ` - -Recurse ` - -Force - - (dispatch add ` - --type file ` - --filePath $luisFile ` - --intentName $intentName ` - --dataFolder $dispatchFolder ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null -} - -Write-Host "> Running dispatch refresh ..." -(dispatch refresh ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` - --dataFolder $dispatchFolder) 2>> $logFile | Out-Null - -if (Test-Path $dispatchJsonPath) { - Write-Host "> Running LuisGen ..." - luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null -} - if ($manualScopesRequired) { Write-Host "+ Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta } From a40216ee451f38ca85b306b171926ae97b40935d Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Wed, 24 Apr 2019 10:01:44 -0700 Subject: [PATCH 09/11] updated template script --- .../Deployment/Scripts/add_remote_skill.ps1 | 143 ++++++++++-------- 1 file changed, 84 insertions(+), 59 deletions(-) diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 index 2e3c568183..18c6841cfd 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts/add_remote_skill.ps1 @@ -1,7 +1,7 @@ Param( [string] $botName, [string] $manifestUrl, - [string] $luisFolder, + [string] $luisFolder, [string] $dispatchFolder, [string] $dispatchName, [string] $language = "en-us", @@ -83,6 +83,89 @@ if (-not $manifest) { Break } +Write-Host "> Getting intents for dispatch ..." +$dictionary = @{ } +foreach ($action in $manifest.actions) { + if ($action.definition.triggers.utteranceSources) { + foreach ($source in $action.definition.triggers.utteranceSources) { + foreach ($luisStr in $source.source) { + $luis = $luisStr -Split '#' + if ($dictionary.ContainsKey($luis[0])) { + $intents = $dictionary[$luis[0]] + $intents += $luis[1] + $dictionary[$luis[0]] = $intents + } + else { + $dictionary.Add($luis[0], @($luis[1])) + } + } + } + } +} + +Write-Host "> Adding skill to dispatch ..." +try { + $intentName = $manifest.Id + foreach ($luisApp in $dictionary.Keys) { + $intents = $dictionary[$luisApp] + $luFile = Get-ChildItem -Path $(Join-Path $luisFolder "$($luisApp).lu") ` 2>> $logFile + + if (-not $luFile) { + $luFile = Get-ChildItem -Path $(Join-Path $luisFolder $langCode "$($luisApp).lu") ` 2>> $logFile + + if ($luFile) { + $luisFolder = $(Join-Path $luisFolder $langCode) + } + else { + Write-Host "! Could not find $($manifest.Name) LU file. Please provide the -luisFolder parameter." -ForegroundColor DarkRed + Write-Host "! Checked the following locations:" -ForegroundColor DarkRed + Write-Host " $(Join-Path $luisFolder "$($luisApp).lu")" -ForegroundColor DarkRed + Write-Host " $(Join-Path $luisFolder $langCode "$($luisApp).lu")" -ForegroundColor DarkRed + Throw + } + } + + # Parse LU file + ludown parse toluis ` + --in $luFile ` + --luis_culture $language ` + --out_folder $luisFolder ` + --out "$($luisApp).luis" + + $luisFile = Get-ChildItem ` + -Path $luisFolder ` + -Filter "$($luisApp).luis" ` + -Recurse ` + -Force 2>> $logFile + + if ($luisFile) { + (dispatch add ` + --type file ` + --filePath $luisFile ` + --intentName $intentName ` + --dataFolder $dispatchFolder ` + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null + } + else { + Write-Host "! Could not find LUIS file: $(Join-Path $luisFolder "$($luisApp).luis")" -ForegroundColor DarkRed + Break + } + } +} +catch { + Break +} + +Write-Host "> Running dispatch refresh ..." +(dispatch refresh ` + --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` + --dataFolder $dispatchFolder) 2>> $logFile | Out-Null + +if (Test-Path $dispatchJsonPath) { + Write-Host "> Running LuisGen ..." + luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null +} + Write-Host "> Initializing skill.config ..." if (Test-Path $skillsFile) { $skillConfig = Get-Content $skillsFile | ConvertFrom-Json @@ -201,64 +284,6 @@ if ($manifest.authenticationConnections) { } } -Write-Host "> Getting intents for dispatch ..." -$dictionary = @{ } -foreach ($action in $manifest.actions) { - if ($action.definition.triggers.utteranceSources) { - foreach ($source in $action.definition.triggers.utteranceSources) { - foreach ($luisStr in $source.source) { - $luis = $luisStr -Split '#' - if ($dictionary.ContainsKey($luis[0])) { - $intents = $dictionary[$luis[0]] - $intents += $luis[1] - $dictionary[$luis[0]] = $intents - } - else { - $dictionary.Add($luis[0], @($luis[1])) - } - } - } - } -} - -Write-Host "> Adding skill to dispatch ..." -$intentName = $manifest.Id -foreach ($luisApp in $dictionary.Keys) { - $intents = $dictionary[$luisApp] - $luFile = Get-ChildItem -Path $(Join-Path $luisFolder "$($luisApp).lu") ` - - # Parse LU file - ludown parse toluis ` - --in $luFile ` - --luis_culture $language ` - --out_folder $luisFolder ` - --out "$($luisApp).luis" - - $luisFile = Get-ChildItem ` - -Path $luisFolder ` - -Filter "$($luisApp).luis" ` - -ErrorAction SilentlyContinue ` - -Recurse ` - -Force - - (dispatch add ` - --type file ` - --filePath $luisFile ` - --intentName $intentName ` - --dataFolder $dispatchFolder ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch")) 2>> $logFile | Out-Null -} - -Write-Host "> Running dispatch refresh ..." -(dispatch refresh ` - --dispatch $(Join-Path $dispatchFolder "$($dispatchName).dispatch") ` - --dataFolder $dispatchFolder) 2>> $logFile | Out-Null - -if (Test-Path $dispatchJsonPath) { - Write-Host "> Running LuisGen ..." - luisgen $dispatchJsonPath -cs "DispatchLuis" -o $lgOutFolder 2>> $logFile | Out-Null -} - if ($manualScopesRequired) { Write-Host "+ Could not configure scopes automatically. You must configure the following scopes in the Azure Portal to use this skill: $($newScopes -Join ', ')" -ForegroundColor Magenta } From 76e35cec302f05f66ed87f9111e3aaf1d62be73c Mon Sep 17 00:00:00 2001 From: Lauren Mills Date: Wed, 24 Apr 2019 10:21:43 -0700 Subject: [PATCH 10/11] updated vsix --- .../csharp/VSIX/ProjectTemplates/Bot/va.zip | Bin 990428 -> 990597 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/templates/Virtual-Assistant-Template/csharp/VSIX/ProjectTemplates/Bot/va.zip b/templates/Virtual-Assistant-Template/csharp/VSIX/ProjectTemplates/Bot/va.zip index 313e4f1acbd1b1eac4e031ba958d5b75825e9f48..506646b4e189f56913a07c57080f68ad57581b3c 100644 GIT binary patch delta 29578 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 HH~oJASC{?o From f87fb3e329f6eb43a84c53a032a960cc9ced7830 Mon Sep 17 00:00:00 2001 From: ted Li Date: Wed, 24 Apr 2019 12:22:10 -0700 Subject: [PATCH 11/11] more VA and skill template changes that use the latest skills package changes --- .../SkillSample.Tests.csproj | 2 -- .../Adapters/CustomSkillAdapter.cs | 13 +++++------ .../Sample/SkillSample/SkillSample.csproj | 4 ++-- .../csharp/Sample/SkillSample/Startup.cs | 22 +++---------------- .../Template/Skill.Tests/Skill.Tests.csproj | 2 -- .../Skill/Adapters/CustomSkillAdapter.cs | 15 ++++++------- .../csharp/Template/Skill/Skill.csproj | 4 ++-- .../csharp/Template/Skill/Startup.cs | 22 +++---------------- .../VirtualAssistantSample.Tests.csproj | 2 -- .../VirtualAssistantSample.csproj | 4 ++-- .../csharp/Template/VA.Tests/VA.Tests.csproj | 2 -- .../csharp/Template/VA/VA.csproj | 4 ++-- 12 files changed, 27 insertions(+), 69 deletions(-) diff --git a/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillSample.Tests.csproj b/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillSample.Tests.csproj index 39f1080b54..12636b6050 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillSample.Tests.csproj +++ b/templates/Skill-Template/csharp/Sample/SkillSample.Tests/SkillSample.Tests.csproj @@ -10,8 +10,6 @@ - - diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Adapters/CustomSkillAdapter.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Adapters/CustomSkillAdapter.cs index 433598682e..8720651c46 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Adapters/CustomSkillAdapter.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Adapters/CustomSkillAdapter.cs @@ -1,10 +1,10 @@ using Microsoft.Bot.Builder; using Microsoft.Bot.Builder.Azure; +using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Skills; using Microsoft.Bot.Builder.Solutions.Middleware; using Microsoft.Bot.Builder.Solutions.Responses; using Microsoft.Bot.Builder.Solutions.Telemetry; -using Microsoft.Bot.Connector.Authentication; using Microsoft.Bot.Schema; using SkillSample.Responses.Shared; using SkillSample.Services; @@ -12,16 +12,15 @@ namespace SkillSample.Adapters { - public class CustomSkillAdapter : SkillAdapter + public class CustomSkillAdapter : SkillWebSocketBotAdapter { public CustomSkillAdapter( BotSettings settings, - ICredentialProvider credentialProvider, + UserState userState, + ConversationState conversationState, BotStateSet botStateSet, ResponseManager responseManager, - IBotTelemetryClient telemetryClient, - UserState userState) - : base(credentialProvider) + IBotTelemetryClient telemetryClient) { OnTurnError = async (context, exception) => { @@ -37,7 +36,7 @@ public CustomSkillAdapter( Use(new SetLocaleMiddleware(settings.DefaultLocale ?? "en-us")); Use(new EventDebuggerMiddleware()); Use(new AutoSaveStateMiddleware(botStateSet)); - Use(new SkillMiddleware(userState)); + Use(new SkillMiddleware(userState, conversationState, conversationState.CreateProperty(nameof(SkillSample)))); } } } diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/SkillSample.csproj b/templates/Skill-Template/csharp/Sample/SkillSample/SkillSample.csproj index 41185d77d5..7a9cc11514 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/SkillSample.csproj +++ b/templates/Skill-Template/csharp/Sample/SkillSample/SkillSample.csproj @@ -62,8 +62,8 @@ - - + + diff --git a/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs b/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs index 25588c66de..28303730d4 100644 --- a/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs +++ b/templates/Skill-Template/csharp/Sample/SkillSample/Startup.cs @@ -26,8 +26,6 @@ using SkillSample.Responses.Sample; using Microsoft.Bot.Builder.Skills; using SkillSample.Adapters; -using Microsoft.AspNetCore.Authentication.JwtBearer; -using Microsoft.IdentityModel.Tokens; using Microsoft.Bot.Builder.Solutions; namespace SkillSample @@ -95,29 +93,14 @@ public void ConfigureServices(IServiceCollection services) new SharedResponses(), new SampleResponses())); - // Configure Skill authentication - services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) - .AddJwtBearer(options => - { - options.Authority = "https://login.microsoftonline.com/microsoft.com"; - options.Audience = settings.MicrosoftAppId; - options.TokenValidationParameters = new TokenValidationParameters - { - ValidIssuer = "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0", - }; - }); - - // comment out for now to disable whitelist checking - // services.AddSingleton(); - // services.AddSingleton(); - // Register dialogs services.AddTransient(); services.AddTransient(); // Configure adapters services.AddTransient(); - services.AddTransient(); + services.AddTransient(); + services.AddTransient(); // Configure bot services.AddTransient(); @@ -135,6 +118,7 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env) app.UseBotApplicationInsights() .UseDefaultFiles() .UseStaticFiles() + .UseWebSockets() .UseMvc(); } } diff --git a/templates/Skill-Template/csharp/Template/Skill.Tests/Skill.Tests.csproj b/templates/Skill-Template/csharp/Template/Skill.Tests/Skill.Tests.csproj index 14985c93f6..86cff4f553 100644 --- a/templates/Skill-Template/csharp/Template/Skill.Tests/Skill.Tests.csproj +++ b/templates/Skill-Template/csharp/Template/Skill.Tests/Skill.Tests.csproj @@ -10,8 +10,6 @@ - - diff --git a/templates/Skill-Template/csharp/Template/Skill/Adapters/CustomSkillAdapter.cs b/templates/Skill-Template/csharp/Template/Skill/Adapters/CustomSkillAdapter.cs index 0a6fbd5b9d..54b14a9d52 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Adapters/CustomSkillAdapter.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Adapters/CustomSkillAdapter.cs @@ -4,24 +4,23 @@ using Microsoft.Bot.Builder.Solutions.Middleware; using Microsoft.Bot.Builder.Solutions.Responses; using Microsoft.Bot.Builder.Solutions.Telemetry; -using Microsoft.Bot.Connector.Authentication; using Microsoft.Bot.Schema; using $safeprojectname$.Responses.Shared; using $safeprojectname$.Services; using System.Globalization; +using Microsoft.Bot.Builder.Dialogs; namespace $safeprojectname$.Adapters { - public class CustomSkillAdapter : SkillAdapter + public class CustomSkillAdapter : SkillWebSocketBotAdapter { public CustomSkillAdapter( BotSettings settings, - ICredentialProvider credentialProvider, + UserState userState, + ConversationState conversationState, BotStateSet botStateSet, ResponseManager responseManager, - IBotTelemetryClient telemetryClient, - UserState userState) - : base(credentialProvider) + IBotTelemetryClient telemetryClient) { OnTurnError = async (context, exception) => { @@ -37,7 +36,7 @@ public CustomSkillAdapter( Use(new SetLocaleMiddleware(settings.DefaultLocale ?? "en-us")); Use(new EventDebuggerMiddleware()); Use(new AutoSaveStateMiddleware(botStateSet)); - Use(new SkillMiddleware(userState)); + Use(new SkillMiddleware(userState, conversationState, conversationState.CreateProperty(nameof($safeprojectname$)))); } } -} +} \ No newline at end of file diff --git a/templates/Skill-Template/csharp/Template/Skill/Skill.csproj b/templates/Skill-Template/csharp/Template/Skill/Skill.csproj index 41185d77d5..7a9cc11514 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Skill.csproj +++ b/templates/Skill-Template/csharp/Template/Skill/Skill.csproj @@ -62,8 +62,8 @@ - - + + diff --git a/templates/Skill-Template/csharp/Template/Skill/Startup.cs b/templates/Skill-Template/csharp/Template/Skill/Startup.cs index b52f14e3f7..a2dfe7bf3e 100644 --- a/templates/Skill-Template/csharp/Template/Skill/Startup.cs +++ b/templates/Skill-Template/csharp/Template/Skill/Startup.cs @@ -26,8 +26,6 @@ using $safeprojectname$.Responses.Sample; using Microsoft.Bot.Builder.Skills; using $safeprojectname$.Adapters; -using Microsoft.AspNetCore.Authentication.JwtBearer; -using Microsoft.IdentityModel.Tokens; using Microsoft.Bot.Builder.Solutions; namespace $safeprojectname$ @@ -95,29 +93,14 @@ public void ConfigureServices(IServiceCollection services) new SharedResponses(), new SampleResponses())); - // Configure Skill authentication - services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) - .AddJwtBearer(options => - { - options.Authority = "https://login.microsoftonline.com/microsoft.com"; - options.Audience = settings.MicrosoftAppId; - options.TokenValidationParameters = new TokenValidationParameters - { - ValidIssuer = "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0", - }; - }); - - // comment out for now to disable whitelist checking - // services.AddSingleton(); - // services.AddSingleton(); - // Register dialogs services.AddTransient(); services.AddTransient(); // Configure adapters services.AddTransient(); - services.AddTransient(); + services.AddTransient(); + services.AddTransient(); // Configure bot services.AddTransient(); @@ -135,6 +118,7 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env) app.UseBotApplicationInsights() .UseDefaultFiles() .UseStaticFiles() + .UseWebSockets() .UseMvc(); } } diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests/VirtualAssistantSample.Tests.csproj b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests/VirtualAssistantSample.Tests.csproj index ac42351435..a31513795d 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests/VirtualAssistantSample.Tests.csproj +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests/VirtualAssistantSample.Tests.csproj @@ -10,8 +10,6 @@ - - diff --git a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/VirtualAssistantSample.csproj b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/VirtualAssistantSample.csproj index 534d42a2fc..730e0e443a 100644 --- a/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/VirtualAssistantSample.csproj +++ b/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/VirtualAssistantSample.csproj @@ -21,8 +21,8 @@ - - + + diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA.Tests/VA.Tests.csproj b/templates/Virtual-Assistant-Template/csharp/Template/VA.Tests/VA.Tests.csproj index a5f2945615..2285bb92cd 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA.Tests/VA.Tests.csproj +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA.Tests/VA.Tests.csproj @@ -10,8 +10,6 @@ - - diff --git a/templates/Virtual-Assistant-Template/csharp/Template/VA/VA.csproj b/templates/Virtual-Assistant-Template/csharp/Template/VA/VA.csproj index 870b6f03a1..aaa10d7ed3 100644 --- a/templates/Virtual-Assistant-Template/csharp/Template/VA/VA.csproj +++ b/templates/Virtual-Assistant-Template/csharp/Template/VA/VA.csproj @@ -21,8 +21,8 @@ - - + +