google-cloud-discovery_engine-v1 1.2.0 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee9651b0bccb269cc71b7ffbe3eb9fe3b7387001a04c24f295ad5746e38a3435
4
- data.tar.gz: a52cfe415c14bfb5046b20d211d328defcacadd1ec51b8c8631b23f4c8cb9ce2
3
+ metadata.gz: 446ba41d880a1b574926d20da050924df5f0bceb4fe558a12e66ec762bda18dc
4
+ data.tar.gz: 25e336e21a21c5980c1c65af24e27d3ff5598c543e4e70366adcc1d6758f9104
5
5
  SHA512:
6
- metadata.gz: 592eacda5b2029f59b7e128c81ed2e8ddde6cf46531956d802a1203fa6d4ccd5f67351b866e3b34c8d476b087d895cd9b18d346918ab587ba6784572934ce6db
7
- data.tar.gz: ec0a35b20d61d0ef7c6997916877e11e94e1c69fe379ce52163ff4c01d26274526485a720354a5f5229069970a1b04e1924e7fd0f65a45bffa28ba7be2a9ee6b
6
+ metadata.gz: 93d5663f95cee515960e23e64c90f73f5caa33c37f7693dceb30f13361449b2fd6556347e6cf9207fbb37365dbed9a2bec839d53a63ea96037881e511af03c0e
7
+ data.tar.gz: 5a2192a5b4188ed43ef4bb15484aee45db5bf9d43171dcd112edf251e6f1c3c618a4534ce6d25b29793a26abc699316526711f19712b9eee7d0f281e12899c90
@@ -483,6 +483,318 @@ module Google
483
483
  raise ::Google::Cloud::Error.from_error(e)
484
484
  end
485
485
 
486
+ ##
487
+ # Performs a search. Similar to the
488
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Client#search SearchService.Search}
489
+ # method, but a lite version that allows API key for authentication, where
490
+ # OAuth and IAM checks are not required.
491
+ #
492
+ # Only public website search is supported by this method. If data stores and
493
+ # engines not associated with public website search are specified, a
494
+ # `FAILED_PRECONDITION` error is returned.
495
+ #
496
+ # This method can be used for easy onboarding without having to implement an
497
+ # authentication backend. However, it is strongly recommended to use
498
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Client#search SearchService.Search}
499
+ # instead with required OAuth and IAM checks to provide better data security.
500
+ #
501
+ # @overload search_lite(request, options = nil)
502
+ # Pass arguments to `search_lite` via a request object, either of type
503
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest} or an equivalent Hash.
504
+ #
505
+ # @param request [::Google::Cloud::DiscoveryEngine::V1::SearchRequest, ::Hash]
506
+ # A request object representing the call parameters. Required. To specify no
507
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
508
+ # @param options [::Gapic::CallOptions, ::Hash]
509
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
510
+ #
511
+ # @overload search_lite(serving_config: nil, branch: nil, query: nil, image_query: nil, page_size: nil, page_token: nil, offset: nil, one_box_page_size: nil, data_store_specs: nil, filter: nil, canonical_filter: nil, order_by: nil, user_info: nil, language_code: nil, facet_specs: nil, boost_spec: nil, params: nil, query_expansion_spec: nil, spell_correction_spec: nil, user_pseudo_id: nil, content_search_spec: nil, safe_search: nil, user_labels: nil, search_as_you_type_spec: nil, session: nil, session_spec: nil)
512
+ # Pass arguments to `search_lite` via keyword arguments. Note that at
513
+ # least one keyword argument is required. To specify no parameters, or to keep all
514
+ # the default parameter values, pass an empty Hash as a request object (see above).
515
+ #
516
+ # @param serving_config [::String]
517
+ # Required. The resource name of the Search serving config, such as
518
+ # `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`,
519
+ # or
520
+ # `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`.
521
+ # This field is used to identify the serving configuration name, set
522
+ # of models used to make the search.
523
+ # @param branch [::String]
524
+ # The branch resource name, such as
525
+ # `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`.
526
+ #
527
+ # Use `default_branch` as the branch ID or leave this field empty, to search
528
+ # documents under the default branch.
529
+ # @param query [::String]
530
+ # Raw search query.
531
+ # @param image_query [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ImageQuery, ::Hash]
532
+ # Raw image query.
533
+ # @param page_size [::Integer]
534
+ # Maximum number of {::Google::Cloud::DiscoveryEngine::V1::Document Document}s to
535
+ # return. The maximum allowed value depends on the data type. Values above
536
+ # the maximum value are coerced to the maximum value.
537
+ #
538
+ # * Websites with basic indexing: Default `10`, Maximum `25`.
539
+ # * Websites with advanced indexing: Default `25`, Maximum `50`.
540
+ # * Other: Default `50`, Maximum `100`.
541
+ #
542
+ # If this field is negative, an `INVALID_ARGUMENT` is returned.
543
+ # @param page_token [::String]
544
+ # A page token received from a previous
545
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Client#search SearchService.Search}
546
+ # call. Provide this to retrieve the subsequent page.
547
+ #
548
+ # When paginating, all other parameters provided to
549
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Client#search SearchService.Search}
550
+ # must match the call that provided the page token. Otherwise, an
551
+ # `INVALID_ARGUMENT` error is returned.
552
+ # @param offset [::Integer]
553
+ # A 0-indexed integer that specifies the current offset (that is, starting
554
+ # result location, amongst the
555
+ # {::Google::Cloud::DiscoveryEngine::V1::Document Document}s deemed by the API as
556
+ # relevant) in search results. This field is only considered if
557
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest#page_token page_token} is
558
+ # unset.
559
+ #
560
+ # If this field is negative, an `INVALID_ARGUMENT` is returned.
561
+ # @param one_box_page_size [::Integer]
562
+ # The maximum number of results to return for OneBox.
563
+ # This applies to each OneBox type individually.
564
+ # Default number is 10.
565
+ # @param data_store_specs [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchRequest::DataStoreSpec, ::Hash>]
566
+ # Specs defining dataStores to filter on in a search call and configurations
567
+ # for those dataStores. This is only considered for engines with multiple
568
+ # dataStores use case. For single dataStore within an engine, they should
569
+ # use the specs at the top level.
570
+ # @param filter [::String]
571
+ # The filter syntax consists of an expression language for constructing a
572
+ # predicate from one or more fields of the documents being filtered. Filter
573
+ # expression is case-sensitive.
574
+ #
575
+ # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
576
+ #
577
+ # Filtering in Vertex AI Search is done by mapping the LHS filter key to a
578
+ # key property defined in the Vertex AI Search backend -- this mapping is
579
+ # defined by the customer in their schema. For example a media customer might
580
+ # have a field 'name' in their schema. In this case the filter would look
581
+ # like this: filter --> name:'ANY("king kong")'
582
+ #
583
+ # For more information about filtering including syntax and filter
584
+ # operators, see
585
+ # [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
586
+ # @param canonical_filter [::String]
587
+ # The default filter that is applied when a user performs a search without
588
+ # checking any filters on the search page.
589
+ #
590
+ # The filter applied to every search request when quality improvement such as
591
+ # query expansion is needed. In the case a query does not have a sufficient
592
+ # amount of results this filter will be used to determine whether or not to
593
+ # enable the query expansion flow. The original filter will still be used for
594
+ # the query expanded search.
595
+ # This field is strongly recommended to achieve high search quality.
596
+ #
597
+ # For more information about filter syntax, see
598
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest#filter SearchRequest.filter}.
599
+ # @param order_by [::String]
600
+ # The order in which documents are returned. Documents can be ordered by
601
+ # a field in an {::Google::Cloud::DiscoveryEngine::V1::Document Document} object.
602
+ # Leave it unset if ordered by relevance. `order_by` expression is
603
+ # case-sensitive.
604
+ #
605
+ # For more information on ordering the website search results, see
606
+ # [Order web search
607
+ # results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results).
608
+ # For more information on ordering the healthcare search results, see
609
+ # [Order healthcare search
610
+ # results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results).
611
+ # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
612
+ # @param user_info [::Google::Cloud::DiscoveryEngine::V1::UserInfo, ::Hash]
613
+ # Information about the end user.
614
+ # Highly recommended for analytics.
615
+ # {::Google::Cloud::DiscoveryEngine::V1::UserInfo#user_agent UserInfo.user_agent}
616
+ # is used to deduce `device_type` for analytics.
617
+ # @param language_code [::String]
618
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
619
+ # information, see [Standard
620
+ # fields](https://cloud.google.com/apis/design/standard_fields). This field
621
+ # helps to better interpret the query. If a value isn't specified, the query
622
+ # language code is automatically detected, which may not be accurate.
623
+ # @param facet_specs [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchRequest::FacetSpec, ::Hash>]
624
+ # Facet specifications for faceted search. If empty, no facets are returned.
625
+ #
626
+ # A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT`
627
+ # error is returned.
628
+ # @param boost_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::BoostSpec, ::Hash]
629
+ # Boost specification to boost certain documents.
630
+ # For more information on boosting, see
631
+ # [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)
632
+ # @param params [::Hash{::String => ::Google::Protobuf::Value, ::Hash}]
633
+ # Additional search parameters.
634
+ #
635
+ # For public website search only, supported values are:
636
+ #
637
+ # * `user_country_code`: string. Default empty. If set to non-empty, results
638
+ # are restricted or boosted based on the location provided.
639
+ # For example, `user_country_code: "au"`
640
+ #
641
+ # For available codes see [Country
642
+ # Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes)
643
+ #
644
+ # * `search_type`: double. Default empty. Enables non-webpage searching
645
+ # depending on the value. The only valid non-default value is 1,
646
+ # which enables image searching.
647
+ # For example, `search_type: 1`
648
+ # @param query_expansion_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::QueryExpansionSpec, ::Hash]
649
+ # The query expansion specification that specifies the conditions under which
650
+ # query expansion occurs.
651
+ # @param spell_correction_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SpellCorrectionSpec, ::Hash]
652
+ # The spell correction specification that specifies the mode under
653
+ # which spell correction takes effect.
654
+ # @param user_pseudo_id [::String]
655
+ # A unique identifier for tracking visitors. For example, this could be
656
+ # implemented with an HTTP cookie, which should be able to uniquely identify
657
+ # a visitor on a single device. This unique identifier should not change if
658
+ # the visitor logs in or out of the website.
659
+ #
660
+ # This field should NOT have a fixed value such as `unknown_visitor`.
661
+ #
662
+ # This should be the same identifier as
663
+ # {::Google::Cloud::DiscoveryEngine::V1::UserEvent#user_pseudo_id UserEvent.user_pseudo_id}
664
+ # and
665
+ # {::Google::Cloud::DiscoveryEngine::V1::CompleteQueryRequest#user_pseudo_id CompleteQueryRequest.user_pseudo_id}
666
+ #
667
+ # The field must be a UTF-8 encoded string with a length limit of 128
668
+ # characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
669
+ # @param content_search_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ContentSearchSpec, ::Hash]
670
+ # A specification for configuring the behavior of content search.
671
+ # @param safe_search [::Boolean]
672
+ # Whether to turn on safe search. This is only supported for
673
+ # website search.
674
+ # @param user_labels [::Hash{::String => ::String}]
675
+ # The user labels applied to a resource must meet the following requirements:
676
+ #
677
+ # * Each resource can have multiple labels, up to a maximum of 64.
678
+ # * Each label must be a key-value pair.
679
+ # * Keys have a minimum length of 1 character and a maximum length of 63
680
+ # characters and cannot be empty. Values can be empty and have a maximum
681
+ # length of 63 characters.
682
+ # * Keys and values can contain only lowercase letters, numeric characters,
683
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
684
+ # international characters are allowed.
685
+ # * The key portion of a label must be unique. However, you can use the same
686
+ # key with multiple resources.
687
+ # * Keys must start with a lowercase letter or international character.
688
+ #
689
+ # See [Google Cloud
690
+ # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
691
+ # for more details.
692
+ # @param search_as_you_type_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SearchAsYouTypeSpec, ::Hash]
693
+ # Search as you type configuration. Only supported for the
694
+ # {::Google::Cloud::DiscoveryEngine::V1::IndustryVertical::MEDIA IndustryVertical.MEDIA}
695
+ # vertical.
696
+ # @param session [::String]
697
+ # The session resource name. Optional.
698
+ #
699
+ # Session allows users to do multi-turn /search API calls or coordination
700
+ # between /search API calls and /answer API calls.
701
+ #
702
+ # Example #1 (multi-turn /search API calls):
703
+ # 1. Call /search API with the auto-session mode (see below).
704
+ # 2. Call /search API with the session ID generated in the first call.
705
+ # Here, the previous search query gets considered in query
706
+ # standing. I.e., if the first query is "How did Alphabet do in 2022?"
707
+ # and the current query is "How about 2023?", the current query will
708
+ # be interpreted as "How did Alphabet do in 2023?".
709
+ #
710
+ # Example #2 (coordination between /search API calls and /answer API calls):
711
+ # 1. Call /search API with the auto-session mode (see below).
712
+ # 2. Call /answer API with the session ID generated in the first call.
713
+ # Here, the answer generation happens in the context of the search
714
+ # results from the first search call.
715
+ #
716
+ # Auto-session mode: when `projects/.../sessions/-` is used, a new session
717
+ # gets automatically created. Otherwise, users can use the create-session API
718
+ # to create a session manually.
719
+ #
720
+ # Multi-turn Search feature is currently at private GA stage. Please use
721
+ # v1alpha or v1beta version instead before we launch this feature to public
722
+ # GA. Or ask for allowlisting through Google Support team.
723
+ # @param session_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SessionSpec, ::Hash]
724
+ # Session specification.
725
+ #
726
+ # Can be used only when `session` is set.
727
+ #
728
+ # @yield [response, operation] Access the result along with the RPC operation
729
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::DiscoveryEngine::V1::SearchResponse::SearchResult>]
730
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
731
+ #
732
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::DiscoveryEngine::V1::SearchResponse::SearchResult>]
733
+ #
734
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
735
+ #
736
+ # @example Basic example
737
+ # require "google/cloud/discovery_engine/v1"
738
+ #
739
+ # # Create a client object. The client can be reused for multiple calls.
740
+ # client = Google::Cloud::DiscoveryEngine::V1::SearchService::Client.new
741
+ #
742
+ # # Create a request. To set request fields, pass in keyword arguments.
743
+ # request = Google::Cloud::DiscoveryEngine::V1::SearchRequest.new
744
+ #
745
+ # # Call the search_lite method.
746
+ # result = client.search_lite request
747
+ #
748
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
749
+ # # over elements, and API calls will be issued to fetch pages as needed.
750
+ # result.each do |item|
751
+ # # Each element is of type ::Google::Cloud::DiscoveryEngine::V1::SearchResponse::SearchResult.
752
+ # p item
753
+ # end
754
+ #
755
+ def search_lite request, options = nil
756
+ raise ::ArgumentError, "request must be provided" if request.nil?
757
+
758
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::DiscoveryEngine::V1::SearchRequest
759
+
760
+ # Converts hash and nil to an options object
761
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
762
+
763
+ # Customize the options with defaults
764
+ metadata = @config.rpcs.search_lite.metadata.to_h
765
+
766
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
767
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
768
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
769
+ gapic_version: ::Google::Cloud::DiscoveryEngine::V1::VERSION
770
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
771
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
772
+
773
+ header_params = {}
774
+ if request.serving_config
775
+ header_params["serving_config"] = request.serving_config
776
+ end
777
+
778
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
779
+ metadata[:"x-goog-request-params"] ||= request_params_header
780
+
781
+ options.apply_defaults timeout: @config.rpcs.search_lite.timeout,
782
+ metadata: metadata,
783
+ retry_policy: @config.rpcs.search_lite.retry_policy
784
+
785
+ options.apply_defaults timeout: @config.timeout,
786
+ metadata: @config.metadata,
787
+ retry_policy: @config.retry_policy
788
+
789
+ @search_service_stub.call_rpc :search_lite, request, options: options do |response, operation|
790
+ response = ::Gapic::PagedEnumerable.new @search_service_stub, :search_lite, request, response, operation, options
791
+ yield response, operation if block_given?
792
+ return response
793
+ end
794
+ rescue ::GRPC::BadStatus => e
795
+ raise ::Google::Cloud::Error.from_error(e)
796
+ end
797
+
486
798
  ##
