helpers/ws_manager.py.dox.md
ws_manager.py helper module.ws_manager.py because this directory is intentionally flat.ws_manager.py owns the runtime implementation.ws_manager.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.WsResult (no explicit base class)
ok(cls, data: dict[str, Any] | None=..., correlation_id: str | None=..., duration_ms: float | None=...) -> 'WsResult'error(cls, code: str, message: str, details: Any | None=..., correlation_id: str | None=..., duration_ms: float | None=...) -> 'WsResult'as_result(self, handler_id: str, fallback_correlation_id: str | None, duration_ms: float | None=...) -> dict[str, Any]BufferedEvent (no explicit base class)ConnectionInfo (no explicit base class)_HandlerExecution (no explicit base class)WsManager (no explicit base class)
register_diagnostic_watcher(self, namespace: str, sid: str) -> boolunregister_diagnostic_watcher(self, namespace: str, sid: str) -> Noneregister_handlers(self, handlers_by_namespace: dict[str, Iterable[WsHandler]]) -> Noneiter_namespaces(self) -> list[str]async process_client_event(self, namespace: str, event_type: str, data: dict[str, Any], sid: str, handlers: list[WsHandler]) -> dict[str, Any]async handle_connect(self, namespace: str, sid: str, user_id: str | None=...) -> Noneasync handle_disconnect(self, namespace: str, sid: str) -> Noneasync route_event(self, namespace: str, event_type: str, data: dict[str, Any], sid: str, ack: Optional[Callable[[Any], None]]=..., include_handlers: Set[str] | None=..., exclude_handlers: Set[str] | None=..., allow_exclude: bool=..., handler_id: str | None=...) -> dict[str, Any]validate_event_type(event_type: str) -> str: Validate an event name: must be lowercase_snake_case and not reserved.async send_data(event_type: str, data: dict[str, Any], endpoint_name: str=..., connection_id: str | None=...) -> None: Convenience wrapper around :pymeth:WsManager.send_data._utcnow() -> datetimeset_shared_ws_manager(manager: 'WsManager') -> Noneget_shared_ws_manager() -> 'WsManager'_EVENT_NAME_PATTERN, _RESERVED_EVENT_NAMES, BUFFER_MAX_SIZE, BUFFER_TTL, DIAGNOSTIC_EVENT, LIFECYCLE_CONNECT_EVENT, LIFECYCLE_DISCONNECT_EVENT, STATE_PUSH_EVENT, SERVER_RESTART_EVENT, ERR_NO_HANDLERS, ERR_HANDLER_ERROR, ERR_INVALID_FILTER, ERR_INVALID_EVENT, ERR_CONNECTION_NOT_FOUND, ERR_TIMEOUT.__future__, asyncio, collections, dataclasses, datetime, helpers, helpers.defer, helpers.print_style, helpers.ws, os, re, socketio, threading, time, typing, uuid.re.compile, timedelta, get_shared_ws_manager, datetime.now, field, cls, TypeError, _EVENT_NAME_PATTERN.fullmatch, ValueError, manager.send_data, RuntimeError, defaultdict, runtime.is_development, ws_debug, self._ensure_dispatcher_loop, dispatcher_loop.is_closed, asyncio.run_coroutine_threadsafe, _utcnow.isoformat.replace, self._copy_diagnostic_watchers, self._lifecycle_tasks.add.tests/test_browser_agent_regressions.pytests/test_host_browser_connector.pytests/test_state_sync_handler.pytests/test_state_sync_welcome_screen.pytests/test_tool_action_contracts.pytests/test_ws_handlers.pytests/test_ws_manager.pyNo child DOX files.