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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 328e8475c7136afd5c3ecb2e096a3c7cbeeaccc7fe1f00e46ef1f0d761ba5371
|
|
4
|
+
data.tar.gz: 6191e28670fce3448e29aa71b1d348ff9fa033e726101e5e7d67a024bd9592e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 164520f8480480fd77846475b8fbe0c71d61b9180564f132835ef7d9a7ca471ab82f6737ca354f7bba0d0c4a4b8fcab5149874c5b8fd4a26bef7fb6aba14e26f
|
|
7
|
+
data.tar.gz: 9e4c5bfd50ce5ec2e98efe1a7fbe55316ff640e542035871085bb92903bbd89d55f8ade740a4ae8a470ee066c102a6c5589fe2fbde8e12610548969075627c6b
|
data/.github/workflows/issue.yml
CHANGED
|
@@ -3,9 +3,8 @@ on:
|
|
|
3
3
|
issues:
|
|
4
4
|
types: [opened]
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
contents: read
|
|
6
|
+
# the sync script only reads the event payload and calls the Jira API with its own token
|
|
7
|
+
permissions: {}
|
|
9
8
|
|
|
10
9
|
jobs:
|
|
11
10
|
sync:
|
|
@@ -13,6 +12,9 @@ jobs:
|
|
|
13
12
|
steps:
|
|
14
13
|
- name: Create ticket
|
|
15
14
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
15
|
+
env:
|
|
16
|
+
# env indirection so the secret is never materialized into the composed script
|
|
17
|
+
JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }}
|
|
16
18
|
with:
|
|
17
19
|
script: |
|
|
18
20
|
const action = context.payload.action;
|
|
@@ -27,7 +29,7 @@ jobs:
|
|
|
27
29
|
headers: {
|
|
28
30
|
'Accept': 'application/json',
|
|
29
31
|
'Content-Type': 'application/json',
|
|
30
|
-
'Authorization': `Basic ${
|
|
32
|
+
'Authorization': `Basic ${process.env.JIRA_TOKEN}`
|
|
31
33
|
},
|
|
32
34
|
body: JSON.stringify({
|
|
33
35
|
fields: {
|
|
@@ -19,11 +19,11 @@ jobs:
|
|
|
19
19
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
20
20
|
|
|
21
21
|
- name: Install Ruby
|
|
22
|
-
uses: ruby/setup-ruby@
|
|
22
|
+
uses: ruby/setup-ruby@651ff0d62c5c79bed6d53ec518387aae20e72c1a # v1.329.0
|
|
23
23
|
with:
|
|
24
|
-
ruby-version: 4.0.
|
|
24
|
+
ruby-version: 4.0.7
|
|
25
25
|
bundler-cache: true
|
|
26
26
|
|
|
27
|
-
- uses: rubygems/release-gem@
|
|
27
|
+
- uses: rubygems/release-gem@7f9650160c1a4e7989fdc9855807bdbd421d8b6b # v1.4.1
|
|
28
28
|
with:
|
|
29
29
|
await-release: false
|
data/AGENTS.md
CHANGED
|
@@ -122,18 +122,6 @@ response['hits'] # Works
|
|
|
122
122
|
response.hits # Works if using model objects
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
### Block Syntax
|
|
126
|
-
|
|
127
|
-
```ruby
|
|
128
|
-
# Use do..end for multi-line, braces for single-line
|
|
129
|
-
client.search { |r| r.query = 'test' }
|
|
130
|
-
|
|
131
|
-
client.search do |params|
|
|
132
|
-
params.query = 'test'
|
|
133
|
-
params.hits_per_page = 10
|
|
134
|
-
end
|
|
135
|
-
```
|
|
136
|
-
|
|
137
125
|
### Error Handling
|
|
138
126
|
|
|
139
127
|
```ruby
|
|
@@ -148,18 +136,6 @@ rescue Algolia::ApiError => e
|
|
|
148
136
|
end
|
|
149
137
|
```
|
|
150
138
|
|
|
151
|
-
### Nil Safety
|
|
152
|
-
|
|
153
|
-
```ruby
|
|
154
|
-
# Use safe navigation
|
|
155
|
-
result&.hits&.first&.object_id
|
|
156
|
-
|
|
157
|
-
# Or explicit checks
|
|
158
|
-
if result && result.hits && result.hits.any?
|
|
159
|
-
result.hits.first.object_id
|
|
160
|
-
end
|
|
161
|
-
```
|
|
162
|
-
|
|
163
139
|
### Deprecated Operations
|
|
164
140
|
|
|
165
141
|
Some operations in `ingestion_client.rb` and `search_client.rb` are deprecated. Check method documentation before use.
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,53 @@
|
|
|
1
|
+
## [3.46.1](https://github.com/algolia/algoliasearch-client-ruby/compare/3.46.0...3.46.1)
|
|
2
|
+
|
|
3
|
+
- [f2854eb518](https://github.com/algolia/api-clients-automation/commit/f2854eb518) chore(ci): bump ruby/setup-ruby to v1.329.0 to support Ruby 4.0.7 ([#7142](https://github.com/algolia/api-clients-automation/pull/7142)) by [@Fluf22](https://github.com/Fluf22/)
|
|
4
|
+
|
|
5
|
+
## [3.46.0](https://github.com/algolia/algoliasearch-client-ruby/compare/3.45.0...3.46.0)
|
|
6
|
+
|
|
7
|
+
BREAKING CHANGES: this minor version includes breaking changes (A/B Testing V3 API, Agent Studio API). See below for more details.
|
|
8
|
+
|
|
9
|
+
- [ba46df188a](https://github.com/algolia/api-clients-automation/commit/ba46df188a) feat(clients): wait and retry on 429 with Retry-After ([#7062](https://github.com/algolia/api-clients-automation/pull/7062)) by [@MarioAlexandruDan](https://github.com/MarioAlexandruDan/)
|
|
10
|
+
- [41ed59956a](https://github.com/algolia/api-clients-automation/commit/41ed59956a) fix(specs): clarify when _extra and _injectedItemKey are present on hits ([#7031](https://github.com/algolia/api-clients-automation/pull/7031)) by [@charlottetaylor-oss](https://github.com/charlottetaylor-oss/)
|
|
11
|
+
- [987444f36d](https://github.com/algolia/api-clients-automation/commit/987444f36d) fix(specs): clarify addItemKey description in injectedItem metadata ([#7029](https://github.com/algolia/api-clients-automation/pull/7029)) by [@charlottetaylor-oss](https://github.com/charlottetaylor-oss/)
|
|
12
|
+
- [f6a0478eec](https://github.com/algolia/api-clients-automation/commit/f6a0478eec) docs(specs): update analytics catalog entitlement example ([#7028](https://github.com/algolia/api-clients-automation/pull/7028)) by [@cdhawke](https://github.com/cdhawke/)
|
|
13
|
+
- [5da059b7ae](https://github.com/algolia/api-clients-automation/commit/5da059b7ae) feat(specs): add A/B test settings endpoints to abtesting-v3 ([#6786](https://github.com/algolia/api-clients-automation/pull/6786)) by [@stevenMevans](https://github.com/stevenMevans/)
|
|
14
|
+
- [f89fe94db5](https://github.com/algolia/api-clients-automation/commit/f89fe94db5) fix(clients): send request bodies with Content-Length instead of chunked encoding ([#7069](https://github.com/algolia/api-clients-automation/pull/7069)) by [@Fluf22](https://github.com/Fluf22/)
|
|
15
|
+
- [461575c4a4](https://github.com/algolia/api-clients-automation/commit/461575c4a4) feat(specs): add A/B testing hypothesis ([#6829](https://github.com/algolia/api-clients-automation/pull/6829)) by [@leonardogavaudan](https://github.com/leonardogavaudan/)
|
|
16
|
+
- [b58c40832b](https://github.com/algolia/api-clients-automation/commit/b58c40832b) fix(specs): BREAKING CHANGE - make AB test pValue optional ([#7066](https://github.com/algolia/api-clients-automation/pull/7066)) by [@stevenMevans](https://github.com/stevenMevans/)
|
|
17
|
+
- `pValue` is now optional in the A/B test models. Update code that reads it as a required value.
|
|
18
|
+
- [4cab83c8b1](https://github.com/algolia/api-clients-automation/commit/4cab83c8b1) feat(specs): add `externalProvider` source for CompAPI client ([#7073](https://github.com/algolia/api-clients-automation/pull/7073)) by [@ClaraMuller](https://github.com/ClaraMuller/)
|
|
19
|
+
- [b6cd822bfb](https://github.com/algolia/api-clients-automation/commit/b6cd822bfb) feat(specs): add resultCard to renderingContent widgets ([#7084](https://github.com/algolia/api-clients-automation/pull/7084)) by [@FabienMotte](https://github.com/FabienMotte/)
|
|
20
|
+
- [63c591d078](https://github.com/algolia/api-clients-automation/commit/63c591d078) refactor(specs): extract source object from behaviour object ([#7074](https://github.com/algolia/api-clients-automation/pull/7074)) by [@ClaraMuller](https://github.com/ClaraMuller/)
|
|
21
|
+
- [2ae63dbdfc](https://github.com/algolia/api-clients-automation/commit/2ae63dbdfc) docs: improve AGENTS.md agent context ([#7085](https://github.com/algolia/api-clients-automation/pull/7085)) by [@Fluf22](https://github.com/Fluf22/)
|
|
22
|
+
- [07c1b2ea15](https://github.com/algolia/api-clients-automation/commit/07c1b2ea15) fix(specs): BREAKING CHANGE – sync agent-studio OpenAPI from conversational-ai ([#6967](https://github.com/algolia/api-clients-automation/pull/6967)) by [@algolia-api-clients-automation-bot[bot]](https://github.com/apps/algolia-api-clients-automation-bot)
|
|
23
|
+
- The Agent Studio specs were updated to match the API behaviour, which may require updating your implementation:
|
|
24
|
+
- `createAgentCompletion`: the body type changed from `AgentCompletionRequest` to `AgentCompletionRequestUnion`.
|
|
25
|
+
- `createAgent`, `updateAgent`, `getAgent`: tool config models were renamed or merged (`AlgoliaDisplayResultsToolConfig` is now `AlgoliaGroupedResultsToolConfig`, `AlgoliaRecommendToolConfigInput`/`Output` are now `AlgoliaRecommendToolConfig`, `ToolConfig` is now `ToolConfigOrBooleanUnion`).
|
|
26
|
+
- The memory request models `MessagesUnionAgentConsolidateRequest`, `MessagesUnionAgentMemorizeRequest` and `MessagesUnionAgentPonderRequest` were removed.
|
|
27
|
+
- [a41727d2e1](https://github.com/algolia/api-clients-automation/commit/a41727d2e1) chore(deps): dependencies 2026-09-21 ([#7068](https://github.com/algolia/api-clients-automation/pull/7068)) by [@algolia-api-clients-automation-bot[bot]](https://github.com/apps/algolia-api-clients-automation-bot)
|
|
28
|
+
- [9a6faf38f6](https://github.com/algolia/api-clients-automation/commit/9a6faf38f6) fix(specs): correct links to Algolia docs ([#7134](https://github.com/algolia/api-clients-automation/pull/7134)) by [@kai687](https://github.com/kai687/)
|
|
29
|
+
- [329efbae3b](https://github.com/algolia/api-clients-automation/commit/329efbae3b) fix(specs): update allowed value for externalProvider source ordering field ([#7131](https://github.com/algolia/api-clients-automation/pull/7131)) by [@aiordache](https://github.com/aiordache/)
|
|
30
|
+
|
|
31
|
+
## [3.45.0](https://github.com/algolia/algoliasearch-client-ruby/compare/3.44.0...3.45.0)
|
|
32
|
+
|
|
33
|
+
BREAKING CHANGES: this minor version includes breaking changes in the A/B Testing V3 API. See below for more details.
|
|
34
|
+
|
|
35
|
+
- [c974374aff](https://github.com/algolia/api-clients-automation/commit/c974374aff) feat(ruby): Request-ID and Correlation-ID support ([#6877](https://github.com/algolia/api-clients-automation/pull/6877)) by [@MarioAlexandruDan](https://github.com/MarioAlexandruDan/)
|
|
36
|
+
- [e4a6ab510a](https://github.com/algolia/api-clients-automation/commit/e4a6ab510a) chore(ci): fail CI if a personal access token secret is referenced ([#6919](https://github.com/algolia/api-clients-automation/pull/6919)) by [@eric-zaharia](https://github.com/eric-zaharia/)
|
|
37
|
+
- [085364de00](https://github.com/algolia/api-clients-automation/commit/085364de00) feat(specs): deprecates /2 abtests endpoints ([#6921](https://github.com/algolia/api-clients-automation/pull/6921)) by [@Niamsy](https://github.com/Niamsy/)
|
|
38
|
+
- [32c1aaa192](https://github.com/algolia/api-clients-automation/commit/32c1aaa192) chore(deps): dependencies 2026-08-24 ([#6922](https://github.com/algolia/api-clients-automation/pull/6922)) by [@algolia-api-clients-automation-bot[bot]](https://github.com/apps/algolia-api-clients-automation-bot)
|
|
39
|
+
- [28aa13de2e](https://github.com/algolia/api-clients-automation/commit/28aa13de2e) fix(clients): support guzzlehttp/psr7 v3 ([#6945](https://github.com/algolia/api-clients-automation/pull/6945)) by [@eric-zaharia](https://github.com/eric-zaharia/)
|
|
40
|
+
- [b4c4109163](https://github.com/algolia/api-clients-automation/commit/b4c4109163) fix(specs): flag analytics patterns endpoints with x-beta ([#6954](https://github.com/algolia/api-clients-automation/pull/6954)) by [@cdhawke](https://github.com/cdhawke/)
|
|
41
|
+
- [8317b3a8ef](https://github.com/algolia/api-clients-automation/commit/8317b3a8ef) feat(specs): BREAKING CHANGE – remove migratedAbTestID from abtesting-v3 ([#6883](https://github.com/algolia/api-clients-automation/pull/6883)) by [@cdhawke](https://github.com/cdhawke/)
|
|
42
|
+
- [808f5ebcea](https://github.com/algolia/api-clients-automation/commit/808f5ebcea) fix(ruby): keep millisecond precision when converting timeouts to seconds ([#6946](https://github.com/algolia/api-clients-automation/pull/6946)) by [@MarioAlexandruDan](https://github.com/MarioAlexandruDan/)
|
|
43
|
+
|
|
44
|
+
## [3.44.0](https://github.com/algolia/algoliasearch-client-ruby/compare/3.43.0...3.44.0)
|
|
45
|
+
|
|
46
|
+
- [c974374aff](https://github.com/algolia/api-clients-automation/commit/c974374aff) feat(ruby): Request-ID and Correlation-ID support ([#6877](https://github.com/algolia/api-clients-automation/pull/6877)) by [@MarioAlexandruDan](https://github.com/MarioAlexandruDan/)
|
|
47
|
+
- [e4a6ab510a](https://github.com/algolia/api-clients-automation/commit/e4a6ab510a) chore(ci): fail CI if a personal access token secret is referenced ([#6919](https://github.com/algolia/api-clients-automation/pull/6919)) by [@eric-zaharia](https://github.com/eric-zaharia/)
|
|
48
|
+
- [085364de00](https://github.com/algolia/api-clients-automation/commit/085364de00) feat(specs): deprecates /2 abtests endpoints ([#6921](https://github.com/algolia/api-clients-automation/pull/6921)) by [@Niamsy](https://github.com/Niamsy/)
|
|
49
|
+
- [32c1aaa192](https://github.com/algolia/api-clients-automation/commit/32c1aaa192) chore(deps): dependencies 2026-08-24 ([#6922](https://github.com/algolia/api-clients-automation/pull/6922)) by [@algolia-api-clients-automation-bot[bot]](https://github.com/apps/algolia-api-clients-automation-bot)
|
|
50
|
+
|
|
1
51
|
## [3.43.0](https://github.com/algolia/algoliasearch-client-ruby/compare/3.42.3...3.43.0)
|
|
2
52
|
|
|
3
53
|
- [3bee6d1dee](https://github.com/algolia/api-clients-automation/commit/3bee6d1dee) chore(ci): pin all GitHub Action refs to commit SHAs (API-475) ([#6819](https://github.com/algolia/api-clients-automation/pull/6819)) by [@MarioAlexandruDan](https://github.com/MarioAlexandruDan/)
|
data/Gemfile.lock
CHANGED
|
@@ -23,7 +23,8 @@ module Algolia
|
|
|
23
23
|
config.write_timeout = 30000
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
# Per-client capability; an explicit config.request_id_enabled always wins.
|
|
27
|
+
@api_client = Algolia::ApiClient.new(config, request_id_support: false)
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
def self.create(app_id, api_key, region = nil, opts = {})
|
|
@@ -69,10 +70,11 @@ module Algolia
|
|
|
69
70
|
self
|
|
70
71
|
end
|
|
71
72
|
|
|
72
|
-
# Creates a new A/B test.
|
|
73
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests`. Creates a new A/B test.
|
|
73
74
|
#
|
|
74
75
|
# Required API Key ACLs:
|
|
75
76
|
# - editSettings
|
|
77
|
+
# THIS OPERATION IS DEPRECATED
|
|
76
78
|
# @param add_ab_tests_request [AddABTestsRequest] (required)
|
|
77
79
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
78
80
|
# @return [Http::Response] the response
|
|
@@ -101,7 +103,7 @@ module Algolia
|
|
|
101
103
|
@api_client.call_api(:POST, path, new_options)
|
|
102
104
|
end
|
|
103
105
|
|
|
104
|
-
# Creates a new A/B test.
|
|
106
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests`. Creates a new A/B test.
|
|
105
107
|
#
|
|
106
108
|
# Required API Key ACLs:
|
|
107
109
|
# - editSettings
|
|
@@ -305,10 +307,11 @@ module Algolia
|
|
|
305
307
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Object")
|
|
306
308
|
end
|
|
307
309
|
|
|
308
|
-
# Deletes an A/B test by its ID.
|
|
310
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `DELETE /3/abtests/{id}`. Deletes an A/B test by its ID.
|
|
309
311
|
#
|
|
310
312
|
# Required API Key ACLs:
|
|
311
313
|
# - editSettings
|
|
314
|
+
# THIS OPERATION IS DEPRECATED
|
|
312
315
|
# @param id [Integer] Unique A/B test identifier. (required)
|
|
313
316
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
314
317
|
# @return [Http::Response] the response
|
|
@@ -337,7 +340,7 @@ module Algolia
|
|
|
337
340
|
@api_client.call_api(:DELETE, path, new_options)
|
|
338
341
|
end
|
|
339
342
|
|
|
340
|
-
# Deletes an A/B test by its ID.
|
|
343
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `DELETE /3/abtests/{id}`. Deletes an A/B test by its ID.
|
|
341
344
|
#
|
|
342
345
|
# Required API Key ACLs:
|
|
343
346
|
# - editSettings
|
|
@@ -349,10 +352,11 @@ module Algolia
|
|
|
349
352
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTestResponse")
|
|
350
353
|
end
|
|
351
354
|
|
|
352
|
-
# Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.
|
|
355
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests/estimate`. Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.
|
|
353
356
|
#
|
|
354
357
|
# Required API Key ACLs:
|
|
355
358
|
# - analytics
|
|
359
|
+
# THIS OPERATION IS DEPRECATED
|
|
356
360
|
# @param estimate_ab_test_request [EstimateABTestRequest] (required)
|
|
357
361
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
358
362
|
# @return [Http::Response] the response
|
|
@@ -381,7 +385,7 @@ module Algolia
|
|
|
381
385
|
@api_client.call_api(:POST, path, new_options)
|
|
382
386
|
end
|
|
383
387
|
|
|
384
|
-
# Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.
|
|
388
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests/estimate`. Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.
|
|
385
389
|
#
|
|
386
390
|
# Required API Key ACLs:
|
|
387
391
|
# - analytics
|
|
@@ -393,10 +397,11 @@ module Algolia
|
|
|
393
397
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::EstimateABTestResponse")
|
|
394
398
|
end
|
|
395
399
|
|
|
396
|
-
# Retrieves the details for an A/B test by its ID.
|
|
400
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `GET /3/abtests/{id}`. Retrieves the details for an A/B test by its ID.
|
|
397
401
|
#
|
|
398
402
|
# Required API Key ACLs:
|
|
399
403
|
# - analytics
|
|
404
|
+
# THIS OPERATION IS DEPRECATED
|
|
400
405
|
# @param id [Integer] Unique A/B test identifier. (required)
|
|
401
406
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
402
407
|
# @return [Http::Response] the response
|
|
@@ -425,7 +430,7 @@ module Algolia
|
|
|
425
430
|
@api_client.call_api(:GET, path, new_options)
|
|
426
431
|
end
|
|
427
432
|
|
|
428
|
-
# Retrieves the details for an A/B test by its ID.
|
|
433
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `GET /3/abtests/{id}`. Retrieves the details for an A/B test by its ID.
|
|
429
434
|
#
|
|
430
435
|
# Required API Key ACLs:
|
|
431
436
|
# - analytics
|
|
@@ -437,10 +442,11 @@ module Algolia
|
|
|
437
442
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTest")
|
|
438
443
|
end
|
|
439
444
|
|
|
440
|
-
# Lists all A/B tests you configured for this application.
|
|
445
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `GET /3/abtests`. Lists all A/B tests you configured for this application.
|
|
441
446
|
#
|
|
442
447
|
# Required API Key ACLs:
|
|
443
448
|
# - analytics
|
|
449
|
+
# THIS OPERATION IS DEPRECATED
|
|
444
450
|
# @param offset [Integer] Position of the first item to return. (default to 0)
|
|
445
451
|
# @param limit [Integer] Number of items to return. (default to 10)
|
|
446
452
|
# @param index_prefix [String] Index name prefix. Only A/B tests for indices starting with this string are included in the response.
|
|
@@ -477,7 +483,7 @@ module Algolia
|
|
|
477
483
|
@api_client.call_api(:GET, path, new_options)
|
|
478
484
|
end
|
|
479
485
|
|
|
480
|
-
# Lists all A/B tests you configured for this application.
|
|
486
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `GET /3/abtests`. Lists all A/B tests you configured for this application.
|
|
481
487
|
#
|
|
482
488
|
# Required API Key ACLs:
|
|
483
489
|
# - analytics
|
|
@@ -492,10 +498,11 @@ module Algolia
|
|
|
492
498
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ListABTestsResponse")
|
|
493
499
|
end
|
|
494
500
|
|
|
495
|
-
# Stops an A/B test by its ID. You can't restart stopped A/B tests.
|
|
501
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests/{id}/stop`. Stops an A/B test by its ID. You can't restart stopped A/B tests.
|
|
496
502
|
#
|
|
497
503
|
# Required API Key ACLs:
|
|
498
504
|
# - editSettings
|
|
505
|
+
# THIS OPERATION IS DEPRECATED
|
|
499
506
|
# @param id [Integer] Unique A/B test identifier. (required)
|
|
500
507
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
501
508
|
# @return [Http::Response] the response
|
|
@@ -524,7 +531,7 @@ module Algolia
|
|
|
524
531
|
@api_client.call_api(:POST, path, new_options)
|
|
525
532
|
end
|
|
526
533
|
|
|
527
|
-
# Stops an A/B test by its ID. You can't restart stopped A/B tests.
|
|
534
|
+
# This endpoint is deprecated. Use the A/B Testing API v3 instead. Replaced by `POST /3/abtests/{id}/stop`. Stops an A/B test by its ID. You can't restart stopped A/B tests.
|
|
528
535
|
#
|
|
529
536
|
# Required API Key ACLs:
|
|
530
537
|
# - editSettings
|
|
@@ -23,7 +23,8 @@ module Algolia
|
|
|
23
23
|
config.write_timeout = 30000
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
# Per-client capability; an explicit config.request_id_enabled always wins.
|
|
27
|
+
@api_client = Algolia::ApiClient.new(config, request_id_support: false)
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
def self.create(app_id, api_key, region = nil, opts = {})
|
|
@@ -113,6 +114,61 @@ module Algolia
|
|
|
113
114
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "AbtestingV3::ABTestResponse")
|
|
114
115
|
end
|
|
115
116
|
|
|
117
|
+
# Applies the captured settings of the given variant to the control index. The settings must first be captured with the `saveVariantSettings` operation. To revert previously applied settings on the control index, use this operation with the control variant (variant 1). Settings can be applied up to 14 days after the A/B test ends, and reverted up to 15 days after. Later requests return `400`. Each set of captured settings can only be applied once, and settings that were reverted can't be applied again. Both cases return `400`. The control index must not be in use by an active A/B test. Otherwise, the request returns `422`.
|
|
118
|
+
#
|
|
119
|
+
# Required API Key ACLs:
|
|
120
|
+
# - analytics
|
|
121
|
+
# - editSettings
|
|
122
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
123
|
+
# @param variant_id [Integer] One-based index of the A/B test variant. The control is variant 1. (required)
|
|
124
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
125
|
+
# @return [Http::Response] the response
|
|
126
|
+
def apply_variant_settings_with_http_info(id, variant_id, request_options = {})
|
|
127
|
+
# verify the required parameter 'id' is set
|
|
128
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
129
|
+
raise ArgumentError, "Parameter `id` is required when calling `apply_variant_settings`."
|
|
130
|
+
end
|
|
131
|
+
# verify the required parameter 'variant_id' is set
|
|
132
|
+
if @api_client.config.client_side_validation && variant_id.nil?
|
|
133
|
+
raise ArgumentError, "Parameter `variant_id` is required when calling `apply_variant_settings`."
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
path = "/3/abtests/{id}/settings/{variantId}/apply".sub("{" + "id" + "}", Transport.encode_uri(id.to_s)).sub(
|
|
137
|
+
"{" + "variantId" + "}",
|
|
138
|
+
Transport.encode_uri(variant_id.to_s)
|
|
139
|
+
)
|
|
140
|
+
query_params = {}
|
|
141
|
+
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
142
|
+
header_params = {}
|
|
143
|
+
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
144
|
+
|
|
145
|
+
post_body = request_options[:debug_body]
|
|
146
|
+
|
|
147
|
+
new_options = request_options.merge(
|
|
148
|
+
:operation => :"AbtestingV3Client.apply_variant_settings",
|
|
149
|
+
:header_params => header_params,
|
|
150
|
+
:query_params => query_params,
|
|
151
|
+
:body => post_body,
|
|
152
|
+
:use_read_transporter => false
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
@api_client.call_api(:POST, path, new_options)
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Applies the captured settings of the given variant to the control index. The settings must first be captured with the `saveVariantSettings` operation. To revert previously applied settings on the control index, use this operation with the control variant (variant 1). Settings can be applied up to 14 days after the A/B test ends, and reverted up to 15 days after. Later requests return `400`. Each set of captured settings can only be applied once, and settings that were reverted can't be applied again. Both cases return `400`. The control index must not be in use by an active A/B test. Otherwise, the request returns `422`.
|
|
159
|
+
#
|
|
160
|
+
# Required API Key ACLs:
|
|
161
|
+
# - analytics
|
|
162
|
+
# - editSettings
|
|
163
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
164
|
+
# @param variant_id [Integer] One-based index of the A/B test variant. The control is variant 1. (required)
|
|
165
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
166
|
+
# @return [nil]
|
|
167
|
+
def apply_variant_settings(id, variant_id, request_options = {})
|
|
168
|
+
apply_variant_settings_with_http_info(id, variant_id, request_options)
|
|
169
|
+
nil
|
|
170
|
+
end
|
|
171
|
+
|
|
116
172
|
# This method lets you send requests to the Algolia REST API.
|
|
117
173
|
|
|
118
174
|
# @param path [String] Path of the endpoint, for example `1/newFeature`. (required)
|
|
@@ -401,9 +457,10 @@ module Algolia
|
|
|
401
457
|
# Required API Key ACLs:
|
|
402
458
|
# - analytics
|
|
403
459
|
# @param id [Integer] Unique A/B test identifier. (required)
|
|
460
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
404
461
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
405
462
|
# @return [Http::Response] the response
|
|
406
|
-
def get_ab_test_with_http_info(id, request_options = {})
|
|
463
|
+
def get_ab_test_with_http_info(id, methods = nil, request_options = {})
|
|
407
464
|
# verify the required parameter 'id' is set
|
|
408
465
|
if @api_client.config.client_side_validation && id.nil?
|
|
409
466
|
raise ArgumentError, "Parameter `id` is required when calling `get_ab_test`."
|
|
@@ -411,6 +468,7 @@ module Algolia
|
|
|
411
468
|
|
|
412
469
|
path = "/3/abtests/{id}".sub("{" + "id" + "}", Transport.encode_uri(id.to_s))
|
|
413
470
|
query_params = {}
|
|
471
|
+
query_params[:methods] = @api_client.build_collection_param(methods, :csv) unless methods.nil?
|
|
414
472
|
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
415
473
|
header_params = {}
|
|
416
474
|
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
@@ -433,13 +491,61 @@ module Algolia
|
|
|
433
491
|
# Required API Key ACLs:
|
|
434
492
|
# - analytics
|
|
435
493
|
# @param id [Integer] Unique A/B test identifier. (required)
|
|
494
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
436
495
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
437
496
|
# @return [ABTest]
|
|
438
|
-
def get_ab_test(id, request_options = {})
|
|
439
|
-
response = get_ab_test_with_http_info(id, request_options)
|
|
497
|
+
def get_ab_test(id, methods = nil, request_options = {})
|
|
498
|
+
response = get_ab_test_with_http_info(id, methods, request_options)
|
|
440
499
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "AbtestingV3::ABTest")
|
|
441
500
|
end
|
|
442
501
|
|
|
502
|
+
# Retrieves the settings captured for each variant of an A/B test, and whether another active A/B test is using the control index. Settings are captured by the `saveVariantSettings` operation. The response includes an entry for the control (variant 1) alongside the captured variant, so the control's original configuration can be restored later. Returns `404` if the A/B test doesn't exist or no settings have been captured for it.
|
|
503
|
+
#
|
|
504
|
+
# Required API Key ACLs:
|
|
505
|
+
# - analytics
|
|
506
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
507
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
508
|
+
# @return [Http::Response] the response
|
|
509
|
+
def get_ab_test_settings_with_http_info(id, request_options = {})
|
|
510
|
+
# verify the required parameter 'id' is set
|
|
511
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
512
|
+
raise ArgumentError, "Parameter `id` is required when calling `get_ab_test_settings`."
|
|
513
|
+
end
|
|
514
|
+
|
|
515
|
+
path = "/3/abtests/{id}/settings".sub("{" + "id" + "}", Transport.encode_uri(id.to_s))
|
|
516
|
+
query_params = {}
|
|
517
|
+
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
518
|
+
header_params = {}
|
|
519
|
+
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
520
|
+
|
|
521
|
+
post_body = request_options[:debug_body]
|
|
522
|
+
|
|
523
|
+
new_options = request_options.merge(
|
|
524
|
+
:operation => :"AbtestingV3Client.get_ab_test_settings",
|
|
525
|
+
:header_params => header_params,
|
|
526
|
+
:query_params => query_params,
|
|
527
|
+
:body => post_body,
|
|
528
|
+
:use_read_transporter => false
|
|
529
|
+
)
|
|
530
|
+
|
|
531
|
+
@api_client.call_api(:GET, path, new_options)
|
|
532
|
+
end
|
|
533
|
+
|
|
534
|
+
# Retrieves the settings captured for each variant of an A/B test, and whether another active A/B test is using the control index. Settings are captured by the `saveVariantSettings` operation. The response includes an entry for the control (variant 1) alongside the captured variant, so the control's original configuration can be restored later. Returns `404` if the A/B test doesn't exist or no settings have been captured for it.
|
|
535
|
+
#
|
|
536
|
+
# Required API Key ACLs:
|
|
537
|
+
# - analytics
|
|
538
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
539
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
540
|
+
# @return [ABTestSettingsResponse]
|
|
541
|
+
def get_ab_test_settings(id, request_options = {})
|
|
542
|
+
response = get_ab_test_settings_with_http_info(id, request_options)
|
|
543
|
+
@api_client.deserialize(
|
|
544
|
+
response.body,
|
|
545
|
+
request_options[:debug_return_type] || "AbtestingV3::ABTestSettingsResponse"
|
|
546
|
+
)
|
|
547
|
+
end
|
|
548
|
+
|
|
443
549
|
# Retrieves timeseries for an A/B test by its ID.
|
|
444
550
|
#
|
|
445
551
|
# Required API Key ACLs:
|
|
@@ -448,9 +554,17 @@ module Algolia
|
|
|
448
554
|
# @param start_date [String] Start date of the period to analyze, in `YYYY-MM-DD` format.
|
|
449
555
|
# @param end_date [String] End date of the period to analyze, in `YYYY-MM-DD` format.
|
|
450
556
|
# @param metric [Array<MetricName>] List of metrics to retrieve. If not specified, all metrics are returned.
|
|
557
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
451
558
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
452
559
|
# @return [Http::Response] the response
|
|
453
|
-
def get_timeseries_with_http_info(
|
|
560
|
+
def get_timeseries_with_http_info(
|
|
561
|
+
id,
|
|
562
|
+
start_date = nil,
|
|
563
|
+
end_date = nil,
|
|
564
|
+
metric = nil,
|
|
565
|
+
methods = nil,
|
|
566
|
+
request_options = {}
|
|
567
|
+
)
|
|
454
568
|
# verify the required parameter 'id' is set
|
|
455
569
|
if @api_client.config.client_side_validation && id.nil?
|
|
456
570
|
raise ArgumentError, "Parameter `id` is required when calling `get_timeseries`."
|
|
@@ -461,6 +575,7 @@ module Algolia
|
|
|
461
575
|
query_params[:startDate] = start_date unless start_date.nil?
|
|
462
576
|
query_params[:endDate] = end_date unless end_date.nil?
|
|
463
577
|
query_params[:metric] = @api_client.build_collection_param(metric, :multi) unless metric.nil?
|
|
578
|
+
query_params[:methods] = @api_client.build_collection_param(methods, :csv) unless methods.nil?
|
|
464
579
|
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
465
580
|
header_params = {}
|
|
466
581
|
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
@@ -486,10 +601,11 @@ module Algolia
|
|
|
486
601
|
# @param start_date [String] Start date of the period to analyze, in `YYYY-MM-DD` format.
|
|
487
602
|
# @param end_date [String] End date of the period to analyze, in `YYYY-MM-DD` format.
|
|
488
603
|
# @param metric [Array<MetricName>] List of metrics to retrieve. If not specified, all metrics are returned.
|
|
604
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
489
605
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
490
606
|
# @return [Timeseries]
|
|
491
|
-
def get_timeseries(id, start_date = nil, end_date = nil, metric = nil, request_options = {})
|
|
492
|
-
response = get_timeseries_with_http_info(id, start_date, end_date, metric, request_options)
|
|
607
|
+
def get_timeseries(id, start_date = nil, end_date = nil, metric = nil, methods = nil, request_options = {})
|
|
608
|
+
response = get_timeseries_with_http_info(id, start_date, end_date, metric, methods, request_options)
|
|
493
609
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "AbtestingV3::Timeseries")
|
|
494
610
|
end
|
|
495
611
|
|
|
@@ -502,6 +618,7 @@ module Algolia
|
|
|
502
618
|
# @param index_prefix [String] Index name prefix. Only A/B tests for indices starting with this string are included in the response.
|
|
503
619
|
# @param index_suffix [String] Index name suffix. Only A/B tests for indices ending with this string are included in the response.
|
|
504
620
|
# @param direction [Direction] Sort order for A/B tests by start date. Use 'asc' for ascending or 'desc' for descending. Active A/B tests are always listed first.
|
|
621
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
505
622
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
506
623
|
# @return [Http::Response] the response
|
|
507
624
|
def list_ab_tests_with_http_info(
|
|
@@ -510,6 +627,7 @@ module Algolia
|
|
|
510
627
|
index_prefix = nil,
|
|
511
628
|
index_suffix = nil,
|
|
512
629
|
direction = nil,
|
|
630
|
+
methods = nil,
|
|
513
631
|
request_options = {}
|
|
514
632
|
)
|
|
515
633
|
path = "/3/abtests"
|
|
@@ -519,6 +637,7 @@ module Algolia
|
|
|
519
637
|
query_params[:indexPrefix] = index_prefix unless index_prefix.nil?
|
|
520
638
|
query_params[:indexSuffix] = index_suffix unless index_suffix.nil?
|
|
521
639
|
query_params[:direction] = direction unless direction.nil?
|
|
640
|
+
query_params[:methods] = @api_client.build_collection_param(methods, :csv) unless methods.nil?
|
|
522
641
|
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
523
642
|
header_params = {}
|
|
524
643
|
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
@@ -545,6 +664,7 @@ module Algolia
|
|
|
545
664
|
# @param index_prefix [String] Index name prefix. Only A/B tests for indices starting with this string are included in the response.
|
|
546
665
|
# @param index_suffix [String] Index name suffix. Only A/B tests for indices ending with this string are included in the response.
|
|
547
666
|
# @param direction [Direction] Sort order for A/B tests by start date. Use 'asc' for ascending or 'desc' for descending. Active A/B tests are always listed first.
|
|
667
|
+
# @param methods [Array<AnalysisMethod>] Statistical analysis results to include, as a comma-separated list. When omitted, each test uses its configured method, or `frequentist` if no method is configured. Request both methods to include both sets of available results. This doesn't change the test configuration or compute missing results. Duplicate values aren't allowed.
|
|
548
668
|
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
549
669
|
# @return [ListABTestsResponse]
|
|
550
670
|
def list_ab_tests(
|
|
@@ -553,12 +673,82 @@ module Algolia
|
|
|
553
673
|
index_prefix = nil,
|
|
554
674
|
index_suffix = nil,
|
|
555
675
|
direction = nil,
|
|
676
|
+
methods = nil,
|
|
556
677
|
request_options = {}
|
|
557
678
|
)
|
|
558
|
-
response = list_ab_tests_with_http_info(
|
|
679
|
+
response = list_ab_tests_with_http_info(
|
|
680
|
+
offset,
|
|
681
|
+
limit,
|
|
682
|
+
index_prefix,
|
|
683
|
+
index_suffix,
|
|
684
|
+
direction,
|
|
685
|
+
methods,
|
|
686
|
+
request_options
|
|
687
|
+
)
|
|
559
688
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "AbtestingV3::ListABTestsResponse")
|
|
560
689
|
end
|
|
561
690
|
|
|
691
|
+
# Captures the settings of the given variant and of the control, then stops the A/B test. The captured settings can later be applied to the control index with the `applyVariantSettings` operation, and read back with the `getABTestSettings` operation. The A/B test must have reached 80% of its planned duration. Earlier requests return `400`. Settings can only be captured once per A/B test. A second request returns `409`. `synonyms` and `enableRules` are not captured, so applying the captured settings never changes them on the control index.
|
|
692
|
+
#
|
|
693
|
+
# Required API Key ACLs:
|
|
694
|
+
# - analytics
|
|
695
|
+
# - editSettings
|
|
696
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
697
|
+
# @param variant_id [Integer] One-based index of the A/B test variant. The control is variant 1. (required)
|
|
698
|
+
# @param save_settings_request [SaveSettingsRequest] (required)
|
|
699
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
700
|
+
# @return [Http::Response] the response
|
|
701
|
+
def save_variant_settings_with_http_info(id, variant_id, save_settings_request, request_options = {})
|
|
702
|
+
# verify the required parameter 'id' is set
|
|
703
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
704
|
+
raise ArgumentError, "Parameter `id` is required when calling `save_variant_settings`."
|
|
705
|
+
end
|
|
706
|
+
# verify the required parameter 'variant_id' is set
|
|
707
|
+
if @api_client.config.client_side_validation && variant_id.nil?
|
|
708
|
+
raise ArgumentError, "Parameter `variant_id` is required when calling `save_variant_settings`."
|
|
709
|
+
end
|
|
710
|
+
# verify the required parameter 'save_settings_request' is set
|
|
711
|
+
if @api_client.config.client_side_validation && save_settings_request.nil?
|
|
712
|
+
raise ArgumentError, "Parameter `save_settings_request` is required when calling `save_variant_settings`."
|
|
713
|
+
end
|
|
714
|
+
|
|
715
|
+
path = "/3/abtests/{id}/settings/{variantId}".sub("{" + "id" + "}", Transport.encode_uri(id.to_s)).sub(
|
|
716
|
+
"{" + "variantId" + "}",
|
|
717
|
+
Transport.encode_uri(variant_id.to_s)
|
|
718
|
+
)
|
|
719
|
+
query_params = {}
|
|
720
|
+
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
|
721
|
+
header_params = {}
|
|
722
|
+
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
|
723
|
+
|
|
724
|
+
post_body = request_options[:debug_body] || @api_client.object_to_http_body(save_settings_request)
|
|
725
|
+
|
|
726
|
+
new_options = request_options.merge(
|
|
727
|
+
:operation => :"AbtestingV3Client.save_variant_settings",
|
|
728
|
+
:header_params => header_params,
|
|
729
|
+
:query_params => query_params,
|
|
730
|
+
:body => post_body,
|
|
731
|
+
:use_read_transporter => false
|
|
732
|
+
)
|
|
733
|
+
|
|
734
|
+
@api_client.call_api(:POST, path, new_options)
|
|
735
|
+
end
|
|
736
|
+
|
|
737
|
+
# Captures the settings of the given variant and of the control, then stops the A/B test. The captured settings can later be applied to the control index with the `applyVariantSettings` operation, and read back with the `getABTestSettings` operation. The A/B test must have reached 80% of its planned duration. Earlier requests return `400`. Settings can only be captured once per A/B test. A second request returns `409`. `synonyms` and `enableRules` are not captured, so applying the captured settings never changes them on the control index.
|
|
738
|
+
#
|
|
739
|
+
# Required API Key ACLs:
|
|
740
|
+
# - analytics
|
|
741
|
+
# - editSettings
|
|
742
|
+
# @param id [Integer] Unique A/B test identifier. (required)
|
|
743
|
+
# @param variant_id [Integer] One-based index of the A/B test variant. The control is variant 1. (required)
|
|
744
|
+
# @param save_settings_request [SaveSettingsRequest] (required)
|
|
745
|
+
# @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
|
|
746
|
+
# @return [nil]
|
|
747
|
+
def save_variant_settings(id, variant_id, save_settings_request, request_options = {})
|
|
748
|
+
save_variant_settings_with_http_info(id, variant_id, save_settings_request, request_options)
|
|
749
|
+
nil
|
|
750
|
+
end
|
|
751
|
+
|
|
562
752
|
# Stops an A/B test by its ID. You can't restart stopped A/B tests.
|
|
563
753
|
#
|
|
564
754
|
# Required API Key ACLs:
|