**browsergym-core**
- New features
- `report_infeasible(reason)` action
Adds a message `{"role": "infeasible", "message": reason}` in the chat, and terminates the episode. Validations functions which expect the agent to report a task as infeasible can look for a message with the "infeasible" role, and check for its content if a specific reason is required.
- new high-level action `report_infeasible(reason)` and action set "infeas"
- new python primitive `report_infeasible_instructions(reason)`
- new message role "infeasible" in the chat
- new BrowserEnv argument `terminate_on_infeasible: boolean = True`
- Breaking changes
- methods `flatten_axtree_to_str()` and `flatten_dom_to_str()` return more compact representations
- properties `som, clickable, visible` instead of `som="1", clickable="1", visible="1"`
- `visible="0"` is no more printed
- Bugfixes
- minor fixes in `browsergym.experiment.loop`