algolia 3.43.0 → 3.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/issue.yml +6 -4
- data/.github/workflows/release.yml +3 -3
- data/AGENTS.md +0 -24
- data/CHANGELOG.md +50 -0
- data/Gemfile.lock +1 -1
- data/lib/algolia/api/abtesting_client.rb +20 -13
- data/lib/algolia/api/abtesting_v3_client.rb +198 -8
- data/lib/algolia/api/agent_studio_client.rb +246 -7
- data/lib/algolia/api/analytics_client.rb +12 -11
- data/lib/algolia/api/composition_client.rb +2 -1
- data/lib/algolia/api/ingestion_client.rb +2 -1
- data/lib/algolia/api/insights_client.rb +2 -1
- data/lib/algolia/api/monitoring_client.rb +2 -1
- data/lib/algolia/api/personalization_client.rb +2 -1
- data/lib/algolia/api/query_suggestions_client.rb +2 -1
- data/lib/algolia/api/recommend_client.rb +4 -3
- data/lib/algolia/api/search_client.rb +141 -23
- data/lib/algolia/api_client.rb +10 -2
- data/lib/algolia/chunked_helper_options.rb +1 -0
- data/lib/algolia/configuration.rb +18 -2
- data/lib/algolia/defaults.rb +8 -0
- data/lib/algolia/error.rb +20 -3
- data/lib/algolia/models/abtesting-v3/ab_test.rb +13 -11
- data/lib/algolia/models/abtesting-v3/ab_test_configuration.rb +22 -4
- data/lib/algolia/models/abtesting-v3/ab_test_settings_response.rb +224 -0
- data/lib/algolia/models/abtesting-v3/add_ab_tests_request.rb +11 -1
- data/lib/algolia/models/abtesting-v3/analysis_method.rb +34 -0
- data/lib/algolia/models/abtesting-v3/bayesian_metric_result.rb +237 -0
- data/lib/algolia/models/abtesting-v3/evidence_status.rb +37 -0
- data/lib/algolia/models/abtesting-v3/feature_settings.rb +224 -0
- data/lib/algolia/models/abtesting-v3/metric_evidence.rb +209 -0
- data/lib/algolia/models/abtesting-v3/metric_metadata.rb +1 -1
- data/lib/algolia/models/abtesting-v3/metric_name.rb +7 -1
- data/lib/algolia/models/abtesting-v3/metric_result.rb +18 -8
- data/lib/algolia/models/abtesting-v3/minimum_detectable_effect.rb +1 -1
- data/lib/algolia/models/abtesting-v3/primary_metric.rb +37 -0
- data/lib/algolia/models/abtesting-v3/save_settings_request.rb +208 -0
- data/lib/algolia/models/abtesting-v3/variant_settings.rb +293 -0
- data/lib/algolia/models/agent-studio/agent_completion_algolia_params.rb +16 -4
- data/lib/algolia/models/agent-studio/agent_completion_request.rb +1 -3
- data/lib/algolia/models/agent-studio/agent_completion_request_union.rb +108 -0
- data/lib/algolia/models/agent-studio/agent_test_configuration.rb +1 -1
- data/lib/algolia/models/agent-studio/agent_with_version_response.rb +1 -1
- data/lib/algolia/models/agent-studio/agui_completion_request.rb +265 -0
- data/lib/algolia/models/agent-studio/agui_resume.rb +231 -0
- data/lib/algolia/models/agent-studio/algolia_grouped_results_compat_tool_config.rb +268 -0
- data/lib/algolia/models/agent-studio/{algolia_display_results_tool_config.rb → algolia_grouped_results_tool_config.rb} +30 -16
- data/lib/algolia/models/agent-studio/{algolia_recommend_tool_config_input.rb → algolia_recommend_tool_config.rb} +3 -3
- data/lib/algolia/models/agent-studio/algolia_search_tool_config.rb +22 -4
- data/lib/algolia/models/agent-studio/assistant_message_agui.rb +280 -0
- data/lib/algolia/models/agent-studio/assistant_message_v4.rb +1 -0
- data/lib/algolia/models/agent-studio/assistant_message_v5.rb +3 -1
- data/lib/algolia/models/agent-studio/assistant_part_v5.rb +2 -0
- data/lib/algolia/models/agent-studio/azure_open_ai_provider_input.rb +1 -1
- data/lib/algolia/models/agent-studio/boolean_param.rb +220 -0
- data/lib/algolia/models/agent-studio/client_side_tool_config.rb +14 -4
- data/lib/algolia/models/agent-studio/compaction_stats.rb +271 -0
- data/lib/algolia/models/agent-studio/compatibility_mode.rb +2 -1
- data/lib/algolia/models/agent-studio/context_compact_request.rb +263 -0
- data/lib/algolia/models/agent-studio/context_response.rb +231 -0
- data/lib/algolia/models/agent-studio/context_stats.rb +258 -0
- data/lib/algolia/models/agent-studio/context_trim_request.rb +239 -0
- data/lib/algolia/models/agent-studio/conversation_base_response.rb +16 -5
- data/lib/algolia/models/agent-studio/conversation_full_response.rb +26 -5
- data/lib/algolia/models/agent-studio/data_guardrail_violation_part_v5.rb +218 -0
- data/lib/algolia/models/agent-studio/data_part_v5.rb +220 -0
- data/lib/algolia/models/agent-studio/facet_filters_union_search_parameters_overrides.rb +108 -0
- data/lib/algolia/models/agent-studio/feedback_update_request.rb +253 -0
- data/lib/algolia/models/agent-studio/forwarded_props.rb +226 -0
- data/lib/algolia/models/agent-studio/function_call_agui.rb +219 -0
- data/lib/algolia/models/agent-studio/guardrail_outcome.rb +231 -0
- data/lib/algolia/models/agent-studio/guardrail_violation_data_v5.rb +230 -0
- data/lib/algolia/models/agent-studio/impact_analytics.rb +242 -0
- data/lib/algolia/models/agent-studio/index_search_parameters.rb +11 -1
- data/lib/algolia/models/agent-studio/input_union.rb +113 -0
- data/lib/algolia/models/agent-studio/items_union.rb +132 -0
- data/lib/algolia/models/agent-studio/items_union_agui_completion_request.rb +123 -0
- data/lib/algolia/models/agent-studio/managed_provider_response_input.rb +209 -0
- data/lib/algolia/models/agent-studio/mcp_server_tool_config.rb +1 -1
- data/lib/algolia/models/agent-studio/memory_record.rb +4 -4
- data/lib/algolia/models/agent-studio/message_event.rb +231 -0
- data/lib/algolia/models/agent-studio/message_part_assistant_message_agui.rb +123 -0
- data/lib/algolia/models/agent-studio/message_response.rb +87 -5
- data/lib/algolia/models/agent-studio/mode_enum.rb +34 -0
- data/lib/algolia/models/agent-studio/one_of_enum.rb +34 -0
- data/lib/algolia/models/agent-studio/open_ai_compatible_provider_input.rb +1 -1
- data/lib/algolia/models/agent-studio/paginated_conversations_response.rb +13 -4
- data/lib/algolia/models/agent-studio/provider_authentication_response.rb +14 -5
- data/lib/algolia/models/agent-studio/provider_input.rb +2 -1
- data/lib/algolia/models/agent-studio/provider_input_nullable.rb +2 -1
- data/lib/algolia/models/agent-studio/provider_name.rb +2 -1
- data/lib/algolia/models/agent-studio/reasoning_message_agui.rb +239 -0
- data/lib/algolia/models/agent-studio/reasoning_part_agui.rb +228 -0
- data/lib/algolia/models/agent-studio/search_parameters.rb +1 -1
- data/lib/algolia/models/agent-studio/search_parameters_overrides.rb +80 -5
- data/lib/algolia/models/agent-studio/status_enum.rb +34 -0
- data/lib/algolia/models/agent-studio/task_kind.rb +33 -0
- data/lib/algolia/models/agent-studio/task_request.rb +240 -0
- data/lib/algolia/models/agent-studio/task_response.rb +211 -0
- data/lib/algolia/models/agent-studio/text_part_agui.rb +219 -0
- data/lib/algolia/models/agent-studio/tool_approval_agui.rb +228 -0
- data/lib/algolia/models/agent-studio/tool_approval_request_part.rb +15 -5
- data/lib/algolia/models/agent-studio/tool_call_agui.rb +237 -0
- data/lib/algolia/models/agent-studio/tool_call_part.rb +13 -1
- data/lib/algolia/models/agent-studio/tool_call_part_agui.rb +272 -0
- data/lib/algolia/models/agent-studio/tool_call_result_part_agui.rb +250 -0
- data/lib/algolia/models/agent-studio/tool_config_input.rb +2 -5
- data/lib/algolia/models/agent-studio/{tool_config.rb → tool_config_or_boolean_union.rb} +1 -1
- data/lib/algolia/models/agent-studio/tool_config_output.rb +126 -0
- data/lib/algolia/models/agent-studio/tool_invocation_v4.rb +10 -2
- data/lib/algolia/models/agent-studio/tool_message_agui.rb +259 -0
- data/lib/algolia/models/agent-studio/tool_part_v5.rb +47 -2
- data/lib/algolia/models/agent-studio/tool_result_part.rb +57 -5
- data/lib/algolia/models/agent-studio/unknown_tool_config.rb +1 -1
- data/lib/algolia/models/agent-studio/user_message_agui.rb +261 -0
- data/lib/algolia/models/agent-studio/user_message_metadata_agui.rb +208 -0
- data/lib/algolia/models/agent-studio/user_message_metadata_v5.rb +4 -2
- data/lib/algolia/models/agent-studio/user_message_v4.rb +4 -1
- data/lib/algolia/models/agent-studio/user_message_v5.rb +4 -1
- data/lib/algolia/models/agent-studio/validation_error.rb +5 -25
- data/lib/algolia/models/agent-studio/xai_provider_input.rb +220 -0
- data/lib/algolia/models/analytics/catalog_entry.rb +1 -1
- data/lib/algolia/models/composition/base_injection_query_parameters.rb +18 -18
- data/lib/algolia/models/composition/distinct.rb +1 -1
- data/lib/algolia/models/composition/external_provider.rb +209 -0
- data/lib/algolia/models/composition/external_provider_ordering.rb +34 -0
- data/lib/algolia/models/composition/hit_metadata.rb +2 -2
- data/lib/algolia/models/composition/injected_item_external.rb +21 -14
- data/lib/algolia/models/composition/injected_item_external_provider.rb +258 -0
- data/lib/algolia/models/composition/injected_item_external_provider_source.rb +216 -0
- data/lib/algolia/models/composition/injected_item_hits_metadata.rb +1 -1
- data/lib/algolia/models/composition/{recommend.rb → injected_item_recommend.rb} +10 -3
- data/lib/algolia/models/composition/injected_item_recommend_source.rb +1 -1
- data/lib/algolia/models/composition/injected_item_search.rb +8 -1
- data/lib/algolia/models/composition/injected_item_source.rb +1 -0
- data/lib/algolia/models/composition/injection_main_external_provider.rb +258 -0
- data/lib/algolia/models/composition/injection_main_external_provider_source.rb +216 -0
- data/lib/algolia/models/composition/{main_recommend.rb → injection_main_recommend.rb} +10 -3
- data/lib/algolia/models/composition/injection_main_recommend_source.rb +1 -1
- data/lib/algolia/models/composition/{main_search.rb → injection_main_search.rb} +11 -4
- data/lib/algolia/models/composition/injection_main_search_source.rb +1 -1
- data/lib/algolia/models/composition/injection_main_source.rb +1 -0
- data/lib/algolia/models/composition/main_injection_query_parameters.rb +22 -22
- data/lib/algolia/models/composition/optional_words.rb +1 -1
- data/lib/algolia/models/composition/params.rb +6 -6
- data/lib/algolia/models/composition/processing_error.rb +209 -0
- data/lib/algolia/models/composition/request_body.rb +13 -4
- data/lib/algolia/models/composition/result_card.rb +208 -0
- data/lib/algolia/models/composition/search_response.rb +16 -4
- data/lib/algolia/models/composition/widgets.rb +13 -4
- data/lib/algolia/models/ingestion/source_update_commercetools.rb +11 -0
- data/lib/algolia/models/recommend/distinct.rb +1 -1
- data/lib/algolia/models/recommend/fallback_params.rb +26 -26
- data/lib/algolia/models/recommend/optional_words.rb +1 -1
- data/lib/algolia/models/recommend/recommend_search_params.rb +26 -26
- data/lib/algolia/models/recommend/result_card.rb +208 -0
- data/lib/algolia/models/recommend/widgets.rb +13 -4
- data/lib/algolia/models/search/api_key.rb +2 -2
- data/lib/algolia/models/search/attribute_criteria_computed_by.rb +35 -0
- data/lib/algolia/models/search/browse_params_object.rb +35 -25
- data/lib/algolia/models/search/consequence_params.rb +35 -25
- data/lib/algolia/models/search/distinct.rb +1 -1
- data/lib/algolia/models/search/get_api_key_response.rb +2 -2
- data/lib/algolia/models/search/index_settings.rb +28 -18
- data/lib/algolia/models/search/log.rb +11 -0
- data/lib/algolia/models/search/optional_words.rb +1 -1
- data/lib/algolia/models/search/result_card.rb +208 -0
- data/lib/algolia/models/search/search_for_facets.rb +35 -25
- data/lib/algolia/models/search/search_for_hits.rb +35 -25
- data/lib/algolia/models/search/search_params_object.rb +35 -25
- data/lib/algolia/models/search/secured_api_key_restrictions.rb +1 -1
- data/lib/algolia/models/search/settings_response.rb +28 -18
- data/lib/algolia/models/search/widgets.rb +13 -4
- data/lib/algolia/transport/http/http_requester.rb +2 -2
- data/lib/algolia/transport/request_id.rb +49 -0
- data/lib/algolia/transport/transport.rb +161 -18
- data/lib/algolia/version.rb +1 -1
- data/lib/algolia.rb +1 -0
- metadata +73 -8
|
@@ -23,11 +23,30 @@ module Algolia
|
|
|
23
23
|
|
|
24
24
|
# @param config [Configuration]
|
|
25
25
|
# @param requester [Object] requester used for sending requests. Uses Algolia::Http::HttpRequester by default
|
|
26
|
+
# @param request_id_support [true, false] the generated per-client Request-ID capability
|
|
26
27
|
#
|
|
27
|
-
def initialize(config, requester)
|
|
28
|
+
def initialize(config, requester, request_id_support: false)
|
|
28
29
|
@config = config
|
|
29
30
|
@requester = requester
|
|
31
|
+
@request_id_support = request_id_support
|
|
30
32
|
@retry_strategy = RetryStrategy.new(config.hosts)
|
|
33
|
+
@sleeper = Kernel.method(:sleep)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Callable waiting the given number of whole seconds before a 429 is retried,
|
|
37
|
+
# Kernel#sleep by default. Private on purpose: it is a test seam, not gem
|
|
38
|
+
# surface, and the tests reach it with send(:sleeper=, ...).
|
|
39
|
+
attr_writer :sleeper
|
|
40
|
+
private :sleeper=
|
|
41
|
+
|
|
42
|
+
# Whether the transport mints Request-ID headers. Resolved per request so a
|
|
43
|
+
# caller can flip config.request_id_enabled at any time, like every other
|
|
44
|
+
# Configuration setting; nil falls back to the per-client capability.
|
|
45
|
+
#
|
|
46
|
+
# @return [true, false]
|
|
47
|
+
#
|
|
48
|
+
def request_id_enabled?
|
|
49
|
+
@config.request_id_enabled.nil? ? @request_id_support : @config.request_id_enabled
|
|
31
50
|
end
|
|
32
51
|
|
|
33
52
|
# @param call_type [Binary] READ or WRITE operation
|
|
@@ -41,7 +60,26 @@ module Algolia
|
|
|
41
60
|
def request(call_type, method, path, body, opts = {})
|
|
42
61
|
retry_errors = []
|
|
43
62
|
|
|
63
|
+
# The Request-ID is minted once per execution, before the host loop, so that
|
|
64
|
+
# every retry attempt shares the same value and each subsequent call gets a
|
|
65
|
+
# fresh one.
|
|
66
|
+
request_id = mint_request_id(opts)
|
|
67
|
+
|
|
68
|
+
# create consumes these two channels from opts on every attempt: snapshot them
|
|
69
|
+
# so retries keep them. Timeout keys stay consumable, recomputed per host below.
|
|
70
|
+
header_params = opts[:header_params]
|
|
71
|
+
query_params = opts[:query_params]
|
|
72
|
+
|
|
73
|
+
# The Correlation-ID of the last retried attempt whose response carried a
|
|
74
|
+
# non-empty one, surfaced on the exhaustion error for support tickets.
|
|
75
|
+
last_correlation_id = nil
|
|
76
|
+
|
|
77
|
+
# Budget of 429 waits for this request, shared across hosts.
|
|
78
|
+
rate_limit_retries_left = max_rate_limit_retries
|
|
79
|
+
|
|
44
80
|
@retry_strategy.get_tryable_hosts(call_type).each do |host|
|
|
81
|
+
opts[:header_params] ||= header_params
|
|
82
|
+
opts[:query_params] ||= query_params
|
|
45
83
|
opts[:timeout] ||= get_timeout(call_type)
|
|
46
84
|
opts[:connect_timeout] ||= (@config.connect_timeout || Defaults::CONNECT_TIMEOUT) * (host.retry_count + 1)
|
|
47
85
|
|
|
@@ -50,17 +88,23 @@ module Algolia
|
|
|
50
88
|
# TODO: what is this merge for ?
|
|
51
89
|
# request_options.query_params.merge!(request_options.data) if method == :GET
|
|
52
90
|
|
|
53
|
-
request = build_request(method, path, body, request_options)
|
|
54
|
-
response =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
91
|
+
request = build_request(method, path, body, request_options, request_id)
|
|
92
|
+
response = send_request(host, request)
|
|
93
|
+
|
|
94
|
+
# HTTP 429 is not a host failover: wait Retry-After (whole seconds, 1s when
|
|
95
|
+
# missing or invalid) and resend the same request to the same host. The retry
|
|
96
|
+
# strategy only sees the final response, so a waited-out 429 never marks the
|
|
97
|
+
# host down nor bumps its retry_count. The attempt is still recorded, with its
|
|
98
|
+
# Correlation-ID, so the exhaustion error keeps it visible.
|
|
99
|
+
while response.status == 429 && rate_limit_retries_left > 0
|
|
100
|
+
rate_limit_retries_left -= 1
|
|
101
|
+
correlation_id = correlation_id_from(response.headers)
|
|
102
|
+
last_correlation_id = correlation_id unless correlation_id.nil? || correlation_id.empty?
|
|
103
|
+
retry_errors << {host: host.url, error: response.error}
|
|
104
|
+
|
|
105
|
+
@sleeper.call(rate_limit_wait_seconds(response.headers))
|
|
106
|
+
response = send_request(host, request)
|
|
107
|
+
end
|
|
64
108
|
|
|
65
109
|
outcome = @retry_strategy.decide(
|
|
66
110
|
host,
|
|
@@ -69,16 +113,20 @@ module Algolia
|
|
|
69
113
|
network_failure: response.network_failure
|
|
70
114
|
)
|
|
71
115
|
if outcome == FAILURE
|
|
116
|
+
correlation_id = correlation_id_from(response.headers)
|
|
117
|
+
|
|
72
118
|
# handle HTML error
|
|
73
119
|
if response.headers["content-type"]&.include?("text/html")
|
|
74
|
-
raise Algolia::AlgoliaHttpError.new(response.status, response.reason_phrase)
|
|
120
|
+
raise Algolia::AlgoliaHttpError.new(response.status, response.reason_phrase, correlation_id)
|
|
75
121
|
end
|
|
76
122
|
|
|
77
123
|
decoded_error = JSON.parse(response.error, :symbolize_names => true)
|
|
78
|
-
raise Algolia::AlgoliaHttpError.new(response.status, decoded_error[:message])
|
|
124
|
+
raise Algolia::AlgoliaHttpError.new(response.status, decoded_error[:message], correlation_id)
|
|
79
125
|
end
|
|
80
126
|
|
|
81
127
|
if outcome == RETRY
|
|
128
|
+
correlation_id = correlation_id_from(response.headers)
|
|
129
|
+
last_correlation_id = correlation_id unless correlation_id.nil? || correlation_id.empty?
|
|
82
130
|
retry_errors << {host: host.url, error: response.error}
|
|
83
131
|
else
|
|
84
132
|
return response
|
|
@@ -88,29 +136,121 @@ module Algolia
|
|
|
88
136
|
raise(
|
|
89
137
|
Algolia::AlgoliaUnreachableHostError.new(
|
|
90
138
|
"Unreachable hosts. If the error persists, please visit our help center https://alg.li/support-unreachable-hosts or reach out to the Algolia Support team: https://alg.li/support",
|
|
91
|
-
retry_errors
|
|
139
|
+
retry_errors,
|
|
140
|
+
last_correlation_id
|
|
92
141
|
)
|
|
93
142
|
)
|
|
94
143
|
end
|
|
95
144
|
|
|
96
145
|
private
|
|
97
146
|
|
|
147
|
+
# Sends an already built request to the given host.
|
|
148
|
+
#
|
|
149
|
+
# @param host [StatefulHost]
|
|
150
|
+
# @param request [Hash] the request built by build_request
|
|
151
|
+
#
|
|
152
|
+
# @return [Response]
|
|
153
|
+
#
|
|
154
|
+
def send_request(host, request)
|
|
155
|
+
@requester.send_request(
|
|
156
|
+
host,
|
|
157
|
+
request[:method],
|
|
158
|
+
request[:path],
|
|
159
|
+
request[:body],
|
|
160
|
+
request[:query_params],
|
|
161
|
+
request[:header_params],
|
|
162
|
+
request[:timeout],
|
|
163
|
+
request[:connect_timeout]
|
|
164
|
+
)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# How many 429s are waited out per request: nil falls back to the default, a
|
|
168
|
+
# negative value behaves like 0, and so does false, which a caller may pass to
|
|
169
|
+
# mean "no retries" (only nil means unset, as for request_id_enabled).
|
|
170
|
+
#
|
|
171
|
+
# @return [Integer]
|
|
172
|
+
#
|
|
173
|
+
def max_rate_limit_retries
|
|
174
|
+
retries = @config.max_rate_limit_retries
|
|
175
|
+
return Defaults::MAX_RATE_LIMIT_RETRIES if retries.nil?
|
|
176
|
+
|
|
177
|
+
[retries || 0, 0].max
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Retry-After as a wait in whole seconds. Only a positive whole number of ASCII
|
|
181
|
+
# digits is honoured (header key matched case-insensitively, value trimmed); a
|
|
182
|
+
# missing, empty, zero, negative, fractional, HTTP-date or junk value waits
|
|
183
|
+
# Defaults::RATE_LIMIT_WAIT. A value above what Kernel#sleep accepts saturates at
|
|
184
|
+
# Defaults::MAX_RATE_LIMIT_WAIT rather than being capped or falling back.
|
|
185
|
+
#
|
|
186
|
+
# @param headers [Hash, String]
|
|
187
|
+
#
|
|
188
|
+
# @return [Integer]
|
|
189
|
+
#
|
|
190
|
+
def rate_limit_wait_seconds(headers)
|
|
191
|
+
return Defaults::RATE_LIMIT_WAIT unless headers.respond_to?(:each_pair)
|
|
192
|
+
|
|
193
|
+
value = headers.find { |k, _| k.to_s.casecmp?("Retry-After") }&.last
|
|
194
|
+
raw = value.to_s.strip
|
|
195
|
+
return Defaults::RATE_LIMIT_WAIT unless raw.match?(/\A[0-9]+\z/)
|
|
196
|
+
|
|
197
|
+
seconds = Integer(raw, 10)
|
|
198
|
+
return Defaults::RATE_LIMIT_WAIT if seconds <= 0
|
|
199
|
+
|
|
200
|
+
[seconds, Defaults::MAX_RATE_LIMIT_WAIT].min
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# Returns a fresh Request-ID, or nil when the feature is off for this client
|
|
204
|
+
# or the caller already supplied one through the request options, the config
|
|
205
|
+
# default headers, or the x-algolia-request-id query parameter. Caller-supplied
|
|
206
|
+
# values ride their own channel on every attempt.
|
|
207
|
+
#
|
|
208
|
+
# @param opts [Hash]
|
|
209
|
+
#
|
|
210
|
+
# @return [String, nil]
|
|
211
|
+
#
|
|
212
|
+
def mint_request_id(opts)
|
|
213
|
+
return nil unless request_id_enabled?
|
|
214
|
+
return nil if RequestId.request_id?(opts[:header_params])
|
|
215
|
+
return nil if RequestId.request_id?(@config.header_params)
|
|
216
|
+
return nil if RequestId.request_id_query_param?(opts[:query_params])
|
|
217
|
+
|
|
218
|
+
RequestId.generate
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# Reads the Correlation-ID header of a failed response case-insensitively: the
|
|
222
|
+
# headers hash keeps the server's casing and defaults to an empty string on
|
|
223
|
+
# timeout and network failures. The unrelated X-Algolia-RequestID edge header
|
|
224
|
+
# must never be read instead.
|
|
225
|
+
#
|
|
226
|
+
# @param headers [Hash, String]
|
|
227
|
+
#
|
|
228
|
+
# @return [String, nil]
|
|
229
|
+
#
|
|
230
|
+
def correlation_id_from(headers)
|
|
231
|
+
return nil unless headers.respond_to?(:each_pair)
|
|
232
|
+
|
|
233
|
+
headers.find { |k, _| k.to_s.casecmp?(RequestId::CORRELATION_HEADER) }&.last
|
|
234
|
+
end
|
|
235
|
+
|
|
98
236
|
# Parse the different information and build the request
|
|
99
237
|
#
|
|
100
238
|
# @param [Symbol] method
|
|
101
239
|
# @param [String] path
|
|
102
240
|
# @param [Hash] body
|
|
103
241
|
# @param [RequestOptions] request_options
|
|
242
|
+
# @param [String, nil] request_id
|
|
104
243
|
#
|
|
105
244
|
# @return [Hash]
|
|
106
245
|
#
|
|
107
|
-
def build_request(method, path, body, request_options)
|
|
246
|
+
def build_request(method, path, body, request_options, request_id = nil)
|
|
108
247
|
request = {}
|
|
109
248
|
request[:method] = method.downcase
|
|
110
249
|
request[:path] = path
|
|
111
250
|
request[:body] = build_body(body, request_options)
|
|
112
251
|
request[:query_params] = Algolia::Transport.stringify_query_params(request_options.query_params)
|
|
113
|
-
|
|
252
|
+
|
|
253
|
+
request[:header_params] = generate_header_params(body, request_options, request_id)
|
|
114
254
|
request[:timeout] = request_options.timeout
|
|
115
255
|
request[:connect_timeout] = request_options.connect_timeout
|
|
116
256
|
request
|
|
@@ -129,13 +269,16 @@ module Algolia
|
|
|
129
269
|
|
|
130
270
|
# Generates headers from config headers and optional parameters
|
|
131
271
|
#
|
|
272
|
+
# @param body [String, nil]
|
|
132
273
|
# @param request_options [RequestOptions]
|
|
274
|
+
# @param request_id [String, nil]
|
|
133
275
|
#
|
|
134
276
|
# @return [Hash] merged headers
|
|
135
277
|
#
|
|
136
|
-
def generate_header_params(body, request_options)
|
|
278
|
+
def generate_header_params(body, request_options, request_id = nil)
|
|
137
279
|
header_params = request_options.header_params.transform_keys(&:downcase)
|
|
138
280
|
header_params = @config.header_params.merge(header_params)
|
|
281
|
+
header_params[RequestId::HEADER] = request_id if request_id
|
|
139
282
|
if request_options.compression_type == "gzip" && body.is_a?(String) && !body.to_s.strip.empty?
|
|
140
283
|
header_params["content-encoding"] = "gzip"
|
|
141
284
|
end
|
data/lib/algolia/version.rb
CHANGED
data/lib/algolia.rb
CHANGED
|
@@ -17,6 +17,7 @@ require "algolia/transport/call_type"
|
|
|
17
17
|
require "algolia/transport/retry_outcome_type"
|
|
18
18
|
require "algolia/transport/stateful_host"
|
|
19
19
|
require "algolia/transport/retry_strategy"
|
|
20
|
+
require "algolia/transport/request_id"
|
|
20
21
|
require "algolia/transport/request_options"
|
|
21
22
|
require "algolia/transport/transport"
|
|
22
23
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: algolia
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.46.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- https://alg.li/support
|
|
@@ -152,10 +152,13 @@ files:
|
|
|
152
152
|
- lib/algolia/models/abtesting-v3/ab_test.rb
|
|
153
153
|
- lib/algolia/models/abtesting-v3/ab_test_configuration.rb
|
|
154
154
|
- lib/algolia/models/abtesting-v3/ab_test_response.rb
|
|
155
|
+
- lib/algolia/models/abtesting-v3/ab_test_settings_response.rb
|
|
155
156
|
- lib/algolia/models/abtesting-v3/ab_tests_variant.rb
|
|
156
157
|
- lib/algolia/models/abtesting-v3/ab_tests_variant_search_params.rb
|
|
157
158
|
- lib/algolia/models/abtesting-v3/add_ab_tests_request.rb
|
|
158
159
|
- lib/algolia/models/abtesting-v3/add_ab_tests_variant.rb
|
|
160
|
+
- lib/algolia/models/abtesting-v3/analysis_method.rb
|
|
161
|
+
- lib/algolia/models/abtesting-v3/bayesian_metric_result.rb
|
|
159
162
|
- lib/algolia/models/abtesting-v3/create_metric.rb
|
|
160
163
|
- lib/algolia/models/abtesting-v3/decision.rb
|
|
161
164
|
- lib/algolia/models/abtesting-v3/direction.rb
|
|
@@ -166,20 +169,26 @@ files:
|
|
|
166
169
|
- lib/algolia/models/abtesting-v3/estimate_ab_test_request.rb
|
|
167
170
|
- lib/algolia/models/abtesting-v3/estimate_ab_test_response.rb
|
|
168
171
|
- lib/algolia/models/abtesting-v3/estimate_configuration.rb
|
|
172
|
+
- lib/algolia/models/abtesting-v3/evidence_status.rb
|
|
173
|
+
- lib/algolia/models/abtesting-v3/feature_settings.rb
|
|
169
174
|
- lib/algolia/models/abtesting-v3/filter_effects.rb
|
|
170
175
|
- lib/algolia/models/abtesting-v3/list_ab_tests_response.rb
|
|
171
176
|
- lib/algolia/models/abtesting-v3/metric_date.rb
|
|
177
|
+
- lib/algolia/models/abtesting-v3/metric_evidence.rb
|
|
172
178
|
- lib/algolia/models/abtesting-v3/metric_metadata.rb
|
|
173
179
|
- lib/algolia/models/abtesting-v3/metric_name.rb
|
|
174
180
|
- lib/algolia/models/abtesting-v3/metric_result.rb
|
|
175
181
|
- lib/algolia/models/abtesting-v3/metrics_filter.rb
|
|
176
182
|
- lib/algolia/models/abtesting-v3/minimum_detectable_effect.rb
|
|
177
183
|
- lib/algolia/models/abtesting-v3/outliers_filter.rb
|
|
184
|
+
- lib/algolia/models/abtesting-v3/primary_metric.rb
|
|
185
|
+
- lib/algolia/models/abtesting-v3/save_settings_request.rb
|
|
178
186
|
- lib/algolia/models/abtesting-v3/status.rb
|
|
179
187
|
- lib/algolia/models/abtesting-v3/timeseries.rb
|
|
180
188
|
- lib/algolia/models/abtesting-v3/timeseries_variant.rb
|
|
181
189
|
- lib/algolia/models/abtesting-v3/variant.rb
|
|
182
190
|
- lib/algolia/models/abtesting-v3/variant_metadata.rb
|
|
191
|
+
- lib/algolia/models/abtesting-v3/variant_settings.rb
|
|
183
192
|
- lib/algolia/models/abtesting/ab_test.rb
|
|
184
193
|
- lib/algolia/models/abtesting/ab_test_configuration.rb
|
|
185
194
|
- lib/algolia/models/abtesting/ab_test_response.rb
|
|
@@ -206,13 +215,17 @@ files:
|
|
|
206
215
|
- lib/algolia/models/agent-studio/advanced_syntax_features.rb
|
|
207
216
|
- lib/algolia/models/agent-studio/agent_completion_algolia_params.rb
|
|
208
217
|
- lib/algolia/models/agent-studio/agent_completion_request.rb
|
|
218
|
+
- lib/algolia/models/agent-studio/agent_completion_request_union.rb
|
|
209
219
|
- lib/algolia/models/agent-studio/agent_config_create.rb
|
|
210
220
|
- lib/algolia/models/agent-studio/agent_config_update.rb
|
|
211
221
|
- lib/algolia/models/agent-studio/agent_status.rb
|
|
212
222
|
- lib/algolia/models/agent-studio/agent_test_configuration.rb
|
|
213
223
|
- lib/algolia/models/agent-studio/agent_with_version_response.rb
|
|
214
|
-
- lib/algolia/models/agent-studio/
|
|
215
|
-
- lib/algolia/models/agent-studio/
|
|
224
|
+
- lib/algolia/models/agent-studio/agui_completion_request.rb
|
|
225
|
+
- lib/algolia/models/agent-studio/agui_resume.rb
|
|
226
|
+
- lib/algolia/models/agent-studio/algolia_grouped_results_compat_tool_config.rb
|
|
227
|
+
- lib/algolia/models/agent-studio/algolia_grouped_results_tool_config.rb
|
|
228
|
+
- lib/algolia/models/agent-studio/algolia_recommend_tool_config.rb
|
|
216
229
|
- lib/algolia/models/agent-studio/algolia_recommend_tool_index_config.rb
|
|
217
230
|
- lib/algolia/models/agent-studio/algolia_search_tool_config.rb
|
|
218
231
|
- lib/algolia/models/agent-studio/algolia_search_tool_index_config.rb
|
|
@@ -227,46 +240,70 @@ files:
|
|
|
227
240
|
- lib/algolia/models/agent-studio/application_config_response.rb
|
|
228
241
|
- lib/algolia/models/agent-studio/around_precision_union.rb
|
|
229
242
|
- lib/algolia/models/agent-studio/around_radius_union.rb
|
|
243
|
+
- lib/algolia/models/agent-studio/assistant_message_agui.rb
|
|
230
244
|
- lib/algolia/models/agent-studio/assistant_message_v4.rb
|
|
231
245
|
- lib/algolia/models/agent-studio/assistant_message_v5.rb
|
|
232
246
|
- lib/algolia/models/agent-studio/assistant_part_v4.rb
|
|
233
247
|
- lib/algolia/models/agent-studio/assistant_part_v5.rb
|
|
234
248
|
- lib/algolia/models/agent-studio/azure_open_ai_provider_input.rb
|
|
235
249
|
- lib/algolia/models/agent-studio/base_provider_input.rb
|
|
250
|
+
- lib/algolia/models/agent-studio/boolean_param.rb
|
|
236
251
|
- lib/algolia/models/agent-studio/client_side_tool_config.rb
|
|
237
252
|
- lib/algolia/models/agent-studio/client_tools_args_schema.rb
|
|
253
|
+
- lib/algolia/models/agent-studio/compaction_stats.rb
|
|
238
254
|
- lib/algolia/models/agent-studio/compatibility_mode.rb
|
|
255
|
+
- lib/algolia/models/agent-studio/context_compact_request.rb
|
|
256
|
+
- lib/algolia/models/agent-studio/context_response.rb
|
|
257
|
+
- lib/algolia/models/agent-studio/context_stats.rb
|
|
258
|
+
- lib/algolia/models/agent-studio/context_trim_request.rb
|
|
239
259
|
- lib/algolia/models/agent-studio/conversation_base_response.rb
|
|
240
260
|
- lib/algolia/models/agent-studio/conversation_full_response.rb
|
|
241
261
|
- lib/algolia/models/agent-studio/conversation_metadata.rb
|
|
262
|
+
- lib/algolia/models/agent-studio/data_guardrail_violation_part_v5.rb
|
|
263
|
+
- lib/algolia/models/agent-studio/data_part_v5.rb
|
|
242
264
|
- lib/algolia/models/agent-studio/distinct_union.rb
|
|
243
265
|
- lib/algolia/models/agent-studio/episode.rb
|
|
244
266
|
- lib/algolia/models/agent-studio/error_base.rb
|
|
245
267
|
- lib/algolia/models/agent-studio/exact_on_single_word_query.rb
|
|
246
268
|
- lib/algolia/models/agent-studio/facet_filters_union.rb
|
|
269
|
+
- lib/algolia/models/agent-studio/facet_filters_union_search_parameters_overrides.rb
|
|
247
270
|
- lib/algolia/models/agent-studio/facets.rb
|
|
248
271
|
- lib/algolia/models/agent-studio/facets_param.rb
|
|
249
272
|
- lib/algolia/models/agent-studio/facets_union.rb
|
|
250
273
|
- lib/algolia/models/agent-studio/feedback_creation_request.rb
|
|
251
274
|
- lib/algolia/models/agent-studio/feedback_response.rb
|
|
275
|
+
- lib/algolia/models/agent-studio/feedback_update_request.rb
|
|
276
|
+
- lib/algolia/models/agent-studio/forwarded_props.rb
|
|
277
|
+
- lib/algolia/models/agent-studio/function_call_agui.rb
|
|
278
|
+
- lib/algolia/models/agent-studio/guardrail_outcome.rb
|
|
279
|
+
- lib/algolia/models/agent-studio/guardrail_violation_data_v5.rb
|
|
252
280
|
- lib/algolia/models/agent-studio/ignore_plurals_union.rb
|
|
281
|
+
- lib/algolia/models/agent-studio/impact_analytics.rb
|
|
253
282
|
- lib/algolia/models/agent-studio/index_search_parameters.rb
|
|
283
|
+
- lib/algolia/models/agent-studio/input_union.rb
|
|
254
284
|
- lib/algolia/models/agent-studio/inside_bounding_box_union.rb
|
|
255
285
|
- lib/algolia/models/agent-studio/inside_polygon_union.rb
|
|
286
|
+
- lib/algolia/models/agent-studio/items_union.rb
|
|
287
|
+
- lib/algolia/models/agent-studio/items_union_agui_completion_request.rb
|
|
256
288
|
- lib/algolia/models/agent-studio/location_item_union.rb
|
|
289
|
+
- lib/algolia/models/agent-studio/managed_provider_response_input.rb
|
|
257
290
|
- lib/algolia/models/agent-studio/mcp_server_tool_config.rb
|
|
258
291
|
- lib/algolia/models/agent-studio/mcp_tool_config.rb
|
|
259
292
|
- lib/algolia/models/agent-studio/memory_record.rb
|
|
260
293
|
- lib/algolia/models/agent-studio/memory_type.rb
|
|
294
|
+
- lib/algolia/models/agent-studio/message_event.rb
|
|
261
295
|
- lib/algolia/models/agent-studio/message_part.rb
|
|
296
|
+
- lib/algolia/models/agent-studio/message_part_assistant_message_agui.rb
|
|
262
297
|
- lib/algolia/models/agent-studio/message_response.rb
|
|
263
298
|
- lib/algolia/models/agent-studio/message_role.rb
|
|
264
299
|
- lib/algolia/models/agent-studio/message_v4.rb
|
|
265
300
|
- lib/algolia/models/agent-studio/message_v5.rb
|
|
266
301
|
- lib/algolia/models/agent-studio/messages_union.rb
|
|
302
|
+
- lib/algolia/models/agent-studio/mode_enum.rb
|
|
267
303
|
- lib/algolia/models/agent-studio/number_param.rb
|
|
268
304
|
- lib/algolia/models/agent-studio/number_param_constraint.rb
|
|
269
305
|
- lib/algolia/models/agent-studio/numeric_filters_union.rb
|
|
306
|
+
- lib/algolia/models/agent-studio/one_of_enum.rb
|
|
270
307
|
- lib/algolia/models/agent-studio/open_ai_compatible_provider_input.rb
|
|
271
308
|
- lib/algolia/models/agent-studio/open_ai_provider_input.rb
|
|
272
309
|
- lib/algolia/models/agent-studio/optional_filters_union.rb
|
|
@@ -284,7 +321,9 @@ files:
|
|
|
284
321
|
- lib/algolia/models/agent-studio/provider_name.rb
|
|
285
322
|
- lib/algolia/models/agent-studio/query_type.rb
|
|
286
323
|
- lib/algolia/models/agent-studio/re_ranking_apply_filter_union.rb
|
|
324
|
+
- lib/algolia/models/agent-studio/reasoning_message_agui.rb
|
|
287
325
|
- lib/algolia/models/agent-studio/reasoning_part.rb
|
|
326
|
+
- lib/algolia/models/agent-studio/reasoning_part_agui.rb
|
|
288
327
|
- lib/algolia/models/agent-studio/reasoning_part_v4.rb
|
|
289
328
|
- lib/algolia/models/agent-studio/reasoning_part_v5.rb
|
|
290
329
|
- lib/algolia/models/agent-studio/remove_stop_words_union.rb
|
|
@@ -296,22 +335,33 @@ files:
|
|
|
296
335
|
- lib/algolia/models/agent-studio/secret_key_response.rb
|
|
297
336
|
- lib/algolia/models/agent-studio/start_part.rb
|
|
298
337
|
- lib/algolia/models/agent-studio/start_step_part.rb
|
|
338
|
+
- lib/algolia/models/agent-studio/status_enum.rb
|
|
299
339
|
- lib/algolia/models/agent-studio/step_start_part_v4.rb
|
|
300
340
|
- lib/algolia/models/agent-studio/step_start_part_v5.rb
|
|
301
341
|
- lib/algolia/models/agent-studio/string_array_param.rb
|
|
302
342
|
- lib/algolia/models/agent-studio/string_array_param_constraint.rb
|
|
303
343
|
- lib/algolia/models/agent-studio/supported_language.rb
|
|
304
344
|
- lib/algolia/models/agent-studio/tag_filters_union.rb
|
|
345
|
+
- lib/algolia/models/agent-studio/task_kind.rb
|
|
346
|
+
- lib/algolia/models/agent-studio/task_request.rb
|
|
347
|
+
- lib/algolia/models/agent-studio/task_response.rb
|
|
305
348
|
- lib/algolia/models/agent-studio/text_param.rb
|
|
306
349
|
- lib/algolia/models/agent-studio/text_part.rb
|
|
350
|
+
- lib/algolia/models/agent-studio/text_part_agui.rb
|
|
307
351
|
- lib/algolia/models/agent-studio/text_part_v4.rb
|
|
308
352
|
- lib/algolia/models/agent-studio/text_part_v5.rb
|
|
353
|
+
- lib/algolia/models/agent-studio/tool_approval_agui.rb
|
|
309
354
|
- lib/algolia/models/agent-studio/tool_approval_request_part.rb
|
|
355
|
+
- lib/algolia/models/agent-studio/tool_call_agui.rb
|
|
310
356
|
- lib/algolia/models/agent-studio/tool_call_part.rb
|
|
311
|
-
- lib/algolia/models/agent-studio/
|
|
357
|
+
- lib/algolia/models/agent-studio/tool_call_part_agui.rb
|
|
358
|
+
- lib/algolia/models/agent-studio/tool_call_result_part_agui.rb
|
|
312
359
|
- lib/algolia/models/agent-studio/tool_config_input.rb
|
|
360
|
+
- lib/algolia/models/agent-studio/tool_config_or_boolean_union.rb
|
|
361
|
+
- lib/algolia/models/agent-studio/tool_config_output.rb
|
|
313
362
|
- lib/algolia/models/agent-studio/tool_invocation_part_v4.rb
|
|
314
363
|
- lib/algolia/models/agent-studio/tool_invocation_v4.rb
|
|
364
|
+
- lib/algolia/models/agent-studio/tool_message_agui.rb
|
|
315
365
|
- lib/algolia/models/agent-studio/tool_part_v5.rb
|
|
316
366
|
- lib/algolia/models/agent-studio/tool_result_output.rb
|
|
317
367
|
- lib/algolia/models/agent-studio/tool_result_output_type.rb
|
|
@@ -321,11 +371,14 @@ files:
|
|
|
321
371
|
- lib/algolia/models/agent-studio/typo_tolerance_union.rb
|
|
322
372
|
- lib/algolia/models/agent-studio/unknown_tool_config.rb
|
|
323
373
|
- lib/algolia/models/agent-studio/user_data_response.rb
|
|
374
|
+
- lib/algolia/models/agent-studio/user_message_agui.rb
|
|
375
|
+
- lib/algolia/models/agent-studio/user_message_metadata_agui.rb
|
|
324
376
|
- lib/algolia/models/agent-studio/user_message_metadata_v5.rb
|
|
325
377
|
- lib/algolia/models/agent-studio/user_message_v4.rb
|
|
326
378
|
- lib/algolia/models/agent-studio/user_message_v5.rb
|
|
327
379
|
- lib/algolia/models/agent-studio/validation_error.rb
|
|
328
380
|
- lib/algolia/models/agent-studio/vote_enum.rb
|
|
381
|
+
- lib/algolia/models/agent-studio/xai_provider_input.rb
|
|
329
382
|
- lib/algolia/models/analytics/bin_edge.rb
|
|
330
383
|
- lib/algolia/models/analytics/catalog.rb
|
|
331
384
|
- lib/algolia/models/analytics/catalog_entry.rb
|
|
@@ -439,6 +492,8 @@ files:
|
|
|
439
492
|
- lib/algolia/models/composition/external_injected_item.rb
|
|
440
493
|
- lib/algolia/models/composition/external_injection.rb
|
|
441
494
|
- lib/algolia/models/composition/external_ordering.rb
|
|
495
|
+
- lib/algolia/models/composition/external_provider.rb
|
|
496
|
+
- lib/algolia/models/composition/external_provider_ordering.rb
|
|
442
497
|
- lib/algolia/models/composition/facet_filters.rb
|
|
443
498
|
- lib/algolia/models/composition/facet_hits.rb
|
|
444
499
|
- lib/algolia/models/composition/facet_ordering.rb
|
|
@@ -453,9 +508,12 @@ files:
|
|
|
453
508
|
- lib/algolia/models/composition/ignore_plurals.rb
|
|
454
509
|
- lib/algolia/models/composition/index_settings_facets.rb
|
|
455
510
|
- lib/algolia/models/composition/injected_item_external.rb
|
|
511
|
+
- lib/algolia/models/composition/injected_item_external_provider.rb
|
|
512
|
+
- lib/algolia/models/composition/injected_item_external_provider_source.rb
|
|
456
513
|
- lib/algolia/models/composition/injected_item_external_source.rb
|
|
457
514
|
- lib/algolia/models/composition/injected_item_hits_metadata.rb
|
|
458
515
|
- lib/algolia/models/composition/injected_item_metadata.rb
|
|
516
|
+
- lib/algolia/models/composition/injected_item_recommend.rb
|
|
459
517
|
- lib/algolia/models/composition/injected_item_recommend_source.rb
|
|
460
518
|
- lib/algolia/models/composition/injected_item_search.rb
|
|
461
519
|
- lib/algolia/models/composition/injected_item_search_source.rb
|
|
@@ -463,14 +521,16 @@ files:
|
|
|
463
521
|
- lib/algolia/models/composition/injection.rb
|
|
464
522
|
- lib/algolia/models/composition/injection_injected_item.rb
|
|
465
523
|
- lib/algolia/models/composition/injection_main.rb
|
|
524
|
+
- lib/algolia/models/composition/injection_main_external_provider.rb
|
|
525
|
+
- lib/algolia/models/composition/injection_main_external_provider_source.rb
|
|
526
|
+
- lib/algolia/models/composition/injection_main_recommend.rb
|
|
466
527
|
- lib/algolia/models/composition/injection_main_recommend_source.rb
|
|
528
|
+
- lib/algolia/models/composition/injection_main_search.rb
|
|
467
529
|
- lib/algolia/models/composition/injection_main_search_source.rb
|
|
468
530
|
- lib/algolia/models/composition/injection_main_source.rb
|
|
469
531
|
- lib/algolia/models/composition/inside_bounding_box.rb
|
|
470
532
|
- lib/algolia/models/composition/list_compositions_response.rb
|
|
471
533
|
- lib/algolia/models/composition/main_injection_query_parameters.rb
|
|
472
|
-
- lib/algolia/models/composition/main_recommend.rb
|
|
473
|
-
- lib/algolia/models/composition/main_search.rb
|
|
474
534
|
- lib/algolia/models/composition/match_level.rb
|
|
475
535
|
- lib/algolia/models/composition/matched_geo_location.rb
|
|
476
536
|
- lib/algolia/models/composition/model.rb
|
|
@@ -482,9 +542,9 @@ files:
|
|
|
482
542
|
- lib/algolia/models/composition/optional_words.rb
|
|
483
543
|
- lib/algolia/models/composition/params.rb
|
|
484
544
|
- lib/algolia/models/composition/personalization.rb
|
|
545
|
+
- lib/algolia/models/composition/processing_error.rb
|
|
485
546
|
- lib/algolia/models/composition/query_type.rb
|
|
486
547
|
- lib/algolia/models/composition/range.rb
|
|
487
|
-
- lib/algolia/models/composition/recommend.rb
|
|
488
548
|
- lib/algolia/models/composition/redirect.rb
|
|
489
549
|
- lib/algolia/models/composition/redirect_rule_index_data.rb
|
|
490
550
|
- lib/algolia/models/composition/redirect_rule_index_metadata.rb
|
|
@@ -493,6 +553,7 @@ files:
|
|
|
493
553
|
- lib/algolia/models/composition/remove_words_if_no_results.rb
|
|
494
554
|
- lib/algolia/models/composition/rendering_content.rb
|
|
495
555
|
- lib/algolia/models/composition/request_body.rb
|
|
556
|
+
- lib/algolia/models/composition/result_card.rb
|
|
496
557
|
- lib/algolia/models/composition/results_composition_info_response.rb
|
|
497
558
|
- lib/algolia/models/composition/results_injected_item_applied_rules_info_response.rb
|
|
498
559
|
- lib/algolia/models/composition/results_injected_item_info_response.rb
|
|
@@ -802,6 +863,7 @@ files:
|
|
|
802
863
|
- lib/algolia/models/recommend/remove_stop_words.rb
|
|
803
864
|
- lib/algolia/models/recommend/remove_words_if_no_results.rb
|
|
804
865
|
- lib/algolia/models/recommend/rendering_content.rb
|
|
866
|
+
- lib/algolia/models/recommend/result_card.rb
|
|
805
867
|
- lib/algolia/models/recommend/rule_metadata.rb
|
|
806
868
|
- lib/algolia/models/recommend/search_recommend_rules_params.rb
|
|
807
869
|
- lib/algolia/models/recommend/search_recommend_rules_response.rb
|
|
@@ -833,6 +895,7 @@ files:
|
|
|
833
895
|
- lib/algolia/models/search/around_radius.rb
|
|
834
896
|
- lib/algolia/models/search/around_radius_all.rb
|
|
835
897
|
- lib/algolia/models/search/assign_user_id_params.rb
|
|
898
|
+
- lib/algolia/models/search/attribute_criteria_computed_by.rb
|
|
836
899
|
- lib/algolia/models/search/attribute_to_update.rb
|
|
837
900
|
- lib/algolia/models/search/auto_filtering_filter_entry.rb
|
|
838
901
|
- lib/algolia/models/search/auto_filtering_result.rb
|
|
@@ -951,6 +1014,7 @@ files:
|
|
|
951
1014
|
- lib/algolia/models/search/replace_all_objects_with_transformation_response.rb
|
|
952
1015
|
- lib/algolia/models/search/replace_source_response.rb
|
|
953
1016
|
- lib/algolia/models/search/response_extensions.rb
|
|
1017
|
+
- lib/algolia/models/search/result_card.rb
|
|
954
1018
|
- lib/algolia/models/search/rule.rb
|
|
955
1019
|
- lib/algolia/models/search/save_object_response.rb
|
|
956
1020
|
- lib/algolia/models/search/save_synonym_response.rb
|
|
@@ -1010,6 +1074,7 @@ files:
|
|
|
1010
1074
|
- lib/algolia/transport/echo_requester.rb
|
|
1011
1075
|
- lib/algolia/transport/http/http_requester.rb
|
|
1012
1076
|
- lib/algolia/transport/http/response.rb
|
|
1077
|
+
- lib/algolia/transport/request_id.rb
|
|
1013
1078
|
- lib/algolia/transport/request_options.rb
|
|
1014
1079
|
- lib/algolia/transport/retry_outcome_type.rb
|
|
1015
1080
|
- lib/algolia/transport/retry_strategy.rb
|
|
@@ -1038,7 +1103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1038
1103
|
- !ruby/object:Gem::Version
|
|
1039
1104
|
version: '0'
|
|
1040
1105
|
requirements: []
|
|
1041
|
-
rubygems_version: 4.0.
|
|
1106
|
+
rubygems_version: 4.0.20
|
|
1042
1107
|
specification_version: 4
|
|
1043
1108
|
summary: A simple Ruby client for the algolia.com REST API
|
|
1044
1109
|
test_files: []
|