-
Notifications
You must be signed in to change notification settings - Fork 6
[feat] Add BotBuilder Plugin package, sample and tests #190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new microsoft-teams-botbuilder package to enable backward compatibility with legacy Microsoft Bot Framework bots. The integration allows existing bots built with the BotBuilder SDK to work within the new Microsoft Teams AI Library architecture.
Key Changes
- Introduces the
microsoft-teams-botbuilderpackage with a plugin that bridges BotBuilder SDK and the Teams Apps framework - Adds a test application demonstrating BotBuilder integration with the new framework
- Refactors the HTTP plugin to expose response handling methods for plugin extensibility
Reviewed Changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Adds dependency lock entries for the new botbuilder package, test application, and required Bot Framework SDK dependencies (botbuilder-core, botbuilder-integration-aiohttp, etc.) |
packages/botbuilder/pyproject.toml |
Defines the new microsoft-teams-botbuilder package with dependencies on Bot Framework SDK and Teams packages |
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py |
Implements the BotBuilderPlugin that integrates Bot Framework adapters and handlers with the Teams Apps framework |
packages/botbuilder/src/microsoft/teams/botbuilder/__init__.py |
Exports the BotBuilderPlugin and BotBuilderPluginOptions for public API |
packages/botbuilder/tests/test_botbuilder_plugin.py |
Provides comprehensive test coverage for the BotBuilderPlugin functionality |
tests/botbuilder/src/main.py |
Example test application demonstrating BotBuilder and Teams framework integration |
tests/botbuilder/pyproject.toml |
Configuration for the botbuilder test application |
packages/apps/src/microsoft/teams/apps/http_plugin.py |
Refactors response handling into a protected method for extensibility |
pyrightconfig.json |
Adds the new botbuilder package to type checking configuration |
pyproject.toml |
Registers the new package in the workspace |
README.md |
Documents the new package and applies minor formatting fixes |
e362c45 to
9625f5b
Compare
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
35a0587 to
4c4594a
Compare
heyitsaamir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good. Sample could use work! TY!
packages/botbuilder/src/microsoft/teams/botbuilder/botbuilder_plugin.py
Outdated
Show resolved
Hide resolved
a5a316c to
3037dd2
Compare
heyitsaamir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Asking for a comment, and I still don't fully understand the app_id thing. Why do we need it?
BotBuilderPlugin(overrides http plugin'son_activity_request)HttpPluginto easily extend to botbuilder without code duplicationHttpPluginOptionsto be able to extend easily