Skip to content

feat: preserve conversation content-part metadata#1813

Merged
radu-mocanu merged 1 commit into
mainfrom
feat/conversation-content-part-metadata
Jul 15, 2026
Merged

feat: preserve conversation content-part metadata#1813
radu-mocanu merged 1 commit into
mainfrom
feat/conversation-content-part-metadata

Conversation

@radu-mocanu

@radu-mocanu radu-mocanu commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • preserve content-part metadata when conversation history is deserialized
  • keep the wire alias compatible with the existing conversation contract
  • cover serialization and deserialization round trips

Validation

  • full uipath-core test suite passes
  • ruff and focused mypy pass
  • lockfile is current

Copilot AI review requested due to automatic review settings July 14, 2026 12:43
@github-actions github-actions Bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-runtime test:uipath-integrations labels Jul 14, 2026

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 the uipath-core chat conversation models to preserve content-part metaData through Pydantic deserialization/serialization, keeping the wire alias (metaData) compatible with the existing conversation contract and adding a round-trip regression test.

Changes:

  • Added metadata (alias="metaData") to UiPathConversationContentPartData so content-part metadata survives deserialization.
  • Added a unit test covering deserialize → model access → serialize (by_alias=True) round-trip for content-part metadata.
  • Bumped uipath-core version to 0.5.31 (and updated lockfile accordingly).

Reviewed changes

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

File Description
packages/uipath-core/src/uipath/core/chat/content.py Adds metadata field (wire alias metaData) to content-part data model to preserve metadata on round trips.
packages/uipath-core/tests/chat/test_message.py Adds test asserting metaData is preserved on parse and emitted on dump with aliases.
packages/uipath-core/pyproject.toml Version bump to 0.5.31.
packages/uipath-core/uv.lock Lockfile updated for the version bump.

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

@radu-mocanu
radu-mocanu force-pushed the feat/conversation-content-part-metadata branch from a6eeaac to 67c5055 Compare July 14, 2026 12:47
@radu-mocanu
radu-mocanu force-pushed the feat/conversation-content-part-metadata branch from 67c5055 to 71e7b98 Compare July 15, 2026 06:50
@radu-mocanu
radu-mocanu enabled auto-merge (squash) July 15, 2026 06:51
@sonarqubecloud

Copy link
Copy Markdown

@radu-mocanu
radu-mocanu merged commit c5924ec into main Jul 15, 2026
132 checks passed
@radu-mocanu
radu-mocanu deleted the feat/conversation-content-part-metadata branch July 15, 2026 06:55
@github-actions

Copy link
Copy Markdown

🚨 Heads up: uipath-langchain cross-tests are FAILING 🚨

Your changes may break the uipath-langchain-python integration.

⚠️ These checks are NOT enforced by branch protection rules. Please review the failures before merging.

🔍 Inspect the failed run →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:uipath-integrations test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants