- Notifications
You must be signed in to change notification settings - Fork 1.6k
Add support for streaming through entities #5517
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
…pport Merge pull request #1 from kylerohnmsft/main
…this is pretty rough)
Tests are fully passing now. |
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 support for reading livestreaming metadata from the entities field in addition to the existing channelData field support. Microsoft platforms are migrating to use the entities field for streaming information, requiring WebChat to support both locations with entities taking priority.
Key changes:
- Enhanced schema validation to check both
entitiesandchannelDatafor streaming metadata - Added abstraction layer for streaming data schemas to improve maintainability
- Comprehensive test coverage for entities-based streaming scenarios
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
packages/core/src/utils/getActivityLivestreamingMetadata.ts | Core logic updated to parse streaming data from entities field with fallback to channelData |
packages/core/src/utils/getActivityLivestreamingMetadata.spec.ts | Added comprehensive test cases for entities-based streaming scenarios |
docs/LIVESTREAMING.md | Added documentation example showing entities field usage |
CHANGELOG.md | Added changelog entry for the new feature |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| Seems validation is too strict / not right @compulim |

Changelog Entry
entitiesin PR #5517 by @kylerohnnote: actual changes made by kylerohnmsft, but linking personal account to show contribution after internship ends
Description
Microsoft platforms such as the Agents SDKs are now putting streaming information in the
entitiesfield rather than thechannelDatafield. This means that BotFramework-WebChat must be able to handle reading streaming data from either location, prioritizing reading from entities.Design
Nothing fundamental about the code flow was changed. getActivityLivestreamingMetadata() was edited such that entities is checked for streaming data before channelData. If the streaming data is found in entities, it uses that data to encode the livestreaming metadata. Otherwise, it moves on to channelData and the code executes as it did before. Changes were made to abstract some of the Schema structure such that overall code maintenance should be easier moving forward.
Specific Changes
entitiesfield of activity for streaming dataentities-
CHANGELOG.mdReview Checklist
z-index)package.jsonandpackage-lock.jsonreviewed