When lmnr is installed but broken (e.g., on Python 3.13 with certain
package states), importing it raises TypeError instead of ImportError.
Since only ImportError was caught, the TypeError escaped and crashed
the entire application on startup.
Broaden the except clause to catch (ImportError, TypeError) so the
no-op fallback is used in both failure modes.
- Changed the type of the `span_type` parameter in the `observe` and `observe_debug` functions from `str | None` to `Literal['DEFAULT', 'LLM', 'TOOL']` for better type safety and clarity.
- Removed unnecessary conditional checks for `span_type` in the decorator implementations.
- Commented out logging statements in `_is_debug_mode` to reduce verbosity.
- Simplified the usage of `@observe_debug` and `_lmnr_observe` decorators in `BrowserSession` by consolidating arguments into a single `kwargs` dictionary for better readability and maintainability.