487
799
  # Configuration class for the SearchService API.
488
800
  #
@@ -641,11 +953,18 @@ module Google
641
953
  # @return [::Gapic::Config::Method]
642
954
  #
643
955
  attr_reader :search
956
+ ##
957
+ # RPC-specific configuration for `search_lite`
958
+ # @return [::Gapic::Config::Method]
959
+ #
960
+ attr_reader :search_lite
644
961
 
645
962
  # @private
646
963
  def initialize parent_rpcs = nil
647
964
  search_config = parent_rpcs.search if parent_rpcs.respond_to? :search
648
965
  @search = ::Gapic::Config::Method.new search_config
966
+ search_lite_config = parent_rpcs.search_lite if parent_rpcs.respond_to? :search_lite
967
+ @search_lite = ::Gapic::Config::Method.new search_lite_config
649
968
 
650
969
  yield self if block_given?
651
970
  end
@@ -468,6 +468,310 @@ module Google
468
468
  raise ::Google::Cloud::Error.from_error(e)
469
469
  end
470
470
 
471
+ ##
472
+ # Performs a search. Similar to the
473
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Rest::Client#search SearchService.Search}
474
+ # method, but a lite version that allows API key for authentication, where
475
+ # OAuth and IAM checks are not required.
476
+ #
477
+ # Only public website search is supported by this method. If data stores and
478
+ # engines not associated with public website search are specified, a
479
+ # `FAILED_PRECONDITION` error is returned.
480
+ #
481
+ # This method can be used for easy onboarding without having to implement an
482
+ # authentication backend. However, it is strongly recommended to use
483
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Rest::Client#search SearchService.Search}
484
+ # instead with required OAuth and IAM checks to provide better data security.
485
+ #
486
+ # @overload search_lite(request, options = nil)
487
+ # Pass arguments to `search_lite` via a request object, either of type
488
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest} or an equivalent Hash.
489
+ #
490
+ # @param request [::Google::Cloud::DiscoveryEngine::V1::SearchRequest, ::Hash]
491
+ # A request object representing the call parameters. Required. To specify no
492
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
493
+ # @param options [::Gapic::CallOptions, ::Hash]
494
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
495
+ #
496
+ # @overload search_lite(serving_config: nil, branch: nil, query: nil, image_query: nil, page_size: nil, page_token: nil, offset: nil, one_box_page_size: nil, data_store_specs: nil, filter: nil, canonical_filter: nil, order_by: nil, user_info: nil, language_code: nil, facet_specs: nil, boost_spec: nil, params: nil, query_expansion_spec: nil, spell_correction_spec: nil, user_pseudo_id: nil, content_search_spec: nil, safe_search: nil, user_labels: nil, search_as_you_type_spec: nil, session: nil, session_spec: nil)
497
+ # Pass arguments to `search_lite` via keyword arguments. Note that at
498
+ # least one keyword argument is required. To specify no parameters, or to keep all
499
+ # the default parameter values, pass an empty Hash as a request object (see above).
500
+ #
501
+ # @param serving_config [::String]
502
+ # Required. The resource name of the Search serving config, such as
503
+ # `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`,
504
+ # or
505
+ # `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`.
506
+ # This field is used to identify the serving configuration name, set
507
+ # of models used to make the search.
508
+ # @param branch [::String]
509
+ # The branch resource name, such as
510
+ # `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`.
511
+ #
512
+ # Use `default_branch` as the branch ID or leave this field empty, to search
513
+ # documents under the default branch.
514
+ # @param query [::String]
515
+ # Raw search query.
516
+ # @param image_query [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ImageQuery, ::Hash]
517
+ # Raw image query.
518
+ # @param page_size [::Integer]
519
+ # Maximum number of {::Google::Cloud::DiscoveryEngine::V1::Document Document}s to
520
+ # return. The maximum allowed value depends on the data type. Values above
521
+ # the maximum value are coerced to the maximum value.
522
+ #
523
+ # * Websites with basic indexing: Default `10`, Maximum `25`.
524
+ # * Websites with advanced indexing: Default `25`, Maximum `50`.
525
+ # * Other: Default `50`, Maximum `100`.
526
+ #
527
+ # If this field is negative, an `INVALID_ARGUMENT` is returned.
528
+ # @param page_token [::String]
529
+ # A page token received from a previous
530
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Rest::Client#search SearchService.Search}
531
+ # call. Provide this to retrieve the subsequent page.
532
+ #
533
+ # When paginating, all other parameters provided to
534
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Rest::Client#search SearchService.Search}
535
+ # must match the call that provided the page token. Otherwise, an
536
+ # `INVALID_ARGUMENT` error is returned.
537
+ # @param offset [::Integer]
538
+ # A 0-indexed integer that specifies the current offset (that is, starting
539
+ # result location, amongst the
540
+ # {::Google::Cloud::DiscoveryEngine::V1::Document Document}s deemed by the API as
541
+ # relevant) in search results. This field is only considered if
542
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest#page_token page_token} is
543
+ # unset.
544
+ #
545
+ # If this field is negative, an `INVALID_ARGUMENT` is returned.
546
+ # @param one_box_page_size [::Integer]
547
+ # The maximum number of results to return for OneBox.
548
+ # This applies to each OneBox type individually.
549
+ # Default number is 10.
550
+ # @param data_store_specs [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchRequest::DataStoreSpec, ::Hash>]
551
+ # Specs defining dataStores to filter on in a search call and configurations
552
+ # for those dataStores. This is only considered for engines with multiple
553
+ # dataStores use case. For single dataStore within an engine, they should
554
+ # use the specs at the top level.
555
+ # @param filter [::String]
556
+ # The filter syntax consists of an expression language for constructing a
557
+ # predicate from one or more fields of the documents being filtered. Filter
558
+ # expression is case-sensitive.
559
+ #
560
+ # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
561
+ #
562
+ # Filtering in Vertex AI Search is done by mapping the LHS filter key to a
563
+ # key property defined in the Vertex AI Search backend -- this mapping is
564
+ # defined by the customer in their schema. For example a media customer might
565
+ # have a field 'name' in their schema. In this case the filter would look
566
+ # like this: filter --> name:'ANY("king kong")'
567
+ #
568
+ # For more information about filtering including syntax and filter
569
+ # operators, see
570
+ # [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
571
+ # @param canonical_filter [::String]
572
+ # The default filter that is applied when a user performs a search without
573
+ # checking any filters on the search page.
574
+ #
575
+ # The filter applied to every search request when quality improvement such as
576
+ # query expansion is needed. In the case a query does not have a sufficient
577
+ # amount of results this filter will be used to determine whether or not to
578
+ # enable the query expansion flow. The original filter will still be used for
579
+ # the query expanded search.
580
+ # This field is strongly recommended to achieve high search quality.
581
+ #
582
+ # For more information about filter syntax, see
583
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchRequest#filter SearchRequest.filter}.
584
+ # @param order_by [::String]
585
+ # The order in which documents are returned. Documents can be ordered by
586
+ # a field in an {::Google::Cloud::DiscoveryEngine::V1::Document Document} object.
587
+ # Leave it unset if ordered by relevance. `order_by` expression is
588
+ # case-sensitive.
589
+ #
590
+ # For more information on ordering the website search results, see
591
+ # [Order web search
592
+ # results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results).
593
+ # For more information on ordering the healthcare search results, see
594
+ # [Order healthcare search
595
+ # results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results).
596
+ # If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
597
+ # @param user_info [::Google::Cloud::DiscoveryEngine::V1::UserInfo, ::Hash]
598
+ # Information about the end user.
599
+ # Highly recommended for analytics.
600
+ # {::Google::Cloud::DiscoveryEngine::V1::UserInfo#user_agent UserInfo.user_agent}
601
+ # is used to deduce `device_type` for analytics.
602
+ # @param language_code [::String]
603
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
604
+ # information, see [Standard
605
+ # fields](https://cloud.google.com/apis/design/standard_fields). This field
606
+ # helps to better interpret the query. If a value isn't specified, the query
607
+ # language code is automatically detected, which may not be accurate.
608
+ # @param facet_specs [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchRequest::FacetSpec, ::Hash>]
609
+ # Facet specifications for faceted search. If empty, no facets are returned.
610
+ #
611
+ # A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT`
612
+ # error is returned.
613
+ # @param boost_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::BoostSpec, ::Hash]
614
+ # Boost specification to boost certain documents.
615
+ # For more information on boosting, see
616
+ # [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)
617
+ # @param params [::Hash{::String => ::Google::Protobuf::Value, ::Hash}]
618
+ # Additional search parameters.
619
+ #
620
+ # For public website search only, supported values are:
621
+ #
622
+ # * `user_country_code`: string. Default empty. If set to non-empty, results
623
+ # are restricted or boosted based on the location provided.
624
+ # For example, `user_country_code: "au"`
625
+ #
626
+ # For available codes see [Country
627
+ # Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes)
628
+ #
629
+ # * `search_type`: double. Default empty. Enables non-webpage searching
630
+ # depending on the value. The only valid non-default value is 1,
631
+ # which enables image searching.
632
+ # For example, `search_type: 1`
633
+ # @param query_expansion_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::QueryExpansionSpec, ::Hash]
634
+ # The query expansion specification that specifies the conditions under which
635
+ # query expansion occurs.
636
+ # @param spell_correction_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SpellCorrectionSpec, ::Hash]
637
+ # The spell correction specification that specifies the mode under
638
+ # which spell correction takes effect.
639
+ # @param user_pseudo_id [::String]
640
+ # A unique identifier for tracking visitors. For example, this could be
641
+ # implemented with an HTTP cookie, which should be able to uniquely identify
642
+ # a visitor on a single device. This unique identifier should not change if
643
+ # the visitor logs in or out of the website.
644
+ #
645
+ # This field should NOT have a fixed value such as `unknown_visitor`.
646
+ #
647
+ # This should be the same identifier as
648
+ # {::Google::Cloud::DiscoveryEngine::V1::UserEvent#user_pseudo_id UserEvent.user_pseudo_id}
649
+ # and
650
+ # {::Google::Cloud::DiscoveryEngine::V1::CompleteQueryRequest#user_pseudo_id CompleteQueryRequest.user_pseudo_id}
651
+ #
652
+ # The field must be a UTF-8 encoded string with a length limit of 128
653
+ # characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
654
+ # @param content_search_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ContentSearchSpec, ::Hash]
655
+ # A specification for configuring the behavior of content search.
656
+ # @param safe_search [::Boolean]
657
+ # Whether to turn on safe search. This is only supported for
658
+ # website search.
659
+ # @param user_labels [::Hash{::String => ::String}]
660
+ # The user labels applied to a resource must meet the following requirements:
661
+ #
662
+ # * Each resource can have multiple labels, up to a maximum of 64.
663
+ # * Each label must be a key-value pair.
664
+ # * Keys have a minimum length of 1 character and a maximum length of 63
665
+ # characters and cannot be empty. Values can be empty and have a maximum
666
+ # length of 63 characters.
667
+ # * Keys and values can contain only lowercase letters, numeric characters,
668
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
669
+ # international characters are allowed.
670
+ # * The key portion of a label must be unique. However, you can use the same
671
+ # key with multiple resources.
672
+ # * Keys must start with a lowercase letter or international character.
673
+ #
674
+ # See [Google Cloud
675
+ # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
676
+ # for more details.
677
+ # @param search_as_you_type_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SearchAsYouTypeSpec, ::Hash]
678
+ # Search as you type configuration. Only supported for the
679
+ # {::Google::Cloud::DiscoveryEngine::V1::IndustryVertical::MEDIA IndustryVertical.MEDIA}
680
+ # vertical.
681
+ # @param session [::String]
682
+ # The session resource name. Optional.
683
+ #
684
+ # Session allows users to do multi-turn /search API calls or coordination
685
+ # between /search API calls and /answer API calls.
686
+ #
687
+ # Example #1 (multi-turn /search API calls):
688
+ # 1. Call /search API with the auto-session mode (see below).
689
+ # 2. Call /search API with the session ID generated in the first call.
690
+ # Here, the previous search query gets considered in query
691
+ # standing. I.e., if the first query is "How did Alphabet do in 2022?"
692
+ # and the current query is "How about 2023?", the current query will
693
+ # be interpreted as "How did Alphabet do in 2023?".
694
+ #
695
+ # Example #2 (coordination between /search API calls and /answer API calls):
696
+ # 1. Call /search API with the auto-session mode (see below).
697
+ # 2. Call /answer API with the session ID generated in the first call.
698
+ # Here, the answer generation happens in the context of the search
699
+ # results from the first search call.
700
+ #
701
+ # Auto-session mode: when `projects/.../sessions/-` is used, a new session
702
+ # gets automatically created. Otherwise, users can use the create-session API
703
+ # to create a session manually.
704
+ #
705
+ # Multi-turn Search feature is currently at private GA stage. Please use
706
+ # v1alpha or v1beta version instead before we launch this feature to public
707
+ # GA. Or ask for allowlisting through Google Support team.
708
+ # @param session_spec [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::SessionSpec, ::Hash]
709
+ # Session specification.
710
+ #
711
+ # Can be used only when `session` is set.
712
+ # @yield [result, operation] Access the result along with the TransportOperation object
713
+ # @yieldparam result [::Google::Cloud::DiscoveryEngine::V1::SearchResponse]
714
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
715
+ #
716
+ # @return [::Google::Cloud::DiscoveryEngine::V1::SearchResponse]
717
+ #
718
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
719
+ #
720
+ # @example Basic example
721
+ # require "google/cloud/discovery_engine/v1"
722
+ #
723
+ # # Create a client object. The client can be reused for multiple calls.
724
+ # client = Google::Cloud::DiscoveryEngine::V1::SearchService::Rest::Client.new
725
+ #
726
+ # # Create a request. To set request fields, pass in keyword arguments.
727
+ # request = Google::Cloud::DiscoveryEngine::V1::SearchRequest.new
728
+ #
729
+ # # Call the search_lite method.
730
+ # result = client.search_lite request
731
+ #
732
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
733
+ # # over elements, and API calls will be issued to fetch pages as needed.
734
+ # result.each do |item|
735
+ # # Each element is of type ::Google::Cloud::DiscoveryEngine::V1::SearchResponse::SearchResult.
736
+ # p item
737
+ # end
738
+ #
739
+ def search_lite request, options = nil
740
+ raise ::ArgumentError, "request must be provided" if request.nil?
741
+
742
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::DiscoveryEngine::V1::SearchRequest
743
+
744
+ # Converts hash and nil to an options object
745
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
746
+
747
+ # Customize the options with defaults
748
+ call_metadata = @config.rpcs.search_lite.metadata.to_h
749
+
750
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
751
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
752
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
753
+ gapic_version: ::Google::Cloud::DiscoveryEngine::V1::VERSION,
754
+ transports_version_send: [:rest]
755
+
756
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
757
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
758
+
759
+ options.apply_defaults timeout: @config.rpcs.search_lite.timeout,
760
+ metadata: call_metadata,
761
+ retry_policy: @config.rpcs.search_lite.retry_policy
762
+
763
+ options.apply_defaults timeout: @config.timeout,
764
+ metadata: @config.metadata,
765
+ retry_policy: @config.retry_policy
766
+
767
+ @search_service_stub.search_lite request, options do |result, operation|
768
+ yield result, operation if block_given?
769
+ return result
770
+ end
771
+ rescue ::Gapic::Rest::Error => e
772
+ raise ::Google::Cloud::Error.from_error(e)
773
+ end
774
+
471
775
  ##
