def _list_page_intents()

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