Class: Weft::SearchApi
- Inherits:
-
Object
- Object
- Weft::SearchApi
- Defined in:
- lib/weft/generated/api/search_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#initialize(api_client = ApiClient.default) ⇒ SearchApi
constructor
A new instance of SearchApi.
-
#search(search_request, opts = {}) ⇒ SearchResponse
Search the Weft index Semantic search over the Weft index of paid agent resources.
-
#search_with_http_info(search_request, opts = {}) ⇒ Array<(SearchResponse, Integer, Hash)>
Search the Weft index Semantic search over the Weft index of paid agent resources.
Constructor Details
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/weft/generated/api/search_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#search(search_request, opts = {}) ⇒ SearchResponse
Search the Weft index Semantic search over the Weft index of paid agent resources. The request body carries a free-text ‘query`, an optional `limit`, and an optional `filters` object that narrows by price band, payment protocol, agent protocol, or domain tag. Filters are applied as a post-filter after the embedding score is computed. Backend selection is server-side via the `SEARCH_BACKEND` env var: `mock` (default, reads YAML fixtures and sets `_mock: true` in the response) or `platform` (proxies to the upstream search service). Both backends return the same envelope. Account-scoped: the bearer token must be a buyer-scoped API key. Free for authenticated buyers in v1; billing is planned for a later release. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt.
27 28 29 30 |
# File 'lib/weft/generated/api/search_api.rb', line 27 def search(search_request, opts = {}) data, _status_code, _headers = search_with_http_info(search_request, opts) data end |
#search_with_http_info(search_request, opts = {}) ⇒ Array<(SearchResponse, Integer, Hash)>
Search the Weft index Semantic search over the Weft index of paid agent resources. The request body carries a free-text `query`, an optional `limit`, and an optional `filters` object that narrows by price band, payment protocol, agent protocol, or domain tag. Filters are applied as a post-filter after the embedding score is computed. Backend selection is server-side via the `SEARCH_BACKEND` env var: `mock` (default, reads YAML fixtures and sets `_mock: true` in the response) or `platform` (proxies to the upstream search service). Both backends return the same envelope. Account-scoped: the bearer token must be a buyer-scoped API key. Free for authenticated buyers in v1; billing is planned for a later release. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/weft/generated/api/search_api.rb', line 37 def search_with_http_info(search_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: SearchApi.search ...' end # verify the required parameter 'search_request' is set if @api_client.config.client_side_validation && search_request.nil? fail ArgumentError, "Missing the required parameter 'search_request' when calling SearchApi.search" end # resource path local_var_path = '/api/v1/search' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/markdown']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(search_request) # return_type return_type = opts[:debug_return_type] || 'SearchResponse' # auth_names auth_names = opts[:debug_auth_names] || ['bearerAuth'] = opts.merge( :operation => :"SearchApi.search", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: SearchApi#search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |