code: def get_available_packages(
      include_non_provider_doc_packages: bool = False,
      include_all_providers: bool = False,
      include_suspended: bool = False,
      include_removed: bool = False,
      include_not_ready: bool = False,
      include_regular: bool = True,
  ) -> list[str]:
      """
      Return provider ids for all packages that are available currently (not suspended).
  
      :rtype: object
      :param include_suspended: whether the suspended packages should be included
      :param include_removed: whether the removed packages should be included
      :param include_not_ready: whether the not-ready packages should be included
      :param include_regular: whether the regular packages should be included
      :param include_non_provider_doc_packages: whether the non-provider doc packages should be included
             (packages like apache-airflow, helm-chart, docker-stack)
      :param include_all_providers: whether "all-providers" should be included ni the list.
  
      """
      provider_dependencies = json.loads(
          PROVIDER_DEPENDENCIES_JSON_FILE_PATH.read_text()
      )
  
      valid_states = set()
      if include_not_ready:
          valid_states.add("not-ready")
      if include_regular:
          valid_states.update({"ready", "pre-release"})
      if include_suspended:
          valid_states.add("suspended")
      if include_removed:
          valid_states.add("removed")
      available_packages: list[str] = [
          provider_id
          for provider_id, provider_dependencies in provider_dependencies.items()
          if provider_dependencies["state"] in valid_states
      ]
      if include_non_provider_doc_packages:
          available_packages.extend(REGULAR_DOC_PACKAGES)
      if include_all_providers:
          available_packages.append("all-providers")
      return sorted(set(available_packages))
  
imports: from __future__ import annotations
  import fnmatch
  import json
  import os
  import subprocess
  import sys
  from enum import Enum
  from functools import lru_cache
  from pathlib import Path
  from typing import Any, Iterable, NamedTuple
  from airflow_breeze.global_constants import ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS, PROVIDER_DEPENDENCIES, PROVIDER_RUNTIME_DATA_SCHEMA_PATH, REGULAR_DOC_PACKAGES
  from airflow_breeze.utils.console import get_console
  from airflow_breeze.utils.path_utils import AIRFLOW_PROVIDERS_ROOT, BREEZE_SOURCES_ROOT, DOCS_ROOT, GENERATED_PROVIDER_PACKAGES_DIR, PROVIDER_DEPENDENCIES_JSON_FILE_PATH
  from airflow_breeze.utils.publish_docs_helpers import _load_schema, get_provider_yaml_paths
  from airflow_breeze.utils.run_utils import run_command
  from airflow_breeze.utils.versions import get_version_tag, strip_leading_zeros_from_version
label_desc: Use image node_id 11 for calling a global function with example usage: get_available_packages(include_non_provider_doc_packages, include_all_providers, include_suspended, include_removed, include_not_ready, include_regular) and returns: sorted