| 956 | } ha_lifecycle_dialect_t; |
| 957 | |
| 958 | static bool ha_dialect_from_name(const char *name, ha_lifecycle_dialect_t *dialect) { |
| 959 | if (!name || !dialect) { |
| 960 | return false; |
| 961 | } |
| 962 | if (strcmp(name, "copilot") == 0) { |
| 963 | *dialect = HA_DIALECT_COPILOT; |
| 964 | } else if (strcmp(name, "hermes") == 0) { |
| 965 | *dialect = HA_DIALECT_HERMES; |
| 966 | } else if (strcmp(name, "qoder") == 0) { |
| 967 | *dialect = HA_DIALECT_QODER; |
| 968 | } else if (strcmp(name, "kimi") == 0) { |
| 969 | *dialect = HA_DIALECT_KIMI; |
| 970 | } else if (strcmp(name, "devin") == 0) { |
| 971 | *dialect = HA_DIALECT_DEVIN; |
| 972 | } else if (strcmp(name, "cline") == 0) { |
| 973 | *dialect = HA_DIALECT_CLINE; |
| 974 | } else if (strcmp(name, "gemini") == 0) { |
| 975 | *dialect = HA_DIALECT_GEMINI; |
| 976 | } else if (strcmp(name, "qwen") == 0) { |
| 977 | *dialect = HA_DIALECT_QWEN; |
| 978 | } else if (strcmp(name, "factory") == 0) { |
| 979 | *dialect = HA_DIALECT_FACTORY; |
| 980 | } else if (strcmp(name, "augment") == 0) { |
| 981 | *dialect = HA_DIALECT_AUGMENT; |
| 982 | } else { |
| 983 | return false; |
| 984 | } |
| 985 | return true; |
| 986 | } |
| 987 | |
| 988 | static bool ha_dialect_event_supported(ha_lifecycle_dialect_t dialect, const char *event) { |
| 989 | if (!event) { |
no outgoing calls
no test coverage detected