472
776
  # Configuration class for the SearchService REST API.
473
777
  #
@@ -606,11 +910,18 @@ module Google
606
910
  # @return [::Gapic::Config::Method]
607
911
  #
608
912
  attr_reader :search
913
+ ##
914
+ # RPC-specific configuration for `search_lite`
915
+ # @return [::Gapic::Config::Method]
916
+ #
917
+ attr_reader :search_lite
609
918
 
610
919
  # @private
611
920
  def initialize parent_rpcs = nil
612
921
  search_config = parent_rpcs.search if parent_rpcs.respond_to? :search
613
922
  @search = ::Gapic::Config::Method.new search_config
923
+ search_lite_config = parent_rpcs.search_lite if parent_rpcs.respond_to? :search_lite
924
+ @search_lite = ::Gapic::Config::Method.new search_lite_config
614
925
 
615
926
  yield self if block_given?
616
927
  end
@@ -99,6 +99,44 @@ module Google
99
99
  result
100
100
  end
101
101
 
102
+ ##
103
+ # Baseline implementation for the search_lite REST call
104
+ #
105
+ # @param request_pb [::Google::Cloud::DiscoveryEngine::V1::SearchRequest]
106
+ # A request object representing the call parameters. Required.
107
+ # @param options [::Gapic::CallOptions]
108
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
109
+ #
110
+ # @yield [result, operation] Access the result along with the TransportOperation object
111
+ # @yieldparam result [::Google::Cloud::DiscoveryEngine::V1::SearchResponse]
112
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
113
+ #
114
+ # @return [::Google::Cloud::DiscoveryEngine::V1::SearchResponse]
115
+ # A result object deserialized from the server's reply
116
+ def search_lite request_pb, options = nil
117
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
118
+
119
+ verb, uri, query_string_params, body = ServiceStub.transcode_search_lite_request request_pb
120
+ query_string_params = if query_string_params.any?
121
+ query_string_params.to_h { |p| p.split "=", 2 }
122
+ else
123
+ {}
124
+ end
125
+
126
+ response = @client_stub.make_http_request(
127
+ verb,
128
+ uri: uri,
129
+ body: body || "",
130
+ params: query_string_params,
131
+ options: options
132
+ )
133
+ operation = ::Gapic::Rest::TransportOperation.new response
134
+ result = ::Google::Cloud::DiscoveryEngine::V1::SearchResponse.decode_json response.body, ignore_unknown_fields: true
135
+
136
+ yield result, operation if block_given?
137
+ result
138
+ end
139
+
102
140
  ##
