Skip to content

Commit

Permalink
Release 07/02/2020 (#286)
Browse files Browse the repository at this point in the history
* Master (#269)

* Further Google request validation fix (#256)

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Pretty <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Pretty <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* [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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* Update README.md

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>

* 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

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>

* Remove unnecessary try / catch

* Release/06022020 (#268)

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Pretty <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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

* U…
  • Loading branch information
15 people authored Jul 2, 2020
1 parent b3bd5c9 commit b220530
Show file tree
Hide file tree
Showing 58 changed files with 902 additions and 595 deletions.
801 changes: 403 additions & 398 deletions Bot.Builder.Community.sln

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions CommonTargets/library.shared.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project>

<PropertyGroup>
<Bot_Builder_Version>4.9.2</Bot_Builder_Version>
</PropertyGroup>

</Project>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![Build Status](https://dev.azure.com/BotBuilder-Community/dotnet/_apis/build/status/BotBuilderCommunity.botbuilder-community-dotnet?branchName=master)](https://dev.azure.com/BotBuilder-Community/dotnet/_build/latest?definitionId=1&branchName=master) [![Bot Builder Community NuGet](https://img.shields.io/badge/NuGet-blue.svg)](https://www.nuget.org/profiles/BotBuilderCommunity)

**Latest release: v4.8.6 (15/04/2020) - [Release Notes](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/releases/tag/v4.8.6)**
**Latest release: v4.9 (02/06/2020) - [Release Notes](https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/releases/tag/v4.9)**

# Bot Builder Community - .NET Extensions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,22 +67,24 @@ public Activity RequestToActivity(SkillRequest skillRequest)
return RequestToEventActivity(skillRequest);
}
}

/// <summary>
/// Creates a SkillResponse based on an Activity and original SkillRequest.
/// </summary>
/// <param name="activity">The Activity to use to create the SkillResponse</param>
/// <param name="mergedActivityResult">The Merged Activity Result to use to create the SkillResponse</param>
/// <param name="alexaRequest">Original SkillRequest received from Alexa Skills service. This is used
/// to check if the original request was a SessionEndedRequest which should not return a response.</param>
/// <returns>SkillResponse</returns>
public SkillResponse ActivityToResponse(Activity activity, SkillRequest alexaRequest)
public SkillResponse ActivityToResponse(MergedActivityResult mergedActivityResult, SkillRequest alexaRequest)
{
var response = new SkillResponse()
{
Version = "1.0",
Response = new ResponseBody()
};

var activity = mergedActivityResult?.MergedActivity;

if (activity == null || activity.Type != ActivityTypes.Message || alexaRequest.Request is SessionEndedRequest)
{
response.Response.ShouldEndSession = true;
Expand All @@ -106,18 +108,26 @@ public SkillResponse ActivityToResponse(Activity activity, SkillRequest alexaReq

if (ShouldSetEndSession(response))
{
switch (activity.InputHint)
// If end of conversation was flagged use that, othwerwise look at the InputHint.
if (mergedActivityResult.EndOfConversationFlagged)
{
case InputHints.IgnoringInput:
response.Response.ShouldEndSession = true;
break;
case InputHints.ExpectingInput:
response.Response.ShouldEndSession = false;
response.Response.Reprompt = new Reprompt(activity.Text);
break;
default:
response.Response.ShouldEndSession = _options.ShouldEndSessionByDefault;
break;
response.Response.ShouldEndSession = true;
}
else
{
switch (activity.InputHint)
{
case InputHints.IgnoringInput:
response.Response.ShouldEndSession = true;
break;
case InputHints.ExpectingInput:
response.Response.ShouldEndSession = false;
response.Response.Reprompt = new Reprompt(activity.Text);
break;
default:
response.Response.ShouldEndSession = _options.ShouldEndSessionByDefault;
break;
}
}
}

Expand All @@ -133,36 +143,73 @@ public SkillResponse ActivityToResponse(Activity activity, SkillRequest alexaReq
/// https://developer.amazon.com/en-US/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html#break
/// </summary>
/// <param name="activities">The list of one or more outgoing activities</param>
/// <returns>Activity</returns>
public Activity MergeActivities(IList<Activity> activities)
/// <returns>MergedActivityResult</returns>
public MergedActivityResult MergeActivities(IList<Activity> activities)
{
var messageActivities = activities?.Where(a => a.Type == ActivityTypes.Message).ToList();

if (messageActivities == null || messageActivities.Count == 0)
if (activities == null || activities.Count == 0)
{
return null;
}

var activity = messageActivities.Last();
var mergedActivityResult = new MergedActivityResult();

if (messageActivities.Any(a => !string.IsNullOrEmpty(a.Speak)))
bool hasSpeakField = false;
var speakFields = new List<string>();
var textFields = new List<string>();
var attachments = new List<Attachment>();
foreach (var activity in activities)
{
var speakText = string.Join("<break strength=\"strong\"/>", messageActivities
.Select(a => !string.IsNullOrEmpty(a.Speak) ? StripSpeakTag(a.Speak) : NormalizeActivityText(a.TextFormat, a.Text, forSsml: true))
.Where(s => !string.IsNullOrEmpty(s))
.Select(s => s));
if (activity == null)
{
continue;
}

switch (activity.Type)
{
case ActivityTypes.Message:
mergedActivityResult.MergedActivity = activity;
if (!string.IsNullOrEmpty(activity.Speak))
{
hasSpeakField = true;
speakFields.Add(StripSpeakTag(activity.Speak));
}
else if (!string.IsNullOrEmpty(activity.Text))
{
speakFields.Add(NormalizeActivityText(activity.TextFormat, activity.Text, forSsml: true));
}

if (!string.IsNullOrEmpty(activity.Text))
{
var text = NormalizeActivityText(activity.TextFormat, activity.Text, forSsml: false);
if (!string.IsNullOrEmpty(text))
{
textFields.Add(text.Trim(new char[] { ' ', '.' }));
}
}

activity.Speak = $"<speak>{speakText}</speak>";
if (activity.Attachments != null && activity.Attachments.Count > 0)
{
attachments.AddRange(activity.Attachments);
}
break;
case ActivityTypes.EndOfConversation:
mergedActivityResult.EndOfConversationFlagged = true;
break;
}
}

activity.Text = string.Join(". ", messageActivities
.Select(a => NormalizeActivityText(a.TextFormat, a.Text, forSsml: false))
.Where(s => !string.IsNullOrEmpty(s))
.Select(s => s.Trim(new char[] { ' ', '.' })));
if (mergedActivityResult.MergedActivity != null)
{
if (hasSpeakField)
{
mergedActivityResult.MergedActivity.Speak = $"<speak>{string.Join("<break strength=\"strong\"/>", speakFields)}</speak>";
}

activity.Attachments = messageActivities.Where(x => x.Attachments != null).SelectMany(x => x.Attachments).ToList();
mergedActivityResult.MergedActivity.Text = string.Join(". ", textFields);
mergedActivityResult.MergedActivity.Attachments = attachments;
}

return activity;
return mergedActivityResult;
}

private Activity RequestToEndOfConversationActivity(SkillRequest skillRequest)
Expand All @@ -185,7 +232,6 @@ private Activity RequestToMessageActivity(SkillRequest skillRequest, IntentReque
var activity = Activity.CreateMessageActivity() as Activity;
activity = SetGeneralActivityProperties(activity, skillRequest);
activity.Text = intentRequest.Intent.Slots[_options.DefaultIntentSlotName].Value;
activity.Locale = intentRequest.Locale;
return activity;
}

Expand Down Expand Up @@ -249,6 +295,7 @@ private Activity SetGeneralActivityProperties(Activity activity, SkillRequest sk
activity.Conversation = new ConversationAccount(isGroup: false, id: skillRequest.Session?.SessionId ?? skillRequest.Request.RequestId);
activity.Timestamp = skillRequest.Request.Timestamp.ToUniversalTime();
activity.ChannelData = skillRequest;
activity.Locale = skillRequest.Request.Locale;

return activity;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Bot.Builder.Community.sln'))\CommonTargets\library.shared.targets" />

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
Expand All @@ -22,8 +23,7 @@
<PackageReference Include="Alexa.NET" Version="1.13.3" />
<PackageReference Include="Alexa.NET.CustomerProfile" Version="2.1.1" />
<PackageReference Include="Microsoft.MarkedNet" Version="1.0.13" />
<PackageReference Include="Microsoft.Bot.Builder" Version="4.9.2" />
<PackageReference Include="Microsoft.Bot.Schema" Version="4.9.2" />
<PackageReference Include="Microsoft.Bot.Builder" Version="$(Bot_Builder_Version)" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using Microsoft.Bot.Schema;

namespace Bot.Builder.Community.Adapters.Alexa.Core
{
/// <summary>
/// The result of merging a collection of Activities.
/// </summary>
public class MergedActivityResult
{
/// <summary>
/// The merged activity
/// </summary>
public Activity MergedActivity;

/// <summary>
/// Is end of conversation flagged (outside of the properties in the merged activity itself)
/// </summary>
public bool EndOfConversationFlagged;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ private async Task<SkillResponse> ProcessAlexaRequestAsync(SkillRequest alexaReq
return response;
}

public virtual Activity ProcessOutgoingActivities(List<Activity> activities)
public virtual MergedActivityResult ProcessOutgoingActivities(List<Activity> activities)
{
return _requestMapper.MergeActivities(activities);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Bot.Builder.Community.sln'))\CommonTargets\library.shared.targets" />

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
Expand All @@ -20,7 +21,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.Core" Version="4.9.2" />
<PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.Core" Version="$(Bot_Builder_Version)" />
<PackageReference Include="Microsoft.Net.Http.Headers" Version="2.1.1" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ public static void ConvertAttachmentContent(this Activity activity)
case GoogleAttachmentContentTypes.TableCard:
Convert<TableCard>(attachment);
break;
case GoogleAttachmentContentTypes.BrowsingCarousel:
Convert<BrowsingCarousel>(attachment);
break;
case GoogleAttachmentContentTypes.CarouselIntent:
Convert<CarouselIntent>(attachment);
break;
Expand All @@ -59,6 +62,12 @@ public static void ConvertAttachmentContent(this Activity activity)
case GoogleAttachmentContentTypes.ConfirmationIntent:
Convert<ConfirmationIntent>(attachment);
break;
case GoogleAttachmentContentTypes.NewSurfaceIntent:
Convert<NewSurfaceIntent>(attachment);
break;
case GoogleAttachmentContentTypes.SigninIntent:
Convert<SigninIntent>(attachment);
break;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public static Attachment ToAttachment(this ResponseItem responseItem)
return CreateAttachment(mediaResponse, GoogleAttachmentContentTypes.MediaResponse);
case BasicCard basicCard:
return CreateAttachment(basicCard, GoogleAttachmentContentTypes.BasicCard);
case BrowsingCarousel browsingCarousel:
return CreateAttachment(browsingCarousel, GoogleAttachmentContentTypes.BrowsingCarousel);
default:
return null;
}
Expand All @@ -43,6 +45,8 @@ public static Attachment ToAttachment(this SystemIntent intent)
return CreateAttachment(permissionsIntent, GoogleAttachmentContentTypes.PermissionsIntent);
case PlaceLocationIntent placeLocationIntent:
return CreateAttachment(placeLocationIntent, GoogleAttachmentContentTypes.PlaceLocationIntent);
case NewSurfaceIntent newSurfaceIntent:
return CreateAttachment(newSurfaceIntent, GoogleAttachmentContentTypes.NewSurfaceIntent);
default:
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ public static class GoogleAttachmentContentTypes
public const string CarouselIntent = "application/vhd.bfgoogle.carousel";
public const string DateTimeIntent = "application/vhd.bfgoogle.datetime";
public const string ConfirmationIntent = "application/vhd.bfgoogle.confirm";
public const string NewSurfaceIntent = "application/vhd.bfgoogle.newsurface";
public const string BrowsingCarousel = "application/vhd.bfgoogle.browsingcarousel";
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Bot.Builder.Community.sln'))\CommonTargets\library.shared.targets" />

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
Expand All @@ -7,7 +8,7 @@
<ItemGroup>
<PackageReference Include="JWT" Version="5.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.1.1" />
<PackageReference Include="Microsoft.Bot.Schema" Version="4.9.2" />
<PackageReference Include="Microsoft.Bot.Schema" Version="$(Bot_Builder_Version)" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.0" />
<PackageReference Include="Microsoft.MarkedNet" Version="1.0.13" />
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="2.3.21" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,18 @@ public ProcessHelperIntentAttachmentsResult ProcessHelperIntentAttachments(Activ
};
}

if (activity?.Attachments?.FirstOrDefault(a =>
a.ContentType == GoogleAttachmentContentTypes.NewSurfaceIntent) != null)
{
return new ProcessHelperIntentAttachmentsResult()
{
Intent = ProcessSystemIntentAttachment<NewSurfaceIntent>(
GoogleAttachmentContentTypes.NewSurfaceIntent,
activity),
AllowAdditionalInputPrompt = true
};
}

return new ProcessHelperIntentAttachmentsResult()
{
Intent = null
Expand Down Expand Up @@ -182,6 +194,10 @@ public List<ResponseItem> GetResponseItemsFromActivityAttachments(Activity activ
if (mediaItem != null)
responseItems.Add(mediaItem);

var browsingCarousel = ProcessResponseItemAttachment<BrowsingCarousel>(GoogleAttachmentContentTypes.BrowsingCarousel, activity);
if (browsingCarousel != null)
responseItems.Add(browsingCarousel);

return responseItems;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static BasicCard CreateBasicCard(string title, string subtitle, string fo
Title = title,
Subtitle = subtitle,
FormattedText = formattedText,
Buttons = buttons.ToArray(),
Buttons = buttons?.ToArray(),
Image = image,
Display = displayOptions
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,16 @@ public class ConversationRequest
public Surface Surface { get; set; }
public Input[] Inputs { get; set; }
public User User { get; set; }
public Device Device { get; set; }
public Conversation Conversation { get; set; }
public AvailableSurface[] AvailableSurfaces { get; set; }
}

public class Device
{
public Location Location { get; set; }
}

public class Surface
{
public Capability[] Capabilities { get; set; }
Expand Down
Loading

0 comments on commit b220530

Please sign in to comment.