def extract_direct_quote(
    chain_of_thought: interactive_document.InteractiveDocument,
    action_attempt: str,
    active_player_name: str,
):
  """Outputs the premise. Use this to create a pass-through chain of thought.

  Args:
    chain_of_thought: the document to condition on and record the thoughts
    action_attempt: the attempted action
    active_player_name: name of player whose turn it currently is

  Returns:
    string describing the action attempt
  """
  inner_chain_of_thought = chain_of_thought.new()
  inner_chain_of_thought.statement(f'{action_attempt}')
  proceed = inner_chain_of_thought.yes_no_question(
      question=f'Did {active_player_name} explicitly say or write anything?')
  if proceed:
    proceed_with_exact = inner_chain_of_thought.yes_no_question(
        question=(
            f'Does the text state exactly what {active_player_name} said or '
            'wrote?'))
    if proceed_with_exact:
      direct_quote = inner_chain_of_thought.open_question(
          question=f'What exactly did {active_player_name} say or write?',
          max_tokens=2500,
          terminators=(),
      )
      chain_of_thought.statement(f'[direct quote] {direct_quote}')

  return action_attempt
Outputs the premise. Use this to create a pass-through chain of thought.

  Args:
    chain_of_thought: the document to condition on and record the thoughts
    action_attempt: the attempted action
    active_player_name: name of player whose turn it currently is

  Returns:
    string describing the action attempt
  
concordia/thought_chains/thought_chains.py