103
141
  # @private
104
142
  #
@@ -136,6 +174,44 @@ module Google
136
174
  )
137
175
  transcoder.transcode request_pb
138
176
  end
177
+
178
+ ##
179
+ # @private
180
+ #
181
+ # GRPC transcoding helper method for the search_lite REST call
182
+ #
183
+ # @param request_pb [::Google::Cloud::DiscoveryEngine::V1::SearchRequest]
184
+ # A request object representing the call parameters. Required.
185
+ # @return [Array(String, [String, nil], Hash{String => String})]
186
+ # Uri, Body, Query string parameters
187
+ def self.transcode_search_lite_request request_pb
188
+ transcoder = Gapic::Rest::GrpcTranscoder.new
189
+ .with_bindings(
190
+ uri_method: :post,
191
+ uri_template: "/v1/{serving_config}:searchLite",
192
+ body: "*",
193
+ matches: [
194
+ ["serving_config", %r{^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+/?$}, false]
195
+ ]
196
+ )
197
+ .with_bindings(
198
+ uri_method: :post,
199
+ uri_template: "/v1/{serving_config}:searchLite",
200
+ body: "*",
201
+ matches: [
202
+ ["serving_config", %r{^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+/?$}, false]
203
+ ]
204
+ )
205
+ .with_bindings(
206
+ uri_method: :post,
207
+ uri_template: "/v1/{serving_config}:searchLite",
208
+ body: "*",
209
+ matches: [
210
+ ["serving_config", %r{^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+/?$}, false]
211
+ ]
212
+ )
213
+ transcoder.transcode request_pb
214
+ end
139
215
  end
140
216
  end
141
217
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module DiscoveryEngine
23
23
  module V1
