Support sub channel identification from Activities - #150
Merged
Rodrigo Brandão (rodrigobr-msft) merged 28 commits intoOct 14, 2025
Conversation
…into users/robrandao/sub-channels
Rodrigo Brandão (rodrigobr-msft)
marked this pull request as ready for review
October 8, 2025 22:47
Rodrigo Brandão (rodrigobr-msft)
requested review from
Chris Mullins (cleemullins) and
tracyboehrer (tracyboehrer)
October 8, 2025 22:51
Chris Mullins (cleemullins)
requested changes
Oct 9, 2025
Rodrigo Brandão (rodrigobr-msft)
marked this pull request as draft
October 10, 2025 17:33
Chris Mullins (cleemullins)
self-requested a review
October 13, 2025 17:12
Chris Mullins (cleemullins)
previously requested changes
Oct 13, 2025
Rodrigo Brandão (rodrigobr-msft)
requested a review
from Axel Suárez (axelsrz)
October 13, 2025 18:22
Rodrigo Brandão (rodrigobr-msft)
marked this pull request as ready for review
October 13, 2025 18:22
…into users/robrandao/sub-channels
…rosoft/Agents-for-python into users/robrandao/sub-channels
Rodrigo Brandão (rodrigobr-msft)
requested a review
from Chris Mullins (cleemullins)
October 13, 2025 20:23
Rodrigo Brandão (rodrigobr-msft)
dismissed
Chris Mullins (cleemullins)’s stale review
October 14, 2025 17:47
old review
Rodrigo Brandão (rodrigobr-msft)
enabled auto-merge (squash)
October 14, 2025 17:47
Rodrigo Brandão (rodrigobr-msft)
requested a review
from Axel Suárez (axelsrz)
October 14, 2025 17:47
Axel Suárez (axelsrz)
approved these changes
Oct 14, 2025
Rodrigo Brandão (rodrigobr-msft)
deleted the
users/robrandao/sub-channels
branch
October 14, 2025 18:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new
ChannelIdmodel to better represent channel identifiers (including sub-channels), improves type safety, and ensures consistency between thechannel_idand relatedproductInfoentities. It also introduces a formal enumeration for entity types and adds a dedicatedProductInfoentity. These changes enhance the clarity, maintainability, and correctness of the activity modeling code.Channel ID and Product Info Enhancements:
ChannelIdmodel inchannel_id.pyto represent channel identifiers with optional sub-channels, including custom parsing, serialization, and equality logic.ActivityandConversationReferencemodels to use the newChannelIdtype instead of a plain string, including migration logic and backward compatibility handling. [1] [2] [3] [4] [5]Activityto synchronize thechannel_id.sub_channelwith theProductInfoentity'sid, ensuring data consistency during validation and serialization. [1] [2]Entity Type Improvements:
EntityTypesenumeration usingstrenumfor well-known entity types, and refactored code to use this enum for clarity and maintainability. [1] [2] [3] [4] [5]Product Info Entity:
ProductInfoentity class to model product information within activities, and registered it in the public API. [1] [2] [3] [4] [5]Dependency Update:
strenumas a dependency to support the newEntityTypesenumeration.Public API Updates:
__init__.pyfiles to export the newChannelId,EntityTypes, andProductInfoclasses, making them available for external use. [1] [2] [3] [4] [5] [6]