Official sandbox#28
Conversation
…ng set correctly, which is causing the plugin to not function as expected. I will need to investigate further to determine the root cause of the issue and implement a fix. btw the bot wasn't even telling me that the variable wasn't working, which is why there was a debugger made.,
* Also adding some basic functionality for movement patrols, and a few other minor improvements. See individual commit messages for details.
* Add CardinalMovementService for handling player movement commands. * Refactor CommandExecutor to utilize CommandIntentNormalizer for better command parsing. * Update PromptBuilder to include new movement command templates. * Add unit tests for CardinalMovementService and CommandIntentNormalizer. * Fix issues in CommandAllowlistTest and CommandExecutorTest to reflect changes in command handling. * Update config.json with new settings for movement command handling.
----- EXPERIMENTAL ----- * Add support for command intent normalization, allowing the plugin to better understand and respond to user commands. * Implement a new CommandIntentNormalizer class to process and normalize user input for improved command handling. * Update OpenCraftCommand to utilize the CommandIntentNormalizer for enhanced command execution. * Modify OpenCraftConfig to include new settings related to command intent normalization. * Update README.md to reflect the new features and provide instructions for using command intent normalization. ------ AGENT SUPPORT ----- * Add initial support for agent-based interactions, allowing the plugin to interact with external agents for enhanced functionality. * Create a new agent package with basic structures for agent interactions. * Update OpenCraftPlugin to include hooks for agent interactions, enabling future expansion of agent-based features. * Add documentation for agent support in the README.md, outlining potential use cases and future plans for agent integration. ----- BUG FIXES ----- * Fix an issue where certain commands were not being recognized correctly due to input formatting inconsistencies. * Resolve a bug in the command execution flow that caused unexpected behavior when processing certain user inputs. * Update .gitignore to exclude log files and configuration files that should not be committed to the repository, ensuring a cleaner commit history and preventing sensitive information from being exposed.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cbc938e3b3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| public Optional<FleetRunSnapshot> getRun(final String runId) { | ||
| final MutableRun run = runs.get(runId); | ||
| return run == null ? Optional.empty() : Optional.of(run.snapshot()); |
There was a problem hiding this comment.
Synchronize snapshots before reading mutable runs
When /llm agent run show or the recent-run rendering races with another management command updating the same run, this calls run.snapshot() without taking the per-run lock used by mutateRun. snapshot() iterates the mutable LinkedHashMap/ArrayList fields while writers append steps/events under synchronized (run), so concurrent Discord/terminal commands can throw ConcurrentModificationException or return a partially updated snapshot; take the same lock around snapshot creation in read paths.
Useful? React with 👍 / 👎.
No description provided.