24
- VERSION = "1.2.0"
24
+ VERSION = "1.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -10,7 +10,7 @@ require 'google/protobuf/struct_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n,google/cloud/discoveryengine/v1/answer.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc0\"\n\x06\x41nswer\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12<\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.discoveryengine.v1.Answer.State\x12\x13\n\x0b\x61nswer_text\x18\x03 \x01(\t\x12\x43\n\tcitations\x18\x04 \x03(\x0b\x32\x30.google.cloud.discoveryengine.v1.Answer.Citation\x12\x45\n\nreferences\x18\x05 \x03(\x0b\x32\x31.google.cloud.discoveryengine.v1.Answer.Reference\x12\x19\n\x11related_questions\x18\x06 \x03(\t\x12;\n\x05steps\x18\x07 \x03(\x0b\x32,.google.cloud.discoveryengine.v1.Answer.Step\x12`\n\x18query_understanding_info\x18\n \x01(\x0b\x32>.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo\x12[\n\x16\x61nswer_skipped_reasons\x18\x0b \x03(\x0e\x32;.google.cloud.discoveryengine.v1.Answer.AnswerSkippedReason\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rcomplete_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x1a{\n\x08\x43itation\x12\x13\n\x0bstart_index\x18\x01 \x01(\x03\x12\x11\n\tend_index\x18\x02 \x01(\x03\x12G\n\x07sources\x18\x03 \x03(\x0b\x32\x36.google.cloud.discoveryengine.v1.Answer.CitationSource\x1a&\n\x0e\x43itationSource\x12\x14\n\x0creference_id\x18\x01 \x01(\t\x1a\x82\n\n\tReference\x12p\n\x1aunstructured_document_info\x18\x01 \x01(\x0b\x32J.google.cloud.discoveryengine.v1.Answer.Reference.UnstructuredDocumentInfoH\x00\x12Q\n\nchunk_info\x18\x02 \x01(\x0b\x32;.google.cloud.discoveryengine.v1.Answer.Reference.ChunkInfoH\x00\x12l\n\x18structured_document_info\x18\x03 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.Answer.Reference.StructuredDocumentInfoH\x00\x1a\x81\x03\n\x18UnstructuredDocumentInfo\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12o\n\x0e\x63hunk_contents\x18\x04 \x03(\x0b\x32W.google.cloud.discoveryengine.v1.Answer.Reference.UnstructuredDocumentInfo.ChunkContent\x12,\n\x0bstruct_data\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x1aj\n\x0c\x43hunkContent\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x42\x12\n\x10_relevance_score\x1a\xa9\x03\n\tChunkInfo\x12\x38\n\x05\x63hunk\x18\x01 \x01(\tB)\xfa\x41&\n$discoveryengine.googleapis.com/Chunk\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12g\n\x11\x64ocument_metadata\x18\x04 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.Answer.Reference.ChunkInfo.DocumentMetadata\x1a\xb5\x01\n\x10\x44ocumentMetadata\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x04 \x01(\t\x12,\n\x0bstruct_data\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x12\n\x10_relevance_score\x1a\x86\x01\n\x16StructuredDocumentInfo\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12,\n\x0bstruct_data\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07\x63ontent\x1a\xbc\x08\n\x04Step\x12\x41\n\x05state\x18\x01 \x01(\x0e\x32\x32.google.cloud.discoveryengine.v1.Answer.Step.State\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0f\n\x07thought\x18\x03 \x01(\t\x12\x44\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\x33.google.cloud.discoveryengine.v1.Answer.Step.Action\x1a\xb8\x06\n\x06\x41\x63tion\x12Y\n\rsearch_action\x18\x02 \x01(\x0b\x32@.google.cloud.discoveryengine.v1.Answer.Step.Action.SearchActionH\x00\x12T\n\x0bobservation\x18\x03 \x01(\x0b\x32?.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation\x1a\x1d\n\x0cSearchAction\x12\r\n\x05query\x18\x01 \x01(\t\x1a\xd3\x04\n\x0bObservation\x12\x64\n\x0esearch_results\x18\x02 \x03(\x0b\x32L.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult\x1a\xdd\x03\n\x0cSearchResult\x12\x10\n\x08\x64ocument\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12n\n\x0csnippet_info\x18\x04 \x03(\x0b\x32X.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult.SnippetInfo\x12j\n\nchunk_info\x18\x05 \x03(\x0b\x32V.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult.ChunkInfo\x12,\n\x0bstruct_data\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a\x36\n\x0bSnippetInfo\x12\x0f\n\x07snippet\x18\x01 \x01(\t\x12\x16\n\x0esnippet_status\x18\x02 \x01(\t\x1a]\n\tChunkInfo\x12\r\n\x05\x63hunk\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x42\x12\n\x10_relevance_scoreB\x08\n\x06\x61\x63tion\"J\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x1a\xba\x03\n\x16QueryUnderstandingInfo\x12y\n\x19query_classification_info\x18\x01 \x03(\x0b\x32V.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo.QueryClassificationInfo\x1a\xa4\x02\n\x17QueryClassificationInfo\x12i\n\x04type\x18\x01 \x01(\x0e\x32[.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo.QueryClassificationInfo.Type\x12\x10\n\x08positive\x18\x02 \x01(\x08\"\x8b\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41\x44VERSARIAL_QUERY\x10\x01\x12\x1c\n\x18NON_ANSWER_SEEKING_QUERY\x10\x02\x12\x17\n\x13JAIL_BREAKING_QUERY\x10\x03\x12\x1f\n\x1bNON_ANSWER_SEEKING_QUERY_V2\x10\x04\"J\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\"\xc4\x02\n\x13\x41nswerSkippedReason\x12%\n!ANSWER_SKIPPED_REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x44VERSARIAL_QUERY_IGNORED\x10\x01\x12$\n NON_ANSWER_SEEKING_QUERY_IGNORED\x10\x02\x12\x1f\n\x1bOUT_OF_DOMAIN_QUERY_IGNORED\x10\x03\x12\x1e\n\x1aPOTENTIAL_POLICY_VIOLATION\x10\x04\x12\x17\n\x13NO_RELEVANT_CONTENT\x10\x05\x12\x1f\n\x1bJAIL_BREAKING_QUERY_IGNORED\x10\x06\x12\x1d\n\x19\x43USTOMER_POLICY_VIOLATION\x10\x07\x12\'\n#NON_ANSWER_SEEKING_QUERY_IGNORED_V2\x10\x08:\x85\x03\xea\x41\x81\x03\n%discoveryengine.googleapis.com/Answer\x12\x63projects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}/answers/{answer}\x12|projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}/answers/{answer}\x12uprojects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/answers/{answer}B\xfe\x01\n#com.google.cloud.discoveryengine.v1B\x0b\x41nswerProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
13
+ descriptor_data = "\n,google/cloud/discoveryengine/v1/answer.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd9\"\n\x06\x41nswer\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12<\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.discoveryengine.v1.Answer.State\x12\x13\n\x0b\x61nswer_text\x18\x03 \x01(\t\x12\x43\n\tcitations\x18\x04 \x03(\x0b\x32\x30.google.cloud.discoveryengine.v1.Answer.Citation\x12\x45\n\nreferences\x18\x05 \x03(\x0b\x32\x31.google.cloud.discoveryengine.v1.Answer.Reference\x12\x19\n\x11related_questions\x18\x06 \x03(\t\x12;\n\x05steps\x18\x07 \x03(\x0b\x32,.google.cloud.discoveryengine.v1.Answer.Step\x12`\n\x18query_understanding_info\x18\n \x01(\x0b\x32>.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo\x12[\n\x16\x61nswer_skipped_reasons\x18\x0b \x03(\x0e\x32;.google.cloud.discoveryengine.v1.Answer.AnswerSkippedReason\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rcomplete_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x1a{\n\x08\x43itation\x12\x13\n\x0bstart_index\x18\x01 \x01(\x03\x12\x11\n\tend_index\x18\x02 \x01(\x03\x12G\n\x07sources\x18\x03 \x03(\x0b\x32\x36.google.cloud.discoveryengine.v1.Answer.CitationSource\x1a&\n\x0e\x43itationSource\x12\x14\n\x0creference_id\x18\x01 \x01(\t\x1a\x82\n\n\tReference\x12p\n\x1aunstructured_document_info\x18\x01 \x01(\x0b\x32J.google.cloud.discoveryengine.v1.Answer.Reference.UnstructuredDocumentInfoH\x00\x12Q\n\nchunk_info\x18\x02 \x01(\x0b\x32;.google.cloud.discoveryengine.v1.Answer.Reference.ChunkInfoH\x00\x12l\n\x18structured_document_info\x18\x03 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.Answer.Reference.StructuredDocumentInfoH\x00\x1a\x81\x03\n\x18UnstructuredDocumentInfo\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12o\n\x0e\x63hunk_contents\x18\x04 \x03(\x0b\x32W.google.cloud.discoveryengine.v1.Answer.Reference.UnstructuredDocumentInfo.ChunkContent\x12,\n\x0bstruct_data\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x1aj\n\x0c\x43hunkContent\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x42\x12\n\x10_relevance_score\x1a\xa9\x03\n\tChunkInfo\x12\x38\n\x05\x63hunk\x18\x01 \x01(\tB)\xfa\x41&\n$discoveryengine.googleapis.com/Chunk\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x12g\n\x11\x64ocument_metadata\x18\x04 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.Answer.Reference.ChunkInfo.DocumentMetadata\x1a\xb5\x01\n\x10\x44ocumentMetadata\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x04 \x01(\t\x12,\n\x0bstruct_data\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x12\n\x10_relevance_score\x1a\x86\x01\n\x16StructuredDocumentInfo\x12>\n\x08\x64ocument\x18\x01 \x01(\tB,\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12,\n\x0bstruct_data\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07\x63ontent\x1a\xbc\x08\n\x04Step\x12\x41\n\x05state\x18\x01 \x01(\x0e\x32\x32.google.cloud.discoveryengine.v1.Answer.Step.State\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0f\n\x07thought\x18\x03 \x01(\t\x12\x44\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\x33.google.cloud.discoveryengine.v1.Answer.Step.Action\x1a\xb8\x06\n\x06\x41\x63tion\x12Y\n\rsearch_action\x18\x02 \x01(\x0b\x32@.google.cloud.discoveryengine.v1.Answer.Step.Action.SearchActionH\x00\x12T\n\x0bobservation\x18\x03 \x01(\x0b\x32?.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation\x1a\x1d\n\x0cSearchAction\x12\r\n\x05query\x18\x01 \x01(\t\x1a\xd3\x04\n\x0bObservation\x12\x64\n\x0esearch_results\x18\x02 \x03(\x0b\x32L.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult\x1a\xdd\x03\n\x0cSearchResult\x12\x10\n\x08\x64ocument\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12n\n\x0csnippet_info\x18\x04 \x03(\x0b\x32X.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult.SnippetInfo\x12j\n\nchunk_info\x18\x05 \x03(\x0b\x32V.google.cloud.discoveryengine.v1.Answer.Step.Action.Observation.SearchResult.ChunkInfo\x12,\n\x0bstruct_data\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x1a\x36\n\x0bSnippetInfo\x12\x0f\n\x07snippet\x18\x01 \x01(\t\x12\x16\n\x0esnippet_status\x18\x02 \x01(\t\x1a]\n\tChunkInfo\x12\r\n\x05\x63hunk\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x1c\n\x0frelevance_score\x18\x03 \x01(\x02H\x00\x88\x01\x01\x42\x12\n\x10_relevance_scoreB\x08\n\x06\x61\x63tion\"J\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x1a\xba\x03\n\x16QueryUnderstandingInfo\x12y\n\x19query_classification_info\x18\x01 \x03(\x0b\x32V.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo.QueryClassificationInfo\x1a\xa4\x02\n\x17QueryClassificationInfo\x12i\n\x04type\x18\x01 \x01(\x0e\x32[.google.cloud.discoveryengine.v1.Answer.QueryUnderstandingInfo.QueryClassificationInfo.Type\x12\x10\n\x08positive\x18\x02 \x01(\x08\"\x8b\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41\x44VERSARIAL_QUERY\x10\x01\x12\x1c\n\x18NON_ANSWER_SEEKING_QUERY\x10\x02\x12\x17\n\x13JAIL_BREAKING_QUERY\x10\x03\x12\x1f\n\x1bNON_ANSWER_SEEKING_QUERY_V2\x10\x04\"J\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\"\xdd\x02\n\x13\x41nswerSkippedReason\x12%\n!ANSWER_SKIPPED_REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x44VERSARIAL_QUERY_IGNORED\x10\x01\x12$\n NON_ANSWER_SEEKING_QUERY_IGNORED\x10\x02\x12\x1f\n\x1bOUT_OF_DOMAIN_QUERY_IGNORED\x10\x03\x12\x1e\n\x1aPOTENTIAL_POLICY_VIOLATION\x10\x04\x12\x17\n\x13NO_RELEVANT_CONTENT\x10\x05\x12\x1f\n\x1bJAIL_BREAKING_QUERY_IGNORED\x10\x06\x12\x1d\n\x19\x43USTOMER_POLICY_VIOLATION\x10\x07\x12\'\n#NON_ANSWER_SEEKING_QUERY_IGNORED_V2\x10\x08\x12\x17\n\x13LOW_GROUNDED_ANSWER\x10\t:\x85\x03\xea\x41\x81\x03\n%discoveryengine.googleapis.com/Answer\x12\x63projects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}/answers/{answer}\x12|projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}/answers/{answer}\x12uprojects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/answers/{answer}B\xfe\x01\n#com.google.cloud.discoveryengine.v1B\x0b\x41nswerProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -10,7 +10,7 @@ require 'google/cloud/discoveryengine/v1/common_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n-google/cloud/discoveryengine/v1/control.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/discoveryengine/v1/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc2\x02\n\tCondition\x12I\n\x0bquery_terms\x18\x02 \x03(\x0b\x32\x34.google.cloud.discoveryengine.v1.Condition.QueryTerm\x12O\n\x11\x61\x63tive_time_range\x18\x03 \x03(\x0b\x32\x34.google.cloud.discoveryengine.v1.Condition.TimeRange\x1a.\n\tQueryTerm\x12\r\n\x05value\x18\x01 \x01(\t\x12\x12\n\nfull_match\x18\x02 \x01(\x08\x1ai\n\tTimeRange\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x94\n\n\x07\x43ontrol\x12L\n\x0c\x62oost_action\x18\x06 \x01(\x0b\x32\x34.google.cloud.discoveryengine.v1.Control.BoostActionH\x00\x12N\n\rfilter_action\x18\x07 \x01(\x0b\x32\x35.google.cloud.discoveryengine.v1.Control.FilterActionH\x00\x12R\n\x0fredirect_action\x18\t \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.Control.RedirectActionH\x00\x12R\n\x0fsynonyms_action\x18\n \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.Control.SynonymsActionH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12*\n\x1d\x61ssociated_serving_config_ids\x18\x03 \x03(\tB\x03\xe0\x41\x03\x12L\n\rsolution_type\x18\x04 \x01(\x0e\x32-.google.cloud.discoveryengine.v1.SolutionTypeB\x06\xe0\x41\x02\xe0\x41\x05\x12\x41\n\tuse_cases\x18\x08 \x03(\x0e\x32..google.cloud.discoveryengine.v1.SearchUseCase\x12>\n\nconditions\x18\x05 \x03(\x0b\x32*.google.cloud.discoveryengine.v1.Condition\x1a|\n\x0b\x42oostAction\x12\x12\n\x05\x62oost\x18\x01 \x01(\x02\x42\x03\xe0\x41\x02\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\ndata_store\x18\x03 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x1ai\n\x0c\x46ilterAction\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\ndata_store\x18\x02 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x1a+\n\x0eRedirectAction\x12\x19\n\x0credirect_uri\x18\x01 \x01(\tB\x03\xe0\x41\x02\x1a\"\n\x0eSynonymsAction\x12\x10\n\x08synonyms\x18\x01 \x03(\t:\xd3\x02\xea\x41\xcf\x02\n&discoveryengine.googleapis.com/Control\x12Rprojects/{project}/locations/{location}/dataStores/{data_store}/controls/{control}\x12kprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/controls/{control}\x12\x64projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/controls/{control}B\x08\n\x06\x61\x63tionB\xff\x01\n#com.google.cloud.discoveryengine.v1B\x0c\x43ontrolProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
13
+ descriptor_data = "\n-google/cloud/discoveryengine/v1/control.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/discoveryengine/v1/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdc\x02\n\tCondition\x12I\n\x0bquery_terms\x18\x02 \x03(\x0b\x32\x34.google.cloud.discoveryengine.v1.Condition.QueryTerm\x12O\n\x11\x61\x63tive_time_range\x18\x03 \x03(\x0b\x32\x34.google.cloud.discoveryengine.v1.Condition.TimeRange\x12\x18\n\x0bquery_regex\x18\x04 \x01(\tB\x03\xe0\x41\x01\x1a.\n\tQueryTerm\x12\r\n\x05value\x18\x01 \x01(\t\x12\x12\n\nfull_match\x18\x02 \x01(\x08\x1ai\n\tTimeRange\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x94\n\n\x07\x43ontrol\x12L\n\x0c\x62oost_action\x18\x06 \x01(\x0b\x32\x34.google.cloud.discoveryengine.v1.Control.BoostActionH\x00\x12N\n\rfilter_action\x18\x07 \x01(\x0b\x32\x35.google.cloud.discoveryengine.v1.Control.FilterActionH\x00\x12R\n\x0fredirect_action\x18\t \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.Control.RedirectActionH\x00\x12R\n\x0fsynonyms_action\x18\n \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.Control.SynonymsActionH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12*\n\x1d\x61ssociated_serving_config_ids\x18\x03 \x03(\tB\x03\xe0\x41\x03\x12L\n\rsolution_type\x18\x04 \x01(\x0e\x32-.google.cloud.discoveryengine.v1.SolutionTypeB\x06\xe0\x41\x02\xe0\x41\x05\x12\x41\n\tuse_cases\x18\x08 \x03(\x0e\x32..google.cloud.discoveryengine.v1.SearchUseCase\x12>\n\nconditions\x18\x05 \x03(\x0b\x32*.google.cloud.discoveryengine.v1.Condition\x1a|\n\x0b\x42oostAction\x12\x12\n\x05\x62oost\x18\x01 \x01(\x02\x42\x03\xe0\x41\x02\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\ndata_store\x18\x03 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x1ai\n\x0c\x46ilterAction\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\ndata_store\x18\x02 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x1a+\n\x0eRedirectAction\x12\x19\n\x0credirect_uri\x18\x01 \x01(\tB\x03\xe0\x41\x02\x1a\"\n\x0eSynonymsAction\x12\x10\n\x08synonyms\x18\x01 \x03(\t:\xd3\x02\xea\x41\xcf\x02\n&discoveryengine.googleapis.com/Control\x12Rprojects/{project}/locations/{location}/dataStores/{data_store}/controls/{control}\x12kprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/controls/{control}\x12\x64projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/controls/{control}B\x08\n\x06\x61\x63tionB\xff\x01\n#com.google.cloud.discoveryengine.v1B\x0c\x43ontrolProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -14,7 +14,7 @@ require 'google/cloud/discoveryengine/v1/document_pb'
14
14
  require 'google/protobuf/struct_pb'
15
15
 
16
16
 
