Skip to content

DataGrid - AI Assistant: Add processing to regenerate requests#33551

Merged
Alyar666 merged 3 commits into
DevExpress:26_1from
Alyar666:datagrid_ai_assistant_onRegenerate_26_1
May 12, 2026
Merged

DataGrid - AI Assistant: Add processing to regenerate requests#33551
Alyar666 merged 3 commits into
DevExpress:26_1from
Alyar666:datagrid_ai_assistant_onRegenerate_26_1

Conversation

@Alyar666
Copy link
Copy Markdown
Contributor

No description provided.

@Alyar666 Alyar666 self-assigned this May 12, 2026
Copilot AI review requested due to automatic review settings May 12, 2026 09:04
@Alyar666 Alyar666 requested review from a team as code owners May 12, 2026 09:04
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 updates the DataGrid AI Assistant chat flow to support regenerating failed requests, aborting in-flight requests when the chat closes, and clearing the chat history by clearing the underlying message store.

Changes:

  • Add abort handling for AI requests (including a dedicated “request stopped” message) and abort requests when the AI chat popup closes.
  • Implement “regenerate” by re-sending the original prompt for an existing AI message and resetting that message back to the pending state.
  • Add a clear() API to the AI chat wrapper to clear the store and reload the chat datasource; update unit/integration tests accordingly.

Reviewed changes

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

Show a summary per file
File Description
packages/devextreme/js/localization/messages/ar.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/bg.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/ca.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/cs.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/da.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/de.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/el.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/en.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/es.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/fa.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/fi.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/fr.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/hu.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/it.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/ja.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/ko.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/lt.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/lv.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/nb.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/nl.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/pl.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/pt.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/ro.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/ru.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/sl.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/sv.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/tr.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/uk.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/vi.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/zh-tw.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/localization/messages/zh.json Adds dxDataGrid-aiAssistantAbortMessage message key
packages/devextreme/js/__internal/grids/grid_core/ai_chat/utils.ts Removes AI-author check helper and loosens hasCommandErrors input type
packages/devextreme/js/__internal/grids/grid_core/ai_chat/types.ts Adds onClosed callback and changes onRegenerate to pass the AI message being regenerated
packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts Uses shared isAIMessage type guard, calls onClosed on popup hiding, and adds clear() to clear/reload the datasource
packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.test.ts Adds coverage for onClosed and clear(); removes coverage for removed isDisabled() API
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/utils.ts Introduces isAIMessage type guard for distinguishing assistant messages
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/types.ts Adds AIMessage and AIAssistantRequestCallbacks (supports onAbort)
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/ai_assistant_view.ts Wires clear/close/regenerate handlers; consolidates request execution logic
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/ai_assistant_integration_controller.ts Adds onAbort propagation and adjusts completion handling to avoid triggering abort on normal completion
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/ai_assistant_controller.ts Adds processing guard, supports regenerate by resetting message to pending, and fails pending message on abort
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/tests/utils.test.ts Adds unit tests for isAIMessage
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/tests/ai_assistant_view.test.ts Adds tests for clear/close/regenerate behaviors and disabled toggling around requests
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/tests/ai_assistant_view_controller.integration.test.ts Adds integration tests for clear, abort-on-close, and regenerate flows
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/tests/ai_assistant_integration_controller.integration.test.ts Adds integration tests for onAbort callback behavior
packages/devextreme/js/__internal/grids/grid_core/ai_assistant/tests/ai_assistant_controller.test.ts Adds tests for processing guard, abort behavior, and regenerate behavior with AIMessage

@Alyar666 Alyar666 force-pushed the datagrid_ai_assistant_onRegenerate_26_1 branch from 7b42cea to 8308ed7 Compare May 12, 2026 12:35
Comment thread packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts Outdated
Comment thread packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts Outdated
Copilot AI review requested due to automatic review settings May 12, 2026 15:53
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 11 out of 11 changed files in this pull request and generated 2 comments.

@Alyar666 Alyar666 merged commit be18d2c into DevExpress:26_1 May 12, 2026
111 of 112 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants