# auto (from_token_zero)
sequence
  sequence
    tag `` text `</think>`
    `\n\n`
  triggered_tags [`<tool_call>\n<function=`] excluding [`<think>`, `</think>`]
    tag `<tool_call>\n<function=get_weather>\n` qwen_xml({ location: string }) `\n</function>\n</tool_call>`
    tag `<tool_call>\n<function=add>\n` qwen_xml({ y: number, x: number, items: string[] }) `\n</function>\n</tool_call>`

# required (from_token_zero)
sequence
  sequence
    tag `` text `</think>`
    `\n\n`
  triggered_tags [`<tool_call>\n<function=`] excluding [`<think>`, `</think>`] at_least_one
    tag `<tool_call>\n<function=get_weather>\n` qwen_xml({ location: string }) `\n</function>\n</tool_call>`
    tag `<tool_call>\n<function=add>\n` qwen_xml({ y: number, x: number, items: string[] }) `\n</function>\n</tool_call>`

# named (from_token_zero)
sequence
  sequence
    tag `` text `</think>`
    `\n\n`
  tag `<tool_call>\n<function=get_weather>\n` qwen_xml({ location: string }) `\n</function>\n</tool_call>`

# none_schema (from_token_zero)
sequence
  sequence
    tag `` text `</think>`
    `\n\n`
  json({ answer: string })

# auto_schema_content, auto_schema_calls (from_token_zero)
sequence
  sequence
    tag `` text `</think>`
    `\n\n`
  or
    triggered_tags [`<tool_call>\n<function=`] excluding [`<think>`, `</think>`] at_least_one
      tag `<tool_call>\n<function=get_weather>\n` qwen_xml({ location: string }) `\n</function>\n</tool_call>`
      tag `<tool_call>\n<function=add>\n` qwen_xml({ y: number, x: number, items: string[] }) `\n</function>\n</tool_call>`
    json({ answer: string })
