entityKeyBundleFromDescriptor function

IntentCallEntityKeyBundle entityKeyBundleFromDescriptor(
  1. AgentEntityTypeDescriptor descriptor
)

Manifest-projected entity field keys for native snapshot channels.

Implementation

IntentCallEntityKeyBundle entityKeyBundleFromDescriptor(
  final AgentEntityTypeDescriptor descriptor,
) {
  String? byRole(final AgentEntityPropertyRole role) {
    for (final property in descriptor.properties) {
      if (property.role == role) {
        return property.name;
      }
    }
    return null;
  }

  return IntentCallEntityKeyBundle(
    idKey: descriptor.identifierName,
    titleKey: byRole(AgentEntityPropertyRole.title) ?? 'title',
    subtitleKey: byRole(AgentEntityPropertyRole.subtitle) ?? 'subtitle',
    keywordsKey: byRole(AgentEntityPropertyRole.keywords) ?? 'keywords',
  );
}