From 788e3b93dbb8dd1d1208c1d238cb11110275b3b0 Mon Sep 17 00:00:00 2001 From: Gary Pretty Date: Tue, 2 Jun 2020 10:31:33 +0100 Subject: [PATCH] Release/06022020 (#268) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Master (#252) * Fix for Zoom adapter throwing on no channel ID (#245) * Adding RingCentral adapter (#215) * Adding RingCentral adapter * Updating documentation #wip * Adding packaging details * Addressing warnings Co-authored-by: Gary Pretty * Adding sample RingCentral Adapter bot (#221) * Adding RingCentral adapter * Updating documentation #wip * Adding packaging details * Addressing warnings * Adding RingCentral Adapter sample and updating documentation * Fix up unit tests * Adding RingCentral reference to main doc * Fix up git ignore Co-authored-by: Gary Pretty * Update README.md * Update README.md * Add GitHub link to profile (#223) * Updated sample package references. Added ring central sample. (#224) * Updated sample package references. Added ring central sample. * Update dotnet pack yaml config * Further update to dotnet pack yaml to fix no matching projects build pipeline error. * Bump Microsoft.AspNetCore.All in /samples/Form Flow Sample (#225) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/Google Adapter Sample (#228) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/BestMatch Middleware Sample (#226) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/Alexa Adapter Sample (#227) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gary Pretty * Update adaptor to use current elastic 7.x (#233) * Update adaptor to use current elastic 7.x * Update ElasticsearchStorage.cs * Ported the BestMatch Middleware Sample to MVC. (#200) Co-authored-by: Gary Pretty * Refactor of Alexa adapter (#179) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Fix speak concat bug * Add first Alexa tests * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Release/4.8.0 (#206) * Google Adapter: Google Content Type not set to UTF-8 * Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann * TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 * DevOps: Azure DevOps Pipelines GitVersion issue * Dependencies: Update to Bot Framework SDK 4.8 * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * Added the Alexa Adapter Sample to the Solution (#220) The project was missing from the solution so I have now added it as a part of solution. * Remove conversation type per Activity docs (#229) * Update Alexa Sample * Update README.md * Update readme * Attempt to resolve NuGet dependency between Alexa packages * Update project file ref for local NuGet package * Force alexa project to generate local package * More... * Update for nupack * Fix pipelines pack command Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin * Feature/adopt alexadotnet (#235) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Fix speak concat bug * Add first Alexa tests * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Release/4.8.0 (#206) * Google Adapter: Google Content Type not set to UTF-8 * Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann * TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 * DevOps: Azure DevOps Pipelines GitVersion issue * Dependencies: Update to Bot Framework SDK 4.8 * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * Added the Alexa Adapter Sample to the Solution (#220) The project was missing from the solution so I have now added it as a part of solution. * Remove conversation type per Activity docs (#229) * Update Alexa Sample * Update README.md * Update readme * Attempt to resolve NuGet dependency between Alexa packages * Update project file ref for local NuGet package * Force alexa project to generate local package * More... * Update for nupack * Fix pipelines pack command * Convert other attachments to their strong type (#234) Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin Co-authored-by: Nick Ericson * Update README.md * Update README.md * Update README.md * Update README.md Remove preview label for Alexa adapter * Change Alexa md renderer to remove trailing periods. Added more tests. (#237) * Change Alexa md renderer to remove trailing periods. Added more tests. * Fix link and quote md rendering Co-authored-by: Gary Pretty * Zoom Adapter (#240) * Add Zoom adapter project * Working Zoom adapter including message templates. * Updated Zoom Readme and made some refactorings to solution * Update README.md * Update README.md * Update README.md * Zoom adapter request verification (#241) * Add Zoom adapter project * Working Zoom adapter including message templates. * Updated Zoom Readme and made some refactorings to solution * Fixed Zoom request verification * Don't escape Text (#238) * Update project URLs for packages * Added the class attribute (#242) ..to remain consistent with other adapters. * Update readmes for Alexa / Zoom to update NuGet instructions * Update repo readme * Update README.md * Update README.md * Added channel ID to outgoing Zoom activity mapping Co-authored-by: Jamie D Co-authored-by: martinoss Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex ln Co-authored-by: Arafat Tehsin Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Nick Ericson * Release 05/15/2020 (#250) * Adding RingCentral adapter (#215) * Adding RingCentral adapter * Updating documentation #wip * Adding packaging details * Addressing warnings Co-authored-by: Gary Pretty * Adding sample RingCentral Adapter bot (#221) * Adding RingCentral adapter * Updating documentation #wip * Adding packaging details * Addressing warnings * Adding RingCentral Adapter sample and updating documentation * Fix up unit tests * Adding RingCentral reference to main doc * Fix up git ignore Co-authored-by: Gary Pretty * Update README.md * Update README.md * Add GitHub link to profile (#223) * Updated sample package references. Added ring central sample. (#224) * Updated sample package references. Added ring central sample. * Update dotnet pack yaml config * Further update to dotnet pack yaml to fix no matching projects build pipeline error. * Bump Microsoft.AspNetCore.All in /samples/Form Flow Sample (#225) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/Google Adapter Sample (#228) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/BestMatch Middleware Sample (#226) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump Microsoft.AspNetCore.All in /samples/Alexa Adapter Sample (#227) Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4. - [Release notes](https://github.com/aspnet/Universe/releases) - [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md) - [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gary Pretty * Update adaptor to use current elastic 7.x (#233) * Update adaptor to use current elastic 7.x * Update ElasticsearchStorage.cs * Ported the BestMatch Middleware Sample to MVC. (#200) Co-authored-by: Gary Pretty * Refactor of Alexa adapter (#179) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Fix speak concat bug * Add first Alexa tests * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Release/4.8.0 (#206) * Google Adapter: Google Content Type not set to UTF-8 * Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann * TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 * DevOps: Azure DevOps Pipelines GitVersion issue * Dependencies: Update to Bot Framework SDK 4.8 * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * Added the Alexa Adapter Sample to the Solution (#220) The project was missing from the solution so I have now added it as a part of solution. * Remove conversation type per Activity docs (#229) * Update Alexa Sample * Update README.md * Update readme * Attempt to resolve NuGet dependency between Alexa packages * Update project file ref for local NuGet package * Force alexa project to generate local package * More... * Update for nupack * Fix pipelines pack command Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin * Feature/adopt alexadotnet (#235) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Fix speak concat bug * Add first Alexa tests * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Release/4.8.0 (#206) * Google Adapter: Google Content Type not set to UTF-8 * Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann * TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 * DevOps: Azure DevOps Pipelines GitVersion issue * Dependencies: Update to Bot Framework SDK 4.8 * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * Added the Alexa Adapter Sample to the Solution (#220) The project was missing from the solution so I have now added it as a part of solution. * Remove conversation type per Activity docs (#229) * Update Alexa Sample * Update README.md * Update readme * Attempt to resolve NuGet dependency between Alexa packages * Update project file ref for local NuGet package * Force alexa project to generate local package * More... * Update for nupack * Fix pipelines pack command * Convert other attachments to their strong type (#234) Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin Co-authored-by: Nick Ericson * Update README.md * Update README.md * Update README.md * Update README.md Remove preview label for Alexa adapter * Change Alexa md renderer to remove trailing periods. Added more tests. (#237) * Change Alexa md renderer to remove trailing periods. Added more tests. * Fix link and quote md rendering Co-authored-by: Gary Pretty * Zoom Adapter (#240) * Add Zoom adapter project * Working Zoom adapter including message templates. * Updated Zoom Readme and made some refactorings to solution * Update README.md * Update README.md * Update README.md * Zoom adapter request verification (#241) * Add Zoom adapter project * Working Zoom adapter including message templates. * Updated Zoom Readme and made some refactorings to solution * Fixed Zoom request verification * Don't escape Text (#238) * Update project URLs for packages * Added the class attribute (#242) ..to remain consistent with other adapters. * Update readmes for Alexa / Zoom to update NuGet instructions * Update repo readme * Update README.md * Update README.md * Added channel ID to outgoing Zoom activity mapping * convert to csharp (#246) * Refactor of Google Adapter (#190) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * First iteration on Google refactor * Refactor of Google Adapter * Update samples for Alexa / Google * Update Google Adapter Sample * Update Google adapter to send conversation update activity when user initiates conversation without intent. * Updated readme and sample to use latest preview * Fix image links in readme. * Another attempt to fix images * Further image link fix * Update README.md * Update README.md * Update README.md * Image extension case fix * Update README.md * Updated response content type * Update Startup.cs * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Update Google adapter with latest changes to mirror the Alexa adapter * Fix speak concat bug * Fix speak concat issue * Add first Alexa tests * Update README.md * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Updated the media files (#218) As Action SDK has been changed to Assistant SDK therefore I have updated them * Fixed typo & added .json to package file (#219) * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * WIP on Google sync with current Alexa approach * Sync google with current alexa approach WIP * Further project factoring * Further refactoring. Split out conversations / dialogflow into separate request mappers. * Update to Google adapter WIP - addressing anonymous user id and removing attachment processing temporarily. * WIP * Significant updates to include Google specific attachment types for system intents and cards * Refactor RequestToActivity and add card / intent factories * Align DialogFlow mapper with Conversation Webhook - derive both from new abstract base class. * Implemented feedback following review Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin * [AdaptiveDialogs] Add Rest actions (#232) * Add Adaptive Rest action * Add nuget metadata * Add Readme * Fix readme * Fix documentation * Fix sln * Fix merge sln Co-authored-by: Sébastien BIAUDET * Add Infobip Adapter (#247) * Add Infobip Adapter * Updated readme to nuget vs myget. * Update readme * Switch to xunit * autoformat all files. * Sln file merge Co-authored-by: Gary Pretty * Doc updates for Google Adapter (#249) * - Initial Alexa adapter refactor to adopt Alexa.Net - Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat) * - Updated Directory Build Props to include StyleCop package - Enable warnings as errors for Alexa project * - Added attachment types for directives / cards etc. - Updated content extension methods to use Alexa.NET and attachments model - Updated some core adapter logic * - Added support for Directives - Updated logic to use attachments as opposed to TurnState - Further adapter logic updates * Update GitVersion tag for feature branches * - Moved method for stylecop * Update GitVersion to attempt to ensure package names are incremented correctly on each build. * Updated package dependencies for Alexa adapter * Updated Alexa Sample * Update readme for preview package * Amended middleware and adaper for skills support * Updates following PR feedback * Removed ContinueConversationAsync overload not available until SDK 4.7. Will be re-added later for skills support. * Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea. * Added message activity concat and suggested actions conversion to google adapter * Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn * minor clean up * removing google adapter changes, renaming functions, removing suggested action conversion * Remove unused option * - Some naming tweaks - Added policy for handling multiple outgoing activities. - Added ContinueConversationAsync method * Move multiple activity policy enum out of options class * Naming tweak for outgoing activity policy * First iteration on Google refactor * Refactor of Google Adapter * Update samples for Alexa / Google * Update Google Adapter Sample * Update Google adapter to send conversation update activity when user initiates conversation without intent. * Updated readme and sample to use latest preview * Fix image links in readme. * Another attempt to fix images * Further image link fix * Update README.md * Update README.md * Update README.md * Image extension case fix * Update README.md * Updated response content type * Update Startup.cs * Update docs and add automatic end of session when no outgoing activities are sent * Readme update * Change default concat policy. Update readme. * Changes following code review (#195) * Move the activities list to within the turn context * Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic. * Update Google adapter with latest changes to mirror the Alexa adapter * Fix speak concat bug * Fix speak concat issue * Add first Alexa tests * Update README.md * Update README.md * Update Bot Builder NuGet references * Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods. * Fix failing test * Updates to move middleware into adapter. Rename helper to AlexaRequestMapper * Further refinements of mapper * Update AlexaRequestMapperOptions.cs * Updates to mapper / options * Add Alexa Auth Handler. (#204) * Rename some methods on Alexa Mapper. Update NuGet packages to 4.8. * Rename auth handler class name * Removing old Alexa auth handler * Fix test project dependencies * Update Alexa Core project file * Amend pipeline to try and resolve dotnet pack issue * Remvoed and re-added Alexa projects to SLN * Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks * Update pipeline * Update Auth Handler (#205) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Fix bug with not handling built in StopIntent * Add virtual to auth methods (#209) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. Co-authored-by: Gary Pretty * Add fallback support for Alexa request types => EventActivity * Add a simple markdown to plain text converter (#210) * Add Alexa Auth Handler. * Fix crazyness in merge. * again. * Add Alexa Skill Id validation check. * Tabs to spaces * Add a couple tests. * Separate skill id check. * Set ExpectReplies and add more tests. * Dont NRE when activities is null. * Make methods virutal for mocking * Add check for Request being null so we don't throw NRE on bad requests from Alexa. * Add simple markdown formatter Co-authored-by: Gary Pretty * Update attachment implementation (#213) * Update attachment implementation to align with BF SDK and work correctly with ABS. * Added tests for new attachment implementation * Moved text normalization logic earlier and amended markdown handling (#212) * Moved logic for text normalization earlier in the pipeline into the MergeActivities method. * Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown. * Convert Alexa attachment types to their strong type if needed. (#214) * Update utility naming to helpers (aligns with SDK / other adapters). (#216) * Merge attachments in activities so they are available in the last message (#217) * Merge attachments in activities so they are available in the last message. * Fix attachments. * Fix for attachment null property handling * Update attachment tests * Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present. * Fix tests failing with equality of ref types * Project file with additional NuGet dependency Co-authored-by: Gary Pretty * Updated the media files (#218) As Action SDK has been changed to Assistant SDK therefore I have updated them * Fixed typo & added .json to package file (#219) * Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config. * WIP on Google sync with current Alexa approach * Sync google with current alexa approach WIP * Further project factoring * Further refactoring. Split out conversations / dialogflow into separate request mappers. * Update to Google adapter WIP - addressing anonymous user id and removing attachment processing temporarily. * WIP * Significant updates to include Google specific attachment types for system intents and cards * Refactor RequestToActivity and add card / intent factories * Align DialogFlow mapper with Conversation Webhook - derive both from new abstract base class. * Implemented feedback following review * Updated Google Adapter Readme. Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Arafat Tehsin * Update README.md Co-authored-by: Jamie D Co-authored-by: martinoss Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex ln Co-authored-by: Arafat Tehsin Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Nick Ericson Co-authored-by: Michael Richardson <40401643+mdrichardson@users.noreply.github.com> Co-authored-by: Sébastien BIAUDET Co-authored-by: Sébastien BIAUDET Co-authored-by: Jamie D Co-authored-by: martinoss Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex ln Co-authored-by: Arafat Tehsin Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Nick Ericson Co-authored-by: Michael Richardson <40401643+mdrichardson@users.noreply.github.com> Co-authored-by: Sébastien BIAUDET Co-authored-by: Sébastien BIAUDET * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Fixed a small typo * Fix for Google validation which prevented a user from disabling checks (#253) * Further google request validation fix (#255) * Fix for Google validation which prevented a user from disabling checks * Further fix for Google request validation * Update README.md * Fix casing for Infobip in readme. (#262) * Add bot sample for Infobip Whatsapp adapter (#259) * added bot sample for infobip whatsapp adapter * adapter readme.md file correction * Readme.md file corrections Co-authored-by: iursic Co-authored-by: Gary Pretty * Add Infobip sample link to readme (#265) * Added more properties to BasicCardContent to support Rich Content (#258) * Added the class attribute ..to remain consistent with other adapters. * Updated the references to use the latest middleware with ML.NET support * Added more properties to support Rich Card content in GoogleCardFactory. * Replaced the existing media to address the Authorization part and fixed a typo. Co-authored-by: Gary Pretty * Update Alexa.NET version to pull in fix for deserialization issue (#264) Co-authored-by: Gary Pretty * Updated Suggested Actions conversion logic (#266) * Updated Suggested Actions conversion logic to only use IMBack and MessageBack types. Add LinkOutSuggestion conversion. * Update Google Sample to use NuGet package instead of project reference. * Fixed missing project reference * Update NuGet packages for libs and samples (#267) * Update NuGet packages for libs to SDK 4.9 and fix a couple of breaking changes in adaptive lib. Update samples NuGet for Bot Builder Community packages to 4.8. * Update Adaptive Rest unit test to add Adaptive component registration Co-authored-by: Jamie D Co-authored-by: martinoss Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex ln Co-authored-by: Arafat Tehsin Co-authored-by: Patrick Volum Co-authored-by: Nick Ericson Co-authored-by: Nick Ericson Co-authored-by: Michael Richardson <40401643+mdrichardson@users.noreply.github.com> Co-authored-by: Sébastien BIAUDET Co-authored-by: Sébastien BIAUDET Co-authored-by: ivanursic-infobip <64965551+ivanursic-infobip@users.noreply.github.com> Co-authored-by: iursic --- Bot.Builder.Community.Samples.sln | 22 +- README.md | 4 +- ...ilder.Community.Adapters.Alexa.Core.csproj | 6 +- ...ot.Builder.Community.Adapters.Alexa.csproj | 5 +- ...lder.Community.Adapters.Google.Core.csproj | 2 +- .../ConversationRequestMapper.cs | 3 +- .../DialogFlowRequestMapper.cs | 5 +- .../GoogleRequestMapperBase.cs | 27 +- .../Helpers/GoogleCardFactory.cs | 7 +- ...t.Builder.Community.Adapters.Google.csproj | 4 +- .../GoogleAdapter.cs | 21 +- .../README.md | 21 +- .../media/dialog-flow-fulfilment.PNG | Bin 52401 -> 0 bytes .../media/dialog-flow-fulfilment.jpg | Bin 0 -> 36942 bytes ....Builder.Community.Adapters.Infobip.csproj | 4 +- .../README.md | 2 +- ...lder.Community.Adapters.RingCentral.csproj | 4 +- ....Builder.Community.Adapters.Twitter.csproj | 2 +- ...Bot.Builder.Community.Adapters.Zoom.csproj | 4 +- ...der.Community.Dialogs.Adaptive.Rest.csproj | 2 +- .../RestComponentRegistration.cs | 6 +- ...uilder.Community.Dialogs.ChoiceFlow.csproj | 2 +- ...nity.Dialogs.DataTypeDisambiguation.csproj | 4 +- ....Builder.Community.Dialogs.FormFlow.csproj | 4 +- ....Builder.Community.Dialogs.Location.csproj | 4 +- .../Bot.Builder.Community.Dialogs.Luis.csproj | 2 +- ...t.Builder.Community.Dialogs.Prompts.csproj | 2 +- ...ty.Middleware.AzureAdAuthentication.csproj | 2 +- ...lder.Community.Middleware.BestMatch.csproj | 2 +- ...unity.Middleware.HandleActivityType.csproj | 2 +- ...munity.Middleware.SentimentAnalysis.csproj | 2 +- ...der.Community.Middleware.SpellCheck.csproj | 2 +- ...mmunity.Recognizers.FuzzyRecognizer.csproj | 2 +- ...der.Community.Storage.Elasticsearch.csproj | 2 +- ...r.Community.Storage.EntityFramework.csproj | 2 +- .../Alexa Adapter Sample.csproj | 6 +- .../BestMatch Middleware Sample.csproj | 12 +- .../ChoiceFlow Dialog Sample.csproj | 6 +- .../Cortana Assistant Alexa Sample.csproj | 14 +- .../Form Flow Sample/Form Flow Sample.csproj | 10 +- samples/Google Adapter Sample/Bots/EchoBot.cs | 13 +- .../Google Adapter Sample.csproj | 9 +- .../AdapterWithErrorHandler.cs | 32 ++ .../Infobip Adapter Sample/Bots/EchoBot.cs | 119 +++++ .../Controllers/BotController.cs | 32 ++ .../Controllers/InfobipController.cs | 32 ++ .../new-rg-parameters.json | 42 ++ .../preexisting-rg-parameters.json | 39 ++ .../template-with-new-rg.json | 184 ++++++++ .../template-with-preexisting-rg.json | 155 +++++++ .../Infobip Adapter Sample.csproj | 20 + .../InfobipAdapterWithErrorHandler.cs | 21 + samples/Infobip Adapter Sample/Program.cs | 22 + .../Properties/launchSettings.json | 28 ++ samples/Infobip Adapter Sample/README.md | 3 + samples/Infobip Adapter Sample/Startup.cs | 65 +++ .../Infobip Adapter Sample/appsettings.json | 10 + .../wwwroot/default.htm | 420 ++++++++++++++++++ .../Location Dialog Sample.csproj | 12 +- .../Luis Dialog Sample.csproj | 4 +- .../RingCentral Adapter Sample.csproj | 8 +- .../Sentiment Middleware Sample.csproj | 4 +- .../Twitter Adapter Sample.csproj | 2 +- .../Zoom Adapter Sample.csproj | 7 +- ...lder.Community.Adapters.Alexa.Tests.csproj | 5 +- ...ommunity.Adapters.RingCentral.Tests.csproj | 2 +- ...mmunity.Dialogs.Adaptive.Rest.Tests.csproj | 7 +- .../Fakes/FakeEchoRestAction.cs | 6 +- .../Startup.cs | 23 + ....Builder.Community.Middleware.Tests.csproj | 2 +- ...Builder.Community.Recognizers.Tests.csproj | 2 +- ...Bot.Builder.Community.Storage.Tests.csproj | 2 +- 72 files changed, 1428 insertions(+), 137 deletions(-) delete mode 100644 libraries/Bot.Builder.Community.Adapters.Google/media/dialog-flow-fulfilment.PNG create mode 100644 libraries/Bot.Builder.Community.Adapters.Google/media/dialog-flow-fulfilment.jpg create mode 100644 samples/Infobip Adapter Sample/AdapterWithErrorHandler.cs create mode 100644 samples/Infobip Adapter Sample/Bots/EchoBot.cs create mode 100644 samples/Infobip Adapter Sample/Controllers/BotController.cs create mode 100644 samples/Infobip Adapter Sample/Controllers/InfobipController.cs create mode 100644 samples/Infobip Adapter Sample/DeploymentTemplates/new-rg-parameters.json create mode 100644 samples/Infobip Adapter Sample/DeploymentTemplates/preexisting-rg-parameters.json create mode 100644 samples/Infobip Adapter Sample/DeploymentTemplates/template-with-new-rg.json create mode 100644 samples/Infobip Adapter Sample/DeploymentTemplates/template-with-preexisting-rg.json create mode 100644 samples/Infobip Adapter Sample/Infobip Adapter Sample.csproj create mode 100644 samples/Infobip Adapter Sample/InfobipAdapterWithErrorHandler.cs create mode 100644 samples/Infobip Adapter Sample/Program.cs create mode 100644 samples/Infobip Adapter Sample/Properties/launchSettings.json create mode 100644 samples/Infobip Adapter Sample/README.md create mode 100644 samples/Infobip Adapter Sample/Startup.cs create mode 100644 samples/Infobip Adapter Sample/appsettings.json create mode 100644 samples/Infobip Adapter Sample/wwwroot/default.htm create mode 100644 tests/Bot.Builder.Community.Dialogs.Adaptive.Rest.Tests/Startup.cs diff --git a/Bot.Builder.Community.Samples.sln b/Bot.Builder.Community.Samples.sln index 57ca6bf9..45c9985e 100644 --- a/Bot.Builder.Community.Samples.sln +++ b/Bot.Builder.Community.Samples.sln @@ -26,16 +26,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Google Adapter Sample", "sa EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Zoom Adapter Sample", "samples\Zoom Adapter Sample\Zoom Adapter Sample.csproj", "{D5F5BFB0-CDEC-4980-9EBB-864724B6B2B6}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infobip Adapter Sample", "samples\Infobip Adapter Sample\Infobip Adapter Sample.csproj", "{BC01A8C4-3FEB-46E8-AE39-D71F5CB7602F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7927A7EE-C327-4403-A5F4-B5E2C0BF4D47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7927A7EE-C327-4403-A5F4-B5E2C0BF4D47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7927A7EE-C327-4403-A5F4-B5E2C0BF4D47}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7927A7EE-C327-4403-A5F4-B5E2C0BF4D47}.Release|Any CPU.Build.0 = Release|Any CPU {10BEDE11-C9DE-4B67-9467-4E48272229C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {10BEDE11-C9DE-4B67-9467-4E48272229C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {10BEDE11-C9DE-4B67-9467-4E48272229C6}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -60,14 +58,6 @@ Global {55F863F1-9EC8-420C-9099-BD8378D72F18}.Debug|Any CPU.Build.0 = Debug|Any CPU {55F863F1-9EC8-420C-9099-BD8378D72F18}.Release|Any CPU.ActiveCfg = Release|Any CPU {55F863F1-9EC8-420C-9099-BD8378D72F18}.Release|Any CPU.Build.0 = Release|Any CPU - {37ED6FBD-12B5-40CF-837F-6F75ACC65484}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37ED6FBD-12B5-40CF-837F-6F75ACC65484}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37ED6FBD-12B5-40CF-837F-6F75ACC65484}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37ED6FBD-12B5-40CF-837F-6F75ACC65484}.Release|Any CPU.Build.0 = Release|Any CPU - {89A6903F-2911-4A27-B178-EA28D697D46B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {89A6903F-2911-4A27-B178-EA28D697D46B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {89A6903F-2911-4A27-B178-EA28D697D46B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {89A6903F-2911-4A27-B178-EA28D697D46B}.Release|Any CPU.Build.0 = Release|Any CPU {D1C3490D-477A-4D79-A41C-4D15CA9DC183}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D1C3490D-477A-4D79-A41C-4D15CA9DC183}.Debug|Any CPU.Build.0 = Debug|Any CPU {D1C3490D-477A-4D79-A41C-4D15CA9DC183}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -84,10 +74,18 @@ Global {53BCE929-C57D-4AF9-91C9-FCA5C7E2CE41}.Debug|Any CPU.Build.0 = Debug|Any CPU {53BCE929-C57D-4AF9-91C9-FCA5C7E2CE41}.Release|Any CPU.ActiveCfg = Release|Any CPU {53BCE929-C57D-4AF9-91C9-FCA5C7E2CE41}.Release|Any CPU.Build.0 = Release|Any CPU + {89A6903F-2911-4A27-B178-EA28D697D46B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89A6903F-2911-4A27-B178-EA28D697D46B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89A6903F-2911-4A27-B178-EA28D697D46B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89A6903F-2911-4A27-B178-EA28D697D46B}.Release|Any CPU.Build.0 = Release|Any CPU {D5F5BFB0-CDEC-4980-9EBB-864724B6B2B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D5F5BFB0-CDEC-4980-9EBB-864724B6B2B6}.Debug|Any CPU.Build.0 = Debug|Any CPU {D5F5BFB0-CDEC-4980-9EBB-864724B6B2B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5F5BFB0-CDEC-4980-9EBB-864724B6B2B6}.Release|Any CPU.Build.0 = Release|Any CPU + {BC01A8C4-3FEB-46E8-AE39-D71F5CB7602F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BC01A8C4-3FEB-46E8-AE39-D71F5CB7602F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BC01A8C4-3FEB-46E8-AE39-D71F5CB7602F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BC01A8C4-3FEB-46E8-AE39-D71F5CB7602F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.md b/README.md index d8e58ba3..1836d05e 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ The following adapters can be used to expose your bot on additional channels not | [Google Adapter](libraries/Bot.Builder.Community.Adapters.Google) | An adapter to allow for Google Actions to be built using the Bot Builder SDK. Includes broad support for Google Actions capabilities, including Cards and suggestion chips | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/master/samples/Google%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/packages/Bot.Builder.Community.Adapters.Google/) | | [Twitter Adapter](libraries/Bot.Builder.Community.Adapters.Twitter) | An adapter that integrates Twitter Direct Messages with the Bot Builder. The adapter sets up the required webhooks and responds to CRC requests. The webhooks code is based on the work by Tweety with modifications to support the Premium tier of the Account Activity API. | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/master/samples/Twitter%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/packages/Bot.Builder.Community.Adapters.Twitter/) | | [RingCentral Adapter](libraries/Bot.Builder.Community.Adapters.RingCentral) | An adapter that integrates the RingCentral Platform API with the Bot Builder. The adapter sets up the required webhooks and endpoints to RingCentral requests. Supporting features such as human handoff, activity publishing and WhatsApp support. | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/master/samples/RingCentral%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/packages/Bot.Builder.Community.Adapters.RingCentral/) | -| [Zoom Adapter](libraries/Bot.Builder.Community.Adapters.Zoom) | An adapter that accepts and hanldes Zoom app requests. Specifically developed to handle Zoom chatbot app requests and allow for the sending of messages using Zoom Message Templates. The adapter will also receieve any event subscribed to via Zoom, even those not chatbot related. | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/samples/Zoom%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/packages/Bot.Builder.Community.Adapters.Zoom/) | -| [InfoBip WhatsApp Adapter](libraries/Bot.Builder.Community.Adapters.InfoBip) | An adapter that accepts and hanldes WhatsApp app requests via InfoBip, including support for various message and template types. | | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/libraries/Bot.Builder.Community.Adapters.Infobip/) | +| [Zoom Adapter](libraries/Bot.Builder.Community.Adapters.Zoom) | An adapter that accepts and handles Zoom app requests. Specifically developed to handle Zoom chatbot app requests and allow for the sending of messages using Zoom Message Templates. The adapter will also receieve any event subscribed to via Zoom, even those not chatbot related. | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/samples/Zoom%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/packages/Bot.Builder.Community.Adapters.Zoom/) | +| [Infobip WhatsApp Adapter](libraries/Bot.Builder.Community.Adapters.Infobip) | An adapter that accepts and hanldes WhatsApp app requests via Infobip, including support for various message and template types. | [Sample](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/samples/Infobip%20Adapter%20Sample) | [![NuGet version](https://img.shields.io/badge/NuGet-blue.svg)](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/libraries/Bot.Builder.Community.Adapters.Infobip/) | ## Dialogs and Prompts diff --git a/libraries/Bot.Builder.Community.Adapters.Alexa.Core/Bot.Builder.Community.Adapters.Alexa.Core.csproj b/libraries/Bot.Builder.Community.Adapters.Alexa.Core/Bot.Builder.Community.Adapters.Alexa.Core.csproj index 08b6f0e3..78dc7305 100644 --- a/libraries/Bot.Builder.Community.Adapters.Alexa.Core/Bot.Builder.Community.Adapters.Alexa.Core.csproj +++ b/libraries/Bot.Builder.Community.Adapters.Alexa.Core/Bot.Builder.Community.Adapters.Alexa.Core.csproj @@ -19,11 +19,11 @@ - + - - + + diff --git a/libraries/Bot.Builder.Community.Adapters.Alexa/Bot.Builder.Community.Adapters.Alexa.csproj b/libraries/Bot.Builder.Community.Adapters.Alexa/Bot.Builder.Community.Adapters.Alexa.csproj index c1b7eaf4..bb69a6bd 100644 --- a/libraries/Bot.Builder.Community.Adapters.Alexa/Bot.Builder.Community.Adapters.Alexa.csproj +++ b/libraries/Bot.Builder.Community.Adapters.Alexa/Bot.Builder.Community.Adapters.Alexa.csproj @@ -20,10 +20,7 @@ - - - - + diff --git a/libraries/Bot.Builder.Community.Adapters.Google.Core/Bot.Builder.Community.Adapters.Google.Core.csproj b/libraries/Bot.Builder.Community.Adapters.Google.Core/Bot.Builder.Community.Adapters.Google.Core.csproj index 43bf3360..6b2ddb56 100644 --- a/libraries/Bot.Builder.Community.Adapters.Google.Core/Bot.Builder.Community.Adapters.Google.Core.csproj +++ b/libraries/Bot.Builder.Community.Adapters.Google.Core/Bot.Builder.Community.Adapters.Google.Core.csproj @@ -7,7 +7,7 @@ - + diff --git a/libraries/Bot.Builder.Community.Adapters.Google.Core/ConversationRequestMapper.cs b/libraries/Bot.Builder.Community.Adapters.Google.Core/ConversationRequestMapper.cs index 9de68e41..5e72f3f4 100644 --- a/libraries/Bot.Builder.Community.Adapters.Google.Core/ConversationRequestMapper.cs +++ b/libraries/Bot.Builder.Community.Adapters.Google.Core/ConversationRequestMapper.cs @@ -160,7 +160,8 @@ public ConversationWebhookResponse ActivityToResponse(Activity activity, Convers } } }; - response.ExpectedInputs.First().InputPrompt.RichInitialPrompt.Suggestions = ConvertSuggestedActionsToSuggestionChips(activity)?.ToArray(); + response.ExpectedInputs.First().InputPrompt.RichInitialPrompt.Suggestions = ConvertIMAndMessageBackSuggestedActionsToSuggestionChips(activity)?.ToArray(); + response.ExpectedInputs.First().InputPrompt.RichInitialPrompt.LinkOutSuggestion = GetLinkOutSuggestionFromActivity(activity); break; } diff --git a/libraries/Bot.Builder.Community.Adapters.Google.Core/DialogFlowRequestMapper.cs b/libraries/Bot.Builder.Community.Adapters.Google.Core/DialogFlowRequestMapper.cs index 44cc6c0f..3c971389 100644 --- a/libraries/Bot.Builder.Community.Adapters.Google.Core/DialogFlowRequestMapper.cs +++ b/libraries/Bot.Builder.Community.Adapters.Google.Core/DialogFlowRequestMapper.cs @@ -125,7 +125,8 @@ public DialogFlowResponse ActivityToResponse(Activity activity, DialogFlowReques response.Payload.Google.RichResponse = new RichResponse() { - Items = responseItems.ToArray() + Items = responseItems.ToArray(), + LinkOutSuggestion = GetLinkOutSuggestionFromActivity(activity) }; // ensure InputHint is set as required for response @@ -144,7 +145,7 @@ public DialogFlowResponse ActivityToResponse(Activity activity, DialogFlowReques case InputHints.ExpectingInput: response.Payload.Google.ExpectUserResponse = true; - var suggestionChips = ConvertSuggestedActionsToSuggestionChips(activity); + var suggestionChips = ConvertIMAndMessageBackSuggestedActionsToSuggestionChips(activity); if (suggestionChips.Any()) { response.Payload.Google.RichResponse.Suggestions = suggestionChips.ToArray(); diff --git a/libraries/Bot.Builder.Community.Adapters.Google.Core/GoogleRequestMapperBase.cs b/libraries/Bot.Builder.Community.Adapters.Google.Core/GoogleRequestMapperBase.cs index 1bceeed0..da4ad9f2 100644 --- a/libraries/Bot.Builder.Community.Adapters.Google.Core/GoogleRequestMapperBase.cs +++ b/libraries/Bot.Builder.Community.Adapters.Google.Core/GoogleRequestMapperBase.cs @@ -202,7 +202,7 @@ public string StripInvocation(string query, string invocationName) return query; } - public static List ConvertSuggestedActionsToSuggestionChips(Activity activity) + public static List ConvertIMAndMessageBackSuggestedActionsToSuggestionChips(Activity activity) { var suggestions = new List(); @@ -210,11 +210,34 @@ public static List ConvertSuggestedActionsToSuggestionChips(Activity { foreach (var suggestion in activity.SuggestedActions.Actions) { - suggestions.Add(new Suggestion { Title = suggestion.Title }); + if (suggestion.Type == ActionTypes.ImBack || suggestion.Type == ActionTypes.MessageBack) + { + suggestions.Add(new Suggestion { Title = suggestion.Title }); + } } } return suggestions; } + + public static LinkOutSuggestion GetLinkOutSuggestionFromActivity(Activity activity) + { + var openUrlSuggestedAction = activity.SuggestedActions?.Actions?.Where(a => a.Type == ActionTypes.OpenUrl).FirstOrDefault(); + + if(openUrlSuggestedAction == null) + { + return null; + } + + return new LinkOutSuggestion() + { + DestinationName = openUrlSuggestedAction.Title, + OpenUrlAction = new OpenUrlAction() + { + Url = openUrlSuggestedAction.Value?.ToString(), + UrlTypeHint = UrlTypeHint.URL_TYPE_HINT_UNSPECIFIED + } + }; + } } } diff --git a/libraries/Bot.Builder.Community.Adapters.Google.Core/Helpers/GoogleCardFactory.cs b/libraries/Bot.Builder.Community.Adapters.Google.Core/Helpers/GoogleCardFactory.cs index 47a3527a..550a6eb6 100644 --- a/libraries/Bot.Builder.Community.Adapters.Google.Core/Helpers/GoogleCardFactory.cs +++ b/libraries/Bot.Builder.Community.Adapters.Google.Core/Helpers/GoogleCardFactory.cs @@ -8,7 +8,7 @@ namespace Bot.Builder.Community.Adapters.Google.Core.Helpers { public static class GoogleCardFactory { - public static BasicCard CreateBasicCard(string title, string subtitle, string formattedText) + public static BasicCard CreateBasicCard(string title, string subtitle, string formattedText, List