17
- descriptor_data = "\n4google/cloud/discoveryengine/v1/search_service.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/discoveryengine/v1/chunk.proto\x1a,google/cloud/discoveryengine/v1/common.proto\x1a.google/cloud/discoveryengine/v1/document.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xdf)\n\rSearchRequest\x12L\n\x0eserving_config\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,discoveryengine.googleapis.com/ServingConfig\x12:\n\x06\x62ranch\x18\x02 \x01(\tB*\xfa\x41\'\n%discoveryengine.googleapis.com/Branch\x12\r\n\x05query\x18\x03 \x01(\t\x12N\n\x0bimage_query\x18\x13 \x01(\x0b\x32\x39.google.cloud.discoveryengine.v1.SearchRequest.ImageQuery\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\x12\x0e\n\x06offset\x18\x06 \x01(\x05\x12\x19\n\x11one_box_page_size\x18/ \x01(\x05\x12V\n\x10\x64\x61ta_store_specs\x18 \x03(\x0b\x32<.google.cloud.discoveryengine.v1.SearchRequest.DataStoreSpec\x12\x0e\n\x06\x66ilter\x18\x07 \x01(\t\x12\x18\n\x10\x63\x61nonical_filter\x18\x1d \x01(\t\x12\x10\n\x08order_by\x18\x08 \x01(\t\x12<\n\tuser_info\x18\x15 \x01(\x0b\x32).google.cloud.discoveryengine.v1.UserInfo\x12\x15\n\rlanguage_code\x18# \x01(\t\x12M\n\x0b\x66\x61\x63\x65t_specs\x18\t \x03(\x0b\x32\x38.google.cloud.discoveryengine.v1.SearchRequest.FacetSpec\x12L\n\nboost_spec\x18\n \x01(\x0b\x32\x38.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec\x12J\n\x06params\x18\x0b \x03(\x0b\x32:.google.cloud.discoveryengine.v1.SearchRequest.ParamsEntry\x12_\n\x14query_expansion_spec\x18\r \x01(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec\x12\x61\n\x15spell_correction_spec\x18\x0e \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec\x12\x16\n\x0euser_pseudo_id\x18\x0f \x01(\t\x12]\n\x13\x63ontent_search_spec\x18\x18 \x01(\x0b\x32@.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec\x12\x13\n\x0bsafe_search\x18\x14 \x01(\x08\x12S\n\x0buser_labels\x18\x16 \x03(\x0b\x32>.google.cloud.discoveryengine.v1.SearchRequest.UserLabelsEntry\x12\x63\n\x17search_as_you_type_spec\x18\x1f \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchRequest.SearchAsYouTypeSpec\x12<\n\x07session\x18) \x01(\tB+\xfa\x41(\n&discoveryengine.googleapis.com/Session\x12P\n\x0csession_spec\x18* \x01(\x0b\x32:.google.cloud.discoveryengine.v1.SearchRequest.SessionSpec\x1a,\n\nImageQuery\x12\x15\n\x0bimage_bytes\x18\x01 \x01(\tH\x00\x42\x07\n\x05image\x1aj\n\rDataStoreSpec\x12\x44\n\ndata_store\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x1a\xfc\x02\n\tFacetSpec\x12Y\n\tfacet_key\x18\x01 \x01(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKeyB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x02 \x01(\x05\x12\x1c\n\x14\x65xcluded_filter_keys\x18\x03 \x03(\t\x12\x1f\n\x17\x65nable_dynamic_position\x18\x04 \x01(\x08\x1a\xc5\x01\n\x08\x46\x61\x63\x65tKey\x12\x10\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12<\n\tintervals\x18\x02 \x03(\x0b\x32).google.cloud.discoveryengine.v1.Interval\x12\x19\n\x11restricted_values\x18\x03 \x03(\t\x12\x10\n\x08prefixes\x18\x04 \x03(\t\x12\x10\n\x08\x63ontains\x18\x05 \x03(\t\x12\x18\n\x10\x63\x61se_insensitive\x18\x06 \x01(\x08\x12\x10\n\x08order_by\x18\x07 \x01(\t\x1a\xbc\x07\n\tBoostSpec\x12j\n\x15\x63ondition_boost_specs\x18\x01 \x03(\x0b\x32K.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec\x1a\xc2\x06\n\x12\x43onditionBoostSpec\x12\x11\n\tcondition\x18\x01 \x01(\t\x12\r\n\x05\x62oost\x18\x02 \x01(\x02\x12x\n\x12\x62oost_control_spec\x18\x03 \x01(\x0b\x32\\.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec\x1a\x8f\x05\n\x10\x42oostControlSpec\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x82\x01\n\x0e\x61ttribute_type\x18\x02 \x01(\x0e\x32j.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType\x12\x8a\x01\n\x12interpolation_type\x18\x03 \x01(\x0e\x32n.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType\x12\x81\x01\n\x0e\x63ontrol_points\x18\x04 \x03(\x0b\x32i.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint\x1a=\n\x0c\x43ontrolPoint\x12\x17\n\x0f\x61ttribute_value\x18\x01 \x01(\t\x12\x14\n\x0c\x62oost_amount\x18\x02 \x01(\x02\"M\n\rAttributeType\x12\x1e\n\x1a\x41TTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tNUMERICAL\x10\x01\x12\r\n\tFRESHNESS\x10\x02\"C\n\x11InterpolationType\x12\"\n\x1eINTERPOLATION_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06LINEAR\x10\x01\x1a\xd4\x01\n\x12QueryExpansionSpec\x12^\n\tcondition\x18\x01 \x01(\x0e\x32K.google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec.Condition\x12\x1e\n\x16pin_unexpanded_results\x18\x02 \x01(\x08\">\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x1a\xa9\x01\n\x13SpellCorrectionSpec\x12U\n\x04mode\x18\x01 \x01(\x0e\x32G.google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec.Mode\";\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSUGGESTION_ONLY\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x1a\xa2\x0c\n\x11\x43ontentSearchSpec\x12\x62\n\x0csnippet_spec\x18\x01 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SnippetSpec\x12\x62\n\x0csummary_spec\x18\x02 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec\x12w\n\x17\x65xtractive_content_spec\x18\x03 \x01(\x0b\x32V.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.ExtractiveContentSpec\x12m\n\x12search_result_mode\x18\x04 \x01(\x0e\x32Q.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SearchResultMode\x12^\n\nchunk_spec\x18\x05 \x01(\x0b\x32J.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.ChunkSpec\x1a`\n\x0bSnippetSpec\x12\x1d\n\x11max_snippet_count\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x1a\n\x0ereference_only\x18\x02 \x01(\x08\x42\x02\x18\x01\x12\x16\n\x0ereturn_snippet\x18\x03 \x01(\x08\x1a\xbc\x04\n\x0bSummarySpec\x12\x1c\n\x14summary_result_count\x18\x01 \x01(\x05\x12\x19\n\x11include_citations\x18\x02 \x01(\x08\x12 \n\x18ignore_adversarial_query\x18\x03 \x01(\x08\x12(\n ignore_non_summary_seeking_query\x18\x04 \x01(\x08\x12#\n\x1bignore_low_relevant_content\x18\t \x01(\x08\x12\'\n\x1aignore_jail_breaking_query\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12w\n\x11model_prompt_spec\x18\x05 \x01(\x0b\x32\\.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ModelPromptSpec\x12\x15\n\rlanguage_code\x18\x06 \x01(\t\x12j\n\nmodel_spec\x18\x07 \x01(\x0b\x32V.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ModelSpec\x12\x1b\n\x13use_semantic_chunks\x18\x08 \x01(\x08\x1a#\n\x0fModelPromptSpec\x12\x10\n\x08preamble\x18\x01 \x01(\t\x1a\x1c\n\tModelSpec\x12\x0f\n\x07version\x18\x01 \x01(\t\x1a\xc5\x01\n\x15\x45xtractiveContentSpec\x12#\n\x1bmax_extractive_answer_count\x18\x01 \x01(\x05\x12$\n\x1cmax_extractive_segment_count\x18\x02 \x01(\x05\x12\'\n\x1freturn_extractive_segment_score\x18\x03 \x01(\x08\x12\x1d\n\x15num_previous_segments\x18\x04 \x01(\x05\x12\x19\n\x11num_next_segments\x18\x05 \x01(\x05\x1a\x41\n\tChunkSpec\x12\x1b\n\x13num_previous_chunks\x18\x01 \x01(\x05\x12\x17\n\x0fnum_next_chunks\x18\x02 \x01(\x05\"Q\n\x10SearchResultMode\x12\"\n\x1eSEARCH_RESULT_MODE_UNSPECIFIED\x10\x00\x12\r\n\tDOCUMENTS\x10\x01\x12\n\n\x06\x43HUNKS\x10\x02\x1a\xb9\x01\n\x13SearchAsYouTypeSpec\x12_\n\tcondition\x18\x01 \x01(\x0e\x32L.google.cloud.discoveryengine.v1.SearchRequest.SearchAsYouTypeSpec.Condition\"A\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x1aq\n\x0bSessionSpec\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12,\n\x1fsearch_result_persistence_count\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\"\n _search_result_persistence_count\x1a\x45\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb9\x14\n\x0eSearchResponse\x12M\n\x07results\x18\x01 \x03(\x0b\x32<.google.cloud.discoveryengine.v1.SearchResponse.SearchResult\x12\x45\n\x06\x66\x61\x63\x65ts\x18\x02 \x03(\x0b\x32\x35.google.cloud.discoveryengine.v1.SearchResponse.Facet\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\x12\x19\n\x11\x61ttribution_token\x18\x04 \x01(\t\x12\x14\n\x0credirect_uri\x18\x0c \x01(\t\x12\x17\n\x0fnext_page_token\x18\x05 \x01(\t\x12\x17\n\x0f\x63orrected_query\x18\x07 \x01(\t\x12H\n\x07summary\x18\t \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.SearchResponse.Summary\x12`\n\x14query_expansion_info\x18\x0e \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchResponse.QueryExpansionInfo\x12Q\n\x0csession_info\x18\x13 \x01(\x0b\x32;.google.cloud.discoveryengine.v1.SearchResponse.SessionInfo\x1a\x8e\x01\n\x0cSearchResult\x12\n\n\x02id\x18\x01 \x01(\t\x12;\n\x08\x64ocument\x18\x02 \x01(\x0b\x32).google.cloud.discoveryengine.v1.Document\x12\x35\n\x05\x63hunk\x18\x12 \x01(\x0b\x32&.google.cloud.discoveryengine.v1.Chunk\x1a\xf9\x01\n\x05\x46\x61\x63\x65t\x12\x0b\n\x03key\x18\x01 \x01(\t\x12P\n\x06values\x18\x02 \x03(\x0b\x32@.google.cloud.discoveryengine.v1.SearchResponse.Facet.FacetValue\x12\x15\n\rdynamic_facet\x18\x03 \x01(\x08\x1az\n\nFacetValue\x12\x0f\n\x05value\x18\x01 \x01(\tH\x00\x12=\n\x08interval\x18\x02 \x01(\x0b\x32).google.cloud.discoveryengine.v1.IntervalH\x00\x12\r\n\x05\x63ount\x18\x03 \x01(\x03\x42\r\n\x0b\x66\x61\x63\x65t_value\x1a\x93\x0c\n\x07Summary\x12\x14\n\x0csummary_text\x18\x01 \x01(\t\x12m\n\x17summary_skipped_reasons\x18\x02 \x03(\x0e\x32L.google.cloud.discoveryengine.v1.SearchResponse.Summary.SummarySkippedReason\x12\x63\n\x11safety_attributes\x18\x03 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.SearchResponse.Summary.SafetyAttributes\x12j\n\x15summary_with_metadata\x18\x04 \x01(\x0b\x32K.google.cloud.discoveryengine.v1.SearchResponse.Summary.SummaryWithMetadata\x1a\x36\n\x10SafetyAttributes\x12\x12\n\ncategories\x18\x01 \x03(\t\x12\x0e\n\x06scores\x18\x02 \x03(\x02\x1ag\n\x10\x43itationMetadata\x12S\n\tcitations\x18\x01 \x03(\x0b\x32@.google.cloud.discoveryengine.v1.SearchResponse.Summary.Citation\x1a\x8b\x01\n\x08\x43itation\x12\x13\n\x0bstart_index\x18\x01 \x01(\x03\x12\x11\n\tend_index\x18\x02 \x01(\x03\x12W\n\x07sources\x18\x03 \x03(\x0b\x32\x46.google.cloud.discoveryengine.v1.SearchResponse.Summary.CitationSource\x1a)\n\x0e\x43itationSource\x12\x17\n\x0freference_index\x18\x04 \x01(\x03\x1a\x8c\x02\n\tReference\x12\r\n\x05title\x18\x01 \x01(\t\x12\x41\n\x08\x64ocument\x18\x02 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x03 \x01(\t\x12\x66\n\x0e\x63hunk_contents\x18\x04 \x03(\x0b\x32N.google.cloud.discoveryengine.v1.SearchResponse.Summary.Reference.ChunkContent\x1a\x38\n\x0c\x43hunkContent\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x02 \x01(\t\x1a\xe2\x01\n\x13SummaryWithMetadata\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12\x63\n\x11\x63itation_metadata\x18\x02 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.SearchResponse.Summary.CitationMetadata\x12U\n\nreferences\x18\x03 \x03(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchResponse.Summary.Reference\"\xe3\x02\n\x14SummarySkippedReason\x12&\n\"SUMMARY_SKIPPED_REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x44VERSARIAL_QUERY_IGNORED\x10\x01\x12%\n!NON_SUMMARY_SEEKING_QUERY_IGNORED\x10\x02\x12\x1f\n\x1bOUT_OF_DOMAIN_QUERY_IGNORED\x10\x03\x12\x1e\n\x1aPOTENTIAL_POLICY_VIOLATION\x10\x04\x12\x19\n\x15LLM_ADDON_NOT_ENABLED\x10\x05\x12\x17\n\x13NO_RELEVANT_CONTENT\x10\x06\x12\x1f\n\x1bJAIL_BREAKING_QUERY_IGNORED\x10\x07\x12\x1d\n\x19\x43USTOMER_POLICY_VIOLATION\x10\x08\x12(\n$NON_SUMMARY_SEEKING_QUERY_IGNORED_V2\x10\t\x1aI\n\x12QueryExpansionInfo\x12\x16\n\x0e\x65xpanded_query\x18\x01 \x01(\x08\x12\x1b\n\x13pinned_result_count\x18\x02 \x01(\x03\x1a-\n\x0bSessionInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08query_id\x18\x02 \x01(\t2\xf5\x03\n\rSearchService\x12\x8f\x03\n\x06Search\x12..google.cloud.discoveryengine.v1.SearchRequest\x1a/.google.cloud.discoveryengine.v1.SearchResponse\"\xa3\x02\x82\xd3\xe4\x93\x02\x9c\x02\"P/v1/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:search:\x01*Zc\"^/v1/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:search:\x01*Z`\"[/v1/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search:\x01*\x1aR\xca\x41\x1e\x64iscoveryengine.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x85\x02\n#com.google.cloud.discoveryengine.v1B\x12SearchServiceProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
17
+ descriptor_data = "\n4google/cloud/discoveryengine/v1/search_service.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/discoveryengine/v1/chunk.proto\x1a,google/cloud/discoveryengine/v1/common.proto\x1a.google/cloud/discoveryengine/v1/document.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xdf)\n\rSearchRequest\x12L\n\x0eserving_config\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,discoveryengine.googleapis.com/ServingConfig\x12:\n\x06\x62ranch\x18\x02 \x01(\tB*\xfa\x41\'\n%discoveryengine.googleapis.com/Branch\x12\r\n\x05query\x18\x03 \x01(\t\x12N\n\x0bimage_query\x18\x13 \x01(\x0b\x32\x39.google.cloud.discoveryengine.v1.SearchRequest.ImageQuery\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\x12\x0e\n\x06offset\x18\x06 \x01(\x05\x12\x19\n\x11one_box_page_size\x18/ \x01(\x05\x12V\n\x10\x64\x61ta_store_specs\x18 \x03(\x0b\x32<.google.cloud.discoveryengine.v1.SearchRequest.DataStoreSpec\x12\x0e\n\x06\x66ilter\x18\x07 \x01(\t\x12\x18\n\x10\x63\x61nonical_filter\x18\x1d \x01(\t\x12\x10\n\x08order_by\x18\x08 \x01(\t\x12<\n\tuser_info\x18\x15 \x01(\x0b\x32).google.cloud.discoveryengine.v1.UserInfo\x12\x15\n\rlanguage_code\x18# \x01(\t\x12M\n\x0b\x66\x61\x63\x65t_specs\x18\t \x03(\x0b\x32\x38.google.cloud.discoveryengine.v1.SearchRequest.FacetSpec\x12L\n\nboost_spec\x18\n \x01(\x0b\x32\x38.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec\x12J\n\x06params\x18\x0b \x03(\x0b\x32:.google.cloud.discoveryengine.v1.SearchRequest.ParamsEntry\x12_\n\x14query_expansion_spec\x18\r \x01(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec\x12\x61\n\x15spell_correction_spec\x18\x0e \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec\x12\x16\n\x0euser_pseudo_id\x18\x0f \x01(\t\x12]\n\x13\x63ontent_search_spec\x18\x18 \x01(\x0b\x32@.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec\x12\x13\n\x0bsafe_search\x18\x14 \x01(\x08\x12S\n\x0buser_labels\x18\x16 \x03(\x0b\x32>.google.cloud.discoveryengine.v1.SearchRequest.UserLabelsEntry\x12\x63\n\x17search_as_you_type_spec\x18\x1f \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchRequest.SearchAsYouTypeSpec\x12<\n\x07session\x18) \x01(\tB+\xfa\x41(\n&discoveryengine.googleapis.com/Session\x12P\n\x0csession_spec\x18* \x01(\x0b\x32:.google.cloud.discoveryengine.v1.SearchRequest.SessionSpec\x1a,\n\nImageQuery\x12\x15\n\x0bimage_bytes\x18\x01 \x01(\tH\x00\x42\x07\n\x05image\x1aj\n\rDataStoreSpec\x12\x44\n\ndata_store\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(discoveryengine.googleapis.com/DataStore\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x1a\xfc\x02\n\tFacetSpec\x12Y\n\tfacet_key\x18\x01 \x01(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKeyB\x03\xe0\x41\x02\x12\r\n\x05limit\x18\x02 \x01(\x05\x12\x1c\n\x14\x65xcluded_filter_keys\x18\x03 \x03(\t\x12\x1f\n\x17\x65nable_dynamic_position\x18\x04 \x01(\x08\x1a\xc5\x01\n\x08\x46\x61\x63\x65tKey\x12\x10\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12<\n\tintervals\x18\x02 \x03(\x0b\x32).google.cloud.discoveryengine.v1.Interval\x12\x19\n\x11restricted_values\x18\x03 \x03(\t\x12\x10\n\x08prefixes\x18\x04 \x03(\t\x12\x10\n\x08\x63ontains\x18\x05 \x03(\t\x12\x18\n\x10\x63\x61se_insensitive\x18\x06 \x01(\x08\x12\x10\n\x08order_by\x18\x07 \x01(\t\x1a\xbc\x07\n\tBoostSpec\x12j\n\x15\x63ondition_boost_specs\x18\x01 \x03(\x0b\x32K.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec\x1a\xc2\x06\n\x12\x43onditionBoostSpec\x12\x11\n\tcondition\x18\x01 \x01(\t\x12\r\n\x05\x62oost\x18\x02 \x01(\x02\x12x\n\x12\x62oost_control_spec\x18\x03 \x01(\x0b\x32\\.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec\x1a\x8f\x05\n\x10\x42oostControlSpec\x12\x12\n\nfield_name\x18\x01 \x01(\t\x12\x82\x01\n\x0e\x61ttribute_type\x18\x02 \x01(\x0e\x32j.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType\x12\x8a\x01\n\x12interpolation_type\x18\x03 \x01(\x0e\x32n.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType\x12\x81\x01\n\x0e\x63ontrol_points\x18\x04 \x03(\x0b\x32i.google.cloud.discoveryengine.v1.SearchRequest.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint\x1a=\n\x0c\x43ontrolPoint\x12\x17\n\x0f\x61ttribute_value\x18\x01 \x01(\t\x12\x14\n\x0c\x62oost_amount\x18\x02 \x01(\x02\"M\n\rAttributeType\x12\x1e\n\x1a\x41TTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\r\n\tNUMERICAL\x10\x01\x12\r\n\tFRESHNESS\x10\x02\"C\n\x11InterpolationType\x12\"\n\x1eINTERPOLATION_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06LINEAR\x10\x01\x1a\xd4\x01\n\x12QueryExpansionSpec\x12^\n\tcondition\x18\x01 \x01(\x0e\x32K.google.cloud.discoveryengine.v1.SearchRequest.QueryExpansionSpec.Condition\x12\x1e\n\x16pin_unexpanded_results\x18\x02 \x01(\x08\">\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x1a\xa9\x01\n\x13SpellCorrectionSpec\x12U\n\x04mode\x18\x01 \x01(\x0e\x32G.google.cloud.discoveryengine.v1.SearchRequest.SpellCorrectionSpec.Mode\";\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSUGGESTION_ONLY\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x1a\xa2\x0c\n\x11\x43ontentSearchSpec\x12\x62\n\x0csnippet_spec\x18\x01 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SnippetSpec\x12\x62\n\x0csummary_spec\x18\x02 \x01(\x0b\x32L.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec\x12w\n\x17\x65xtractive_content_spec\x18\x03 \x01(\x0b\x32V.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.ExtractiveContentSpec\x12m\n\x12search_result_mode\x18\x04 \x01(\x0e\x32Q.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SearchResultMode\x12^\n\nchunk_spec\x18\x05 \x01(\x0b\x32J.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.ChunkSpec\x1a`\n\x0bSnippetSpec\x12\x1d\n\x11max_snippet_count\x18\x01 \x01(\x05\x42\x02\x18\x01\x12\x1a\n\x0ereference_only\x18\x02 \x01(\x08\x42\x02\x18\x01\x12\x16\n\x0ereturn_snippet\x18\x03 \x01(\x08\x1a\xbc\x04\n\x0bSummarySpec\x12\x1c\n\x14summary_result_count\x18\x01 \x01(\x05\x12\x19\n\x11include_citations\x18\x02 \x01(\x08\x12 \n\x18ignore_adversarial_query\x18\x03 \x01(\x08\x12(\n ignore_non_summary_seeking_query\x18\x04 \x01(\x08\x12#\n\x1bignore_low_relevant_content\x18\t \x01(\x08\x12\'\n\x1aignore_jail_breaking_query\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12w\n\x11model_prompt_spec\x18\x05 \x01(\x0b\x32\\.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ModelPromptSpec\x12\x15\n\rlanguage_code\x18\x06 \x01(\t\x12j\n\nmodel_spec\x18\x07 \x01(\x0b\x32V.google.cloud.discoveryengine.v1.SearchRequest.ContentSearchSpec.SummarySpec.ModelSpec\x12\x1b\n\x13use_semantic_chunks\x18\x08 \x01(\x08\x1a#\n\x0fModelPromptSpec\x12\x10\n\x08preamble\x18\x01 \x01(\t\x1a\x1c\n\tModelSpec\x12\x0f\n\x07version\x18\x01 \x01(\t\x1a\xc5\x01\n\x15\x45xtractiveContentSpec\x12#\n\x1bmax_extractive_answer_count\x18\x01 \x01(\x05\x12$\n\x1cmax_extractive_segment_count\x18\x02 \x01(\x05\x12\'\n\x1freturn_extractive_segment_score\x18\x03 \x01(\x08\x12\x1d\n\x15num_previous_segments\x18\x04 \x01(\x05\x12\x19\n\x11num_next_segments\x18\x05 \x01(\x05\x1a\x41\n\tChunkSpec\x12\x1b\n\x13num_previous_chunks\x18\x01 \x01(\x05\x12\x17\n\x0fnum_next_chunks\x18\x02 \x01(\x05\"Q\n\x10SearchResultMode\x12\"\n\x1eSEARCH_RESULT_MODE_UNSPECIFIED\x10\x00\x12\r\n\tDOCUMENTS\x10\x01\x12\n\n\x06\x43HUNKS\x10\x02\x1a\xb9\x01\n\x13SearchAsYouTypeSpec\x12_\n\tcondition\x18\x01 \x01(\x0e\x32L.google.cloud.discoveryengine.v1.SearchRequest.SearchAsYouTypeSpec.Condition\"A\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x1aq\n\x0bSessionSpec\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12,\n\x1fsearch_result_persistence_count\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\"\n _search_result_persistence_count\x1a\x45\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb9\x14\n\x0eSearchResponse\x12M\n\x07results\x18\x01 \x03(\x0b\x32<.google.cloud.discoveryengine.v1.SearchResponse.SearchResult\x12\x45\n\x06\x66\x61\x63\x65ts\x18\x02 \x03(\x0b\x32\x35.google.cloud.discoveryengine.v1.SearchResponse.Facet\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\x12\x19\n\x11\x61ttribution_token\x18\x04 \x01(\t\x12\x14\n\x0credirect_uri\x18\x0c \x01(\t\x12\x17\n\x0fnext_page_token\x18\x05 \x01(\t\x12\x17\n\x0f\x63orrected_query\x18\x07 \x01(\t\x12H\n\x07summary\x18\t \x01(\x0b\x32\x37.google.cloud.discoveryengine.v1.SearchResponse.Summary\x12`\n\x14query_expansion_info\x18\x0e \x01(\x0b\x32\x42.google.cloud.discoveryengine.v1.SearchResponse.QueryExpansionInfo\x12Q\n\x0csession_info\x18\x13 \x01(\x0b\x32;.google.cloud.discoveryengine.v1.SearchResponse.SessionInfo\x1a\x8e\x01\n\x0cSearchResult\x12\n\n\x02id\x18\x01 \x01(\t\x12;\n\x08\x64ocument\x18\x02 \x01(\x0b\x32).google.cloud.discoveryengine.v1.Document\x12\x35\n\x05\x63hunk\x18\x12 \x01(\x0b\x32&.google.cloud.discoveryengine.v1.Chunk\x1a\xf9\x01\n\x05\x46\x61\x63\x65t\x12\x0b\n\x03key\x18\x01 \x01(\t\x12P\n\x06values\x18\x02 \x03(\x0b\x32@.google.cloud.discoveryengine.v1.SearchResponse.Facet.FacetValue\x12\x15\n\rdynamic_facet\x18\x03 \x01(\x08\x1az\n\nFacetValue\x12\x0f\n\x05value\x18\x01 \x01(\tH\x00\x12=\n\x08interval\x18\x02 \x01(\x0b\x32).google.cloud.discoveryengine.v1.IntervalH\x00\x12\r\n\x05\x63ount\x18\x03 \x01(\x03\x42\r\n\x0b\x66\x61\x63\x65t_value\x1a\x93\x0c\n\x07Summary\x12\x14\n\x0csummary_text\x18\x01 \x01(\t\x12m\n\x17summary_skipped_reasons\x18\x02 \x03(\x0e\x32L.google.cloud.discoveryengine.v1.SearchResponse.Summary.SummarySkippedReason\x12\x63\n\x11safety_attributes\x18\x03 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.SearchResponse.Summary.SafetyAttributes\x12j\n\x15summary_with_metadata\x18\x04 \x01(\x0b\x32K.google.cloud.discoveryengine.v1.SearchResponse.Summary.SummaryWithMetadata\x1a\x36\n\x10SafetyAttributes\x12\x12\n\ncategories\x18\x01 \x03(\t\x12\x0e\n\x06scores\x18\x02 \x03(\x02\x1ag\n\x10\x43itationMetadata\x12S\n\tcitations\x18\x01 \x03(\x0b\x32@.google.cloud.discoveryengine.v1.SearchResponse.Summary.Citation\x1a\x8b\x01\n\x08\x43itation\x12\x13\n\x0bstart_index\x18\x01 \x01(\x03\x12\x11\n\tend_index\x18\x02 \x01(\x03\x12W\n\x07sources\x18\x03 \x03(\x0b\x32\x46.google.cloud.discoveryengine.v1.SearchResponse.Summary.CitationSource\x1a)\n\x0e\x43itationSource\x12\x17\n\x0freference_index\x18\x04 \x01(\x03\x1a\x8c\x02\n\tReference\x12\r\n\x05title\x18\x01 \x01(\t\x12\x41\n\x08\x64ocument\x18\x02 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'discoveryengine.googleapis.com/Document\x12\x0b\n\x03uri\x18\x03 \x01(\t\x12\x66\n\x0e\x63hunk_contents\x18\x04 \x03(\x0b\x32N.google.cloud.discoveryengine.v1.SearchResponse.Summary.Reference.ChunkContent\x1a\x38\n\x0c\x43hunkContent\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x17\n\x0fpage_identifier\x18\x02 \x01(\t\x1a\xe2\x01\n\x13SummaryWithMetadata\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12\x63\n\x11\x63itation_metadata\x18\x02 \x01(\x0b\x32H.google.cloud.discoveryengine.v1.SearchResponse.Summary.CitationMetadata\x12U\n\nreferences\x18\x03 \x03(\x0b\x32\x41.google.cloud.discoveryengine.v1.SearchResponse.Summary.Reference\"\xe3\x02\n\x14SummarySkippedReason\x12&\n\"SUMMARY_SKIPPED_REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41\x44VERSARIAL_QUERY_IGNORED\x10\x01\x12%\n!NON_SUMMARY_SEEKING_QUERY_IGNORED\x10\x02\x12\x1f\n\x1bOUT_OF_DOMAIN_QUERY_IGNORED\x10\x03\x12\x1e\n\x1aPOTENTIAL_POLICY_VIOLATION\x10\x04\x12\x19\n\x15LLM_ADDON_NOT_ENABLED\x10\x05\x12\x17\n\x13NO_RELEVANT_CONTENT\x10\x06\x12\x1f\n\x1bJAIL_BREAKING_QUERY_IGNORED\x10\x07\x12\x1d\n\x19\x43USTOMER_POLICY_VIOLATION\x10\x08\x12(\n$NON_SUMMARY_SEEKING_QUERY_IGNORED_V2\x10\t\x1aI\n\x12QueryExpansionInfo\x12\x16\n\x0e\x65xpanded_query\x18\x01 \x01(\x08\x12\x1b\n\x13pinned_result_count\x18\x02 \x01(\x03\x1a-\n\x0bSessionInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08query_id\x18\x02 \x01(\t2\x97\x07\n\rSearchService\x12\x8f\x03\n\x06Search\x12..google.cloud.discoveryengine.v1.SearchRequest\x1a/.google.cloud.discoveryengine.v1.SearchResponse\"\xa3\x02\x82\xd3\xe4\x93\x02\x9c\x02\"P/v1/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:search:\x01*Zc\"^/v1/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:search:\x01*Z`\"[/v1/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search:\x01*\x12\x9f\x03\n\nSearchLite\x12..google.cloud.discoveryengine.v1.SearchRequest\x1a/.google.cloud.discoveryengine.v1.SearchResponse\"\xaf\x02\x82\xd3\xe4\x93\x02\xa8\x02\"T/v1/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:searchLite:\x01*Zg\"b/v1/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:searchLite:\x01*Zd\"_/v1/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:searchLite:\x01*\x1aR\xca\x41\x1e\x64iscoveryengine.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x85\x02\n#com.google.cloud.discoveryengine.v1B\x12SearchServiceProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0f\x44ISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
18
18
 
