From 6e52d45f80d1b4d41f41f92b81683df67847d01b Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Wed, 18 Feb 2026 08:51:04 -0600 Subject: [PATCH] Make search attribute type more lenient when parsing --- temporalio/lib/temporalio/search_attributes.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/temporalio/lib/temporalio/search_attributes.rb b/temporalio/lib/temporalio/search_attributes.rb index e8a1d283..3c39f05d 100644 --- a/temporalio/lib/temporalio/search_attributes.rb +++ b/temporalio/lib/temporalio/search_attributes.rb @@ -350,7 +350,17 @@ module IndexedValueType }.freeze # @!visibility private - PROTO_VALUES = PROTO_NAMES.invert.freeze + # The type metadata is usually in PascalCase (e.g. "KeywordList") but in + # rare cases may be in SCREAMING_SNAKE_CASE (e.g. "INDEXED_VALUE_TYPE_KEYWORD_LIST"). + PROTO_VALUES = PROTO_NAMES.invert.merge( + 'INDEXED_VALUE_TYPE_TEXT' => TEXT, + 'INDEXED_VALUE_TYPE_KEYWORD' => KEYWORD, + 'INDEXED_VALUE_TYPE_INT' => INTEGER, + 'INDEXED_VALUE_TYPE_DOUBLE' => FLOAT, + 'INDEXED_VALUE_TYPE_BOOL' => BOOLEAN, + 'INDEXED_VALUE_TYPE_DATETIME' => TIME, + 'INDEXED_VALUE_TYPE_KEYWORD_LIST' => KEYWORD_LIST + ).freeze end end end