Maybe the specification could be done in the dict returned from set_settings(…)? Something like:
def set_settings(self, settings):
return {
"result_types": {
"packet_text": {"format": "{{{data.text}}}"},
"part_text": {"format": "{{{data.text}}}"},
},
"channels": {
"packets": "packet_text",
"parts": "part_text"
}
}
Without a “channels” entry everything goes to a single channel of output as it does now so legacy and simple HLAs need no change.