19
19
  pool = Google::Protobuf::DescriptorPool.generated_pool
20
20
 
@@ -35,6 +35,20 @@ module Google
35
35
 
36
36
  # Performs a search.
37
37
  rpc :Search, ::Google::Cloud::DiscoveryEngine::V1::SearchRequest, ::Google::Cloud::DiscoveryEngine::V1::SearchResponse
38
+ # Performs a search. Similar to the
39
+ # [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]
40
+ # method, but a lite version that allows API key for authentication, where
41
+ # OAuth and IAM checks are not required.
42
+ #
43
+ # Only public website search is supported by this method. If data stores and
44
+ # engines not associated with public website search are specified, a
45
+ # `FAILED_PRECONDITION` error is returned.
46
+ #
47
+ # This method can be used for easy onboarding without having to implement an
48
+ # authentication backend. However, it is strongly recommended to use
49
+ # [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search]
50
+ # instead with required OAuth and IAM checks to provide better data security.
51
+ rpc :SearchLite, ::Google::Cloud::DiscoveryEngine::V1::SearchRequest, ::Google::Cloud::DiscoveryEngine::V1::SearchResponse
38
52
  end
39
53
 
40
54
  Stub = Service.rpc_stub_class
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -375,6 +378,17 @@ module Google
375
378
  end
