Skip to content

refactor(models): Refine MessageAgentThought SQLAlchemy typing#27749

Merged
asukaminato0721 merged 10 commits intomainfrom
feat/add-type-annotations-to-message-agent-thought-model
Jan 10, 2026
Merged

refactor(models): Refine MessageAgentThought SQLAlchemy typing#27749
asukaminato0721 merged 10 commits intomainfrom
feat/add-type-annotations-to-message-agent-thought-model

Conversation

@laipz8200
Copy link
Member

Summary

Screenshots

Before After
n/a n/a

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Nov 3, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @laipz8200, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the type safety and clarity of the MessageAgentThought SQLAlchemy model. By introducing explicit Mapped[...] annotations for various column types and standardizing pricing fields to use Decimal, the changes improve code maintainability, facilitate better static analysis, and ensure more reliable data handling within the application's core models.

Highlights

  • SQLAlchemy Typing Refinement: Explicit Mapped[...] annotations have been added to various text, numeric, and temporal columns within the MessageAgentThought model to align with SQLAlchemy 2.0 typing best practices.
  • Pricing Field Consistency: Pricing-related fields (message_unit_price, message_price_unit, answer_unit_price, answer_price_unit, total_price) now explicitly use Decimal typing, ensuring consistent static analysis for message cost calculations.
  • Issue Resolution: This pull request addresses and fixes issue [Chore/Refactor] Tighten MessageAgentThought type annotations #27748, improving the robustness and type safety of the MessageAgentThought model.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refines the SQLAlchemy typing for the MessageAgentThought model, aligning it with modern SQLAlchemy 2.0 practices. The changes correctly add Mapped annotations and use Decimal for pricing fields, which improves type safety and consistency for static analysis. I have one suggestion to further improve type safety for the created_by_role field by using the CreatorUserRole enum.

@laipz8200 laipz8200 changed the title Refine MessageAgentThought SQLAlchemy typing refactor: Refine MessageAgentThought SQLAlchemy typing Nov 3, 2025
@laipz8200 laipz8200 changed the title refactor: Refine MessageAgentThought SQLAlchemy typing refactor(models): Refine MessageAgentThought SQLAlchemy typing Nov 3, 2025
@laipz8200 laipz8200 force-pushed the feat/add-type-annotations-to-message-agent-thought-model branch from 96d1680 to 2061c81 Compare November 3, 2025 04:54
@laipz8200 laipz8200 force-pushed the feat/add-type-annotations-to-message-agent-thought-model branch from 583860f to 72eae50 Compare November 4, 2025 19:50
@laipz8200 laipz8200 force-pushed the feat/add-type-annotations-to-message-agent-thought-model branch from 72eae50 to 85e6117 Compare November 12, 2025 07:17
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Nov 12, 2025
@laipz8200 laipz8200 force-pushed the feat/add-type-annotations-to-message-agent-thought-model branch 3 times, most recently from 45f9730 to 63cb837 Compare November 12, 2025 15:34
@laipz8200 laipz8200 force-pushed the feat/add-type-annotations-to-message-agent-thought-model branch from 63cb837 to bb857df Compare November 12, 2025 15:48
@laipz8200 laipz8200 modified the milestone: 1.10.1 Nov 18, 2025
crazywoola
crazywoola previously approved these changes Nov 27, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Nov 27, 2025
@crazywoola crazywoola self-requested a review November 27, 2025 02:46
@crazywoola crazywoola removed the lgtm This PR has been approved by a maintainer label Nov 27, 2025
@laipz8200 laipz8200 marked this pull request as draft January 4, 2026 14:20
@laipz8200 laipz8200 marked this pull request as ready for review January 4, 2026 15:10
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 10, 2026
@asukaminato0721 asukaminato0721 merged commit 1e10bf5 into main Jan 10, 2026
15 checks passed
@asukaminato0721 asukaminato0721 deleted the feat/add-type-annotations-to-message-agent-thought-model branch January 10, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chore/Refactor] Tighten MessageAgentThought type annotations

3 participants

Comments