code: def get_typed_signature(
      call: Callable[..., Any]
  ) -> inspect.Signature:
      """Get the signature of a function with type annotations.
  
      Args:
          call: The function to get the signature for
  
      Returns:
          The signature of the function with type annotations
      """
      signature = inspect.signature(call)
      globalns = getattr(call, "__globals__", {})
      typed_params = [
          inspect.Parameter(
              name=param.name,
              kind=param.kind,
              default=param.default,
              annotation=get_typed_annotation(
                  param.annotation, globalns
              ),
          )
          for param in signature.parameters.values()
      ]
      typed_signature = inspect.Signature(typed_params)
      return typed_signature
  
imports: import functools
  import inspect
  import json
  from logging import getLogger
  from typing import Any, Callable, Dict, ForwardRef, List, Optional, Set, Tuple, Type, TypeVar, Union
  from pydantic import BaseModel, Field
  from typing_extensions import Annotated, Literal, get_args, get_origin
  from ._pydantic import JsonSchemaValue, evaluate_forwardref, model_dump, model_dump_json, type2schema
label_desc: Use image node_id 2 for calling a global function with example usage: get_typed_signature(call) and returns: typed_signature