feat: implement ObjectFinder with ambiguity resolution #319
No reviewers
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: aethyr/Aethyr#319
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/m1-object-finder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements ObjectFinder (#294) that resolves text references to game objects with support for:
:room,:inventory,:equipment,:area,:allComponents
ObjectFinder- Main resolver class with#resolve(text, scope:)and#resolve_disambiguation(prompt, selection)AmbiguityPrompt- Immutable value object for multiple matches, generates "Which X do you mean?" promptsObjectNotFoundError- Immutable value object for failed lookups with scope-aware messagesTest Coverage
Files Changed
lib/aethyr/core/input_handlers/validation/object_finder.rblib/aethyr/core/input_handlers/validation/ambiguity_prompt.rblib/aethyr/core/input_handlers/validation/object_not_found_error.rbtests/unit/object_finder.featuretests/unit/step_definitions/object_finder_steps.rbtests/integration/object_finder_integration.featuretests/integration/step_definitions/object_finder_integration_steps.rbDependencies
This PR depends on the Validation Pipeline (#293) which is on branch
feature/m1-validation-pipeline.Closes #294
bcc7905b01toaa390d2c3eaa390d2c3eto737bbac4b2737bbac4b2to61479a7d10