code: def clean_www_assets():
      get_console().print("[info]Cleaning www assets[/]")
      WWW_ASSET_HASH_FILE.unlink(missing_ok=True)
      shutil.rmtree(WWW_NODE_MODULES_DIR, ignore_errors=True)
      shutil.rmtree(WWW_STATIC_DIST_DIR, ignore_errors=True)
      get_console().print("[success]Cleaned www assets[/]")
  
imports: from __future__ import annotations
  import atexit
  import contextlib
  import os
  import re
  import shlex
  import shutil
  import signal
  import stat
  import subprocess
  import sys
  from functools import lru_cache
  from pathlib import Path
  from typing import Mapping, Union
  from rich.markup import escape
  from airflow_breeze.utils.ci_group import ci_group
  from airflow_breeze.utils.console import Output, get_console
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT, WWW_ASSET_COMPILE_LOCK, WWW_ASSET_HASH_FILE, WWW_ASSET_OUT_DEV_MODE_FILE, WWW_ASSET_OUT_FILE, WWW_NODE_MODULES_DIR, WWW_STATIC_DIST_DIR
  from airflow_breeze.utils.shared_options import get_dry_run, get_verbose
label_desc: Use image node_id 16 for calling a global function with example usage: clean_www_assets() without return types