# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
"""Public entry points for the ``generate-cve-json`` project.

The implementation lives in :mod:`generate_cve_json.cve_json`; this
package re-exports the names that callers (``generate-cve-json`` console
script, ``python -m generate_cve_json``, and the test suite) depend on
so they can keep using ``from generate_cve_json import X``.
"""

from __future__ import annotations

from generate_cve_json.cve_json import (
    COLLECTION_URL_TO_PROJECT_URL_TEMPLATE,
    NEXT_VERSION_TOKEN_RE,
    PROJECT_DISPLAY_MAP,
    _build_attachment_body,
    _has_vendor_advisory_reference,
    _is_cna_ready_for_review,
    _product_for_package,
    attach_to_issue,
    build_affected,
    build_cna_container,
    build_credits,
    build_descriptions,
    build_metrics,
    build_problem_types,
    build_references,
    classify_reference,
    combine_remediation_developers,
    compute_cna_private_state,
    compute_package_url,
    emit_json,
    extract_field,
    fetch_issue,
    format_version_range,
    main,
    parse_affected_versions,
    parse_args,
    parse_credits_from_field,
    parse_cve_id,
    parse_cwe,
    parse_url_list,
    resolve_title,
    wrap_cve_record,
)

__all__ = [
    "COLLECTION_URL_TO_PROJECT_URL_TEMPLATE",
    "NEXT_VERSION_TOKEN_RE",
    "PROJECT_DISPLAY_MAP",
    "_build_attachment_body",
    "_has_vendor_advisory_reference",
    "_is_cna_ready_for_review",
    "_product_for_package",
    "attach_to_issue",
    "build_affected",
    "build_cna_container",
    "build_credits",
    "build_descriptions",
    "build_metrics",
    "build_problem_types",
    "build_references",
    "classify_reference",
    "combine_remediation_developers",
    "compute_cna_private_state",
    "compute_package_url",
    "emit_json",
    "extract_field",
    "fetch_issue",
    "format_version_range",
    "main",
    "parse_affected_versions",
    "parse_args",
    "parse_credits_from_field",
    "parse_cve_id",
    "parse_cwe",
    "parse_url_list",
    "resolve_title",
    "wrap_cve_record",
]