376
379
  end
377
380
 
381
+ # This message is used to configure the generation of a subset of the RPCs in
382
+ # a service for client libraries.
383
+ # @!attribute [rw] methods
384
+ # @return [::Array<::String>]
385
+ # An allowlist of the fully qualified names of RPCs that should be included
386
+ # on public client surfaces.
387
+ class SelectiveGapicGeneration
388
+ include ::Google::Protobuf::MessageExts
389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
390
+ end
391
+
378
392
  # The organization for which the client libraries are being published.
379
393
  # Affects the url where generated docs are published, etc.
380
394
  module ClientLibraryOrganization
@@ -422,6 +422,12 @@ module Google
422
422
  #
423
423
  # Google skips the answer if the query doesn't have clear intent.
424
424
  NON_ANSWER_SEEKING_QUERY_IGNORED_V2 = 8
425
+
426
+ # The low-grounded answer case.
427
+ #
428
+ # Google skips the answer if a well grounded answer was unable to be
429
+ # generated.
430
+ LOW_GROUNDED_ANSWER = 9
425
431
  end
426
432
  end
427
433
  end
@@ -26,6 +26,9 @@ module Google
26
26
  # @return [::Array<::Google::Cloud::DiscoveryEngine::V1::Condition::QueryTerm>]
27
27
  # Search only
28
28
  # A list of terms to match the query on.
29
+ # Cannot be set when
30
+ # {::Google::Cloud::DiscoveryEngine::V1::Condition#query_regex Condition.query_regex}
31
+ # is set.
29
32
  #
30
33
  # Maximum of 10 query terms.
31
34
  # @!attribute [rw] active_time_range
@@ -33,6 +36,12 @@ module Google
33
36
  # Range of time(s) specifying when condition is active.
34
37
  #
35
38
  # Maximum of 10 time ranges.
39
+ # @!attribute [rw] query_regex
40
+ # @return [::String]
41
+ # Optional. Query regex to match the whole search query.
42
+ # Cannot be set when
43
+ # {::Google::Cloud::DiscoveryEngine::V1::Condition#query_terms Condition.query_terms}
44
+ # is set. This is currently supporting promotion use case.
36
45
  class Condition
37
46
  include ::Google::Protobuf::MessageExts
38
47
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -274,7 +274,7 @@ module Google
274
274
  # {::Google::Cloud::DiscoveryEngine::V1::Document Document}.
275
275
  # @!attribute [rw] fhir_resource
276
276
  # @return [::String]
277
- # Required. Format:
277
+ # Format:
278
278
  # projects/\\{project}/locations/\\{location}/datasets/\\{dataset}/fhirStores/\\{fhir_store}/fhir/\\{resource_type}/\\{fhir_resource_id}
279
279
  class MatcherValue
280
280
  include ::Google::Protobuf::MessageExts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-discovery_engine-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-15 00:00:00.000000000 Z
11
+ date: 2024-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common