Skip to content

Merge root message entities in Activity#590

Merged
heyitsaamir merged 3 commits into
mainfrom
fix/httpstream-root-message-merge
Jun 1, 2026
Merged

Merge root message entities in Activity#590
heyitsaamir merged 3 commits into
mainfrom
fix/httpstream-root-message-merge

Conversation

@heyitsaamir

@heyitsaamir heyitsaamir commented May 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Make Activity.addEntity/addEntities merge root schema.org Message entities instead of blindly appending them
  • Keep AI-generated labels and citations on one root message entity
  • Add regression coverage in the Activity tests

Why this matters

  • This shows up when a message is assembled in pieces, like streaming a response or combining multiple helpers that each add root Message metadata
  • Before this change, those pieces could leave you with multiple root Message entities on the same activity, which Teams doesn’t love
  • In practice that means features like AI-generated markers and citations could get split across duplicate root entities

Test plan

  • cd packages/api && npx jest --runInBand src/activities/activity.spec.ts
  • cd packages/apps && npx jest --runInBand src/http/http-stream.spec.ts

Copilot AI review requested due to automatic review settings May 21, 2026 22:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates Activity entity handling so that multiple root schema.org Message entities are merged into a single root message entity, ensuring properties like AI-generated labels (additionalType) and citations are consolidated rather than duplicated across multiple root entities.

Changes:

  • Updated Activity.addEntity() to detect root https://schema.org/Message entities and merge them into the existing root message entity instead of appending.
  • Updated Activity.addEntities() to route through addEntity() so the same merge behavior applies to batch additions.
  • Added a regression test covering merge behavior when adding multiple root message entities alongside other entity types.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
packages/api/src/activities/activity.ts Implements root message entity detection + merge logic, and updates addEntities() to reuse addEntity() semantics.
packages/api/src/activities/activity.spec.ts Adds regression coverage to ensure multiple root message entities are merged into one and retain key properties.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread packages/api/src/activities/activity.ts
@heyitsaamir

Copy link
Copy Markdown
Collaborator Author

@copilot resolve the merge conflicts in this pull request

Copilot AI commented May 31, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Resolved in d96f215 by merging origin/main into this branch and fixing the package-lock.json conflict.

@heyitsaamir
heyitsaamir added this pull request to the merge queue Jun 1, 2026
@heyitsaamir
heyitsaamir removed this pull request from the merge queue due to a manual request Jun 1, 2026
@heyitsaamir
heyitsaamir added this pull request to the merge queue Jun 1, 2026
Merged via the queue into main with commit 7e82ab6 Jun 1, 2026
6 checks passed
@heyitsaamir
heyitsaamir deleted the fix/httpstream-root-message-merge branch June 1, 2026 17:11
corinagum added a commit that referenced this pull request Jun 15, 2026
## Release 2.0.13

Merges main into release for stable publish.

### Notable changes since 2.0.12
- fix(client): use explicit Graph scopes for Teams Desktop NAA
compatibility (#616)
- ci: switch publish pipeline to 1ES Official template for CodeQL/SDL
(#607)
- ci: add weekly SDL pipeline for CodeQL/CredScan compliance (#608)
- Refresh teams.apps README (#604)
- Reject unauthenticated when no credentials (#506)
- fix(api): conditionally set citation encodingFormat based on text
presence (#579)
- Improvements to the Teams MCP server example (#597)
- Bump MSAL Node to v5 (#603)
- Merge root message entities in Activity (#590)
- TeamsSDK: Correct imports and return types in misc. packages (#589)
- Cache federated identity MSAL clients (#613)

### Release steps
1. Merge this PR
2. Trigger the [release
pipeline](https://dev.azure.com/DomoreexpGithub/Github_Pipelines/_build?definitionId=52&_a=summary)
for `release` branch with **Public** publish type
3. Bump version on main to `2.0.14-preview.{height}`
4. Create git tag and GitHub Release page
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants