Merged
Conversation
Co-authored-by: Sarmisuper <stharm20@student.aau.dk>
- Inform narrator about Examiner's verdict in Do/Say actions - Inform narrator about Navigator's graph update summary in Do/Say actions
Co-authored-by: Sarmisuper <stharm20@student.aau.dk>
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces significant enhancements to the ChatRPG application by adding game-over state handling, narrative graph progression via a new ReActNavigatorAgent, and improved user interaction through refined prompt processing. Key changes include:
- Adding a GameOver property and corresponding migration updates.
- Implementing the ReActNavigatorAgent to update the narrative graph based on user inputs and adherence verdicts.
- Refining user prompt handling with asynchronous processing and enhanced UI logic.
Reviewed Changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ChatRPG/Services/SystemPromptType.cs | Added GameOver enum value |
| ChatRPG/Services/ReActScribeAgent.cs | Augmented document processing with a last page notice |
| ChatRPG/Services/ReActNavigatorAgent.cs | Introduced a new agent to manage narrative graph updates |
| ChatRPG/Services/ReActExaminerAgent.cs | Removed redundant tool parameters |
| ChatRPG/Services/ReActArchivistAgent.cs | Updated message storage to include a game end message |
| ChatRPG/Services/GameInputHandler.cs | Enhanced prompt handling with GameOver checks and graph updates |
| ChatRPG/Pages/CampaignPage.razor(.cs) | Adjusted campaign initialization and UI disable states |
| ChatRPG/Data/Models/NarrativeGraph.cs | Added GetEndNode method for narrative graph processing |
| ChatRPG/Data/Models/Campaign.cs | Added GameOver property |
| ChatRPG/Data/Migrations/* | Database schema updates to support GameOver |
| ChatRPG/API/Tools/UpdateGraphTool.cs | Updated tool to include adherence verdict in condition checks |
Files not reviewed (1)
- ChatRPG/appsettings.json: Language not supported
Sarmisuper
approved these changes
Apr 22, 2025
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 several new features and enhancements to the
ChatRPGapplication, focusing on improving game logic, handling game-over states, and enhancing campaign interactions. Key changes include adding aGameOverproperty to campaigns, integrating a newReActNavigatorAgentfor graph updates, and refining user prompt handling to incorporate adherence verdicts and graph summaries.Game State Management:
GameOverproperty to theCampaignmodel and database schema, allowing campaigns to track whether the game has ended. (ChatRPG/Data/Models/Campaign.cs- [1]ChatRPG/Data/Migrations/20250422082802_AddGameOverToCampaign.cs- [2]ChatRPG/Data/Migrations/ApplicationDbContextModelSnapshot.cs- [3]GameOverstate. (ChatRPG/Pages/CampaignPage.razor- ChatRPG/Pages/CampaignPage.razorL107-R115)Graph Update Enhancements:
ReActNavigatorAgentto review and update the narrative graph based on user input and adherence verdicts. (ChatRPG/Program.cs- [1]ChatRPG/Services/GameInputHandler.cs- [2] [3]Endnode of a narrative graph and check if the game has reached its conclusion. (ChatRPG/Data/Models/NarrativeGraph.cs- ChatRPG/Data/Models/NarrativeGraph.csR34-R38)User Interaction Improvements:
ChatRPG/API/Tools/UpdateGraphTool.cs- [1] [2]ChatRPG/Services/GameInputHandler.cs- [3] [4]ChatRPG/Pages/CampaignPage.razor.cs- [1] [2]Backend Adjustments:
ReActArchivistAgentto store game-over messages in the campaign's message history. (ChatRPG/Services/ReActArchivistAgent.cs- [1] [2]ReActExaminerAgentby removing unused parameters in tool creation methods. (ChatRPG/Services/ReActExaminerAgent.cs- [1] [2]These changes collectively enhance the game's narrative flow, improve the handling of edge cases, and introduce a more robust mechanism for managing game-over states.