in src/dfcx_scrapi/tools/nlu_util.py [0:0]
def _list_page_intents(self) -> Set[str]:
"""Lists all intents in-scope at the given page."""
# See the public doc:
# https://cloud.google.com/dialogflow/cx/docs/concept/handler#eval
relevant_intents = set()
relevant_trgs = set(self.flow.transition_route_groups)
for tr in self.flow.transition_routes:
if tr.intent:
relevant_intents.add(tr.intent)
if hasattr(self, "page"):
relevant_trgs |= set(self.page.transition_route_groups)
for tr in self.page.transition_routes:
if tr.intent:
relevant_intents.add(tr.intent)
for trg_name in relevant_trgs:
trg = self.name_to_trg[trg_name]
for tr in trg.transition_routes:
if tr.intent:
relevant_intents.add(tr.intent)
return relevant_intents