code: def get_all_directed_paths(graph: nx.DiGraph, nodes1, nodes2):
      """Get all directed paths between sets of nodes.
  
      Currently only supports singleton sets.
      """
      if len(nodes1) > 1 or len(nodes2) > 1:
          raise ValueError(
              "The list of action and outcome nodes can only contain one element, i.e., needs to be univariate!"
          )
      return [
          p
          for p in nx.all_simple_paths(
              graph, source=nodes1[0], target=nodes2[0]
          )
      ]
  
imports: import itertools
  import logging
  import re
  from abc import abstractmethod
  from typing import Any, List, Protocol
  import networkx
  from networkx.algorithms.dag import has_cycle
  from dowhy.utils.api import parse_state
  from dowhy.utils.graph_operations import daggity_to_dot
label_desc: Use image node_id 15 for calling a global function with example usage: get_all_directed_paths(graph, nodes1, nodes2) and returns: unknown