helpers/log.py.dox.md
log.py helper module.log.py because this directory is intentionally flat.log.py owns the runtime implementation.log.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.LogItem (no explicit base class)
update(self, type: Type | None=..., heading: str | None=..., content: str | None=..., kvps: dict | None=..., update_progress: ProgressUpdate | None=..., **kwargs)stream(self, heading: str | None=..., content: str | None=..., **kwargs)output(self)LogOutput (no explicit base class)Log (no explicit base class)
log(self, type: Type, heading: str | None=..., content: str | None=..., kvps: dict | None=..., update_progress: ProgressUpdate | None=..., id: Optional[str]=..., **kwargs) -> LogItemset_progress(self, progress: str, no: int=..., active: bool=...)set_initial_progress(self)output(self, start=..., end=...)reset(self)_lazy_mark_dirty_all(reason: str | None=...) -> None_lazy_mark_dirty_for_context(context_id: str, reason: str | None=...) -> None_truncate_heading(text: str | None) -> str_truncate_progress(text: str | None) -> str_truncate_key(text: str) -> str_truncate_value(val: T) -> T_truncate_content(text: str | None, type: Type) -> str_MARK_DIRTY_ALL, _MARK_DIRTY_FOR_CONTEXT, T, HEADING_MAX_LEN, CONTENT_MAX_LEN, RESPONSE_CONTENT_MAX_LEN, KEY_MAX_LEN, VALUE_MAX_LEN, PROGRESS_MAX_LEN.collections, copy, dataclasses, helpers.secrets, helpers.strings, json, threading, time, typing, uuid.TypeVar, dataclass, _MARK_DIRTY_ALL, _MARK_DIRTY_FOR_CONTEXT, truncate_text_by_ratio, cast, threading.RLock, self.set_initial_progress, self._update_item, self._notify_state_monitor, _lazy_mark_dirty_all, _lazy_mark_dirty_for_context, self._mask_recursive, _truncate_progress, self.set_progress, LogOutput, _truncate_value, json.dumps, time.time, self.log._update_item.kvps mapping, preventing streamed reasoning and other live fields from bypassing payload limits.tests/test_browser_agent_regressions.pytests/test_chat_compaction.pytests/test_error_retry_plugin.pytests/test_fasta2a_client.pytests/test_file_tree_visualize.pytests/test_history_compression_wait.pytests/test_http_auth_csrf.pytests/test_mcp_handler_multimodal.pyNo child DOX files.