couchbase 4.2.8 → 4.2.10
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.
- package/CMakeLists.txt +1 -1
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-client/CMakeLists.txt +401 -424
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +7 -3
- package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +1 -0
- package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
- package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
- package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/bucket.cxx +74 -10
- package/deps/couchbase-cxx-client/core/bucket.hxx +4 -2
- package/deps/couchbase-cxx-client/core/cluster.cxx +1491 -108
- package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
- package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
- package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
- package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
- package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
- package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
- package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
- package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
- package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
- package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
- package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
- package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +102 -0
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +299 -44
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
- package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
- package/deps/couchbase-cxx-client/core/impl/diagnostics.cxx +294 -0
- package/deps/couchbase-cxx-client/core/impl/diagnostics.hxx +39 -0
- package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
- package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
- package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
- package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
- package/deps/couchbase-cxx-client/core/impl/scope.cxx +187 -0
- package/deps/couchbase-cxx-client/core/impl/search.cxx +81 -57
- package/deps/couchbase-cxx-client/core/impl/search.hxx +45 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +712 -0
- package/deps/couchbase-cxx-client/core/impl/search_request.cxx +139 -0
- package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
- package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
- package/deps/couchbase-cxx-client/core/impl/vector_query.cxx +42 -0
- package/deps/couchbase-cxx-client/core/impl/vector_search.cxx +40 -0
- package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
- package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
- package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +6 -3
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +75 -53
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -1
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
- package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
- package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +38 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +23 -2
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +37 -1
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +11 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +9 -6
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +9 -8
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +9 -5
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +23 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +39 -22
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +20 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +19 -1
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
- package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
- package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
- package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
- package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
- package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
- package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
- package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
- package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
- package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/collections_manifest_json.hxx +1 -1
- package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
- package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
- package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
- package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
- package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
- package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
- package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
- package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
- package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
- package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -13
- package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
- package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
- package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
- package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
- package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
- package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
- package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
- package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
- package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
- package/deps/couchbase-cxx-client/core/vector_query_combination.hxx +23 -0
- package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
- package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
- package/deps/couchbase-cxx-client/couchbase/bucket.hxx +42 -30
- package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
- package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/cluster.hxx +151 -73
- package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
- package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_binary_transcoder.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/codec/raw_json_transcoder.hxx +78 -0
- package/deps/couchbase-cxx-client/couchbase/codec/raw_string_transcoder.hxx +72 -0
- package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
- package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
- package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
- package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/diagnostics_options.hxx +75 -0
- package/deps/couchbase-cxx-client/couchbase/diagnostics_result.hxx +124 -0
- package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
- package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_diagnostics.hxx +206 -0
- package/deps/couchbase-cxx-client/couchbase/endpoint_ping_report.hxx +205 -0
- package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
- package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
- package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
- package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
- package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
- package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
- package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
- package/deps/couchbase-cxx-client/couchbase/get_options.hxx +1 -29
- package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
- package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
- package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
- package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
- package/deps/couchbase-cxx-client/couchbase/management/collection_spec.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
- package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
- package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
- package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
- package/deps/couchbase-cxx-client/couchbase/ping_options.hxx +93 -0
- package/deps/couchbase-cxx-client/couchbase/ping_result.hxx +118 -0
- package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
- package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
- package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
- package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/scope.hxx +37 -53
- package/deps/couchbase-cxx-client/couchbase/scope_search_index_manager.hxx +291 -0
- package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
- package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
- package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
- package/deps/couchbase-cxx-client/couchbase/search_request.hxx +120 -0
- package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
- package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
- package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/service_type.hxx +58 -0
- package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
- package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
- package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
- package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
- package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
- package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/update_collection_options.hxx +32 -3
- package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
- package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
- package/deps/couchbase-cxx-client/couchbase/vector_query.hxx +99 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search.hxx +85 -0
- package/deps/couchbase-cxx-client/couchbase/vector_search_options.hxx +76 -0
- package/dist/binding.d.ts +16 -9
- package/dist/binding.js +4 -1
- package/dist/bindingutilities.d.ts +6 -1
- package/dist/bindingutilities.js +17 -1
- package/dist/cluster.d.ts +12 -1
- package/dist/cluster.js +22 -0
- package/dist/collection.js +3 -3
- package/dist/couchbase.d.ts +1 -0
- package/dist/couchbase.js +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +14 -2
- package/dist/searchexecutor.d.ts +2 -2
- package/dist/searchexecutor.js +19 -3
- package/dist/searchtypes.d.ts +46 -0
- package/dist/searchtypes.js +81 -1
- package/dist/transactions.d.ts +2 -0
- package/dist/transactions.js +2 -3
- package/dist/usermanager.js +1 -1
- package/dist/vectorsearch.d.ts +99 -0
- package/dist/vectorsearch.js +132 -0
- package/package.json +7 -7
- package/src/binding.cpp +1 -0
- package/src/connection.cpp +12 -9
- package/src/connection.hpp +3 -3
- package/src/connection_autogen.cpp +7 -5
- package/src/constants.cpp +14 -0
- package/src/instance.cpp +2 -2
- package/src/instance.hpp +1 -1
- package/src/jstocbpp_autogen.hpp +45 -45
- package/src/jstocbpp_basic.hpp +2 -0
- package/src/jstocbpp_errors.hpp +1 -0
- package/src/jstocbpp_transactions.hpp +6 -22
- package/src/mutationtoken.hpp +1 -0
- package/tools/gen-bindings-json.py +41 -16
- package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
- package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
- package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
- package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
- package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
- package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
- package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
- package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
- package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
- package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
- package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
- package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
- package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
- package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
- package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
- package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
- package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
- package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
- package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
- package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
- package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
- package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
- package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
- package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
- package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
- package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
- package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
- package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
- /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
package/dist/searchexecutor.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SearchExecutor = void 0;
|
|
4
4
|
/* eslint jsdoc/require-jsdoc: off */
|
|
5
5
|
const bindingutilities_1 = require("./bindingutilities");
|
|
6
|
+
const searchquery_1 = require("./searchquery");
|
|
6
7
|
const searchtypes_1 = require("./searchtypes");
|
|
7
8
|
const streamablepromises_1 = require("./streamablepromises");
|
|
8
9
|
/**
|
|
@@ -25,11 +26,16 @@ class SearchExecutor {
|
|
|
25
26
|
meta: meta,
|
|
26
27
|
});
|
|
27
28
|
});
|
|
29
|
+
const searchQuery = query instanceof searchquery_1.SearchQuery
|
|
30
|
+
? JSON.stringify(query)
|
|
31
|
+
: query.searchQuery
|
|
32
|
+
? JSON.stringify(query.searchQuery)
|
|
33
|
+
: JSON.stringify(new searchquery_1.MatchNoneSearchQuery());
|
|
28
34
|
const timeout = options.timeout || this._cluster.searchTimeout;
|
|
29
|
-
|
|
35
|
+
const request = {
|
|
30
36
|
timeout,
|
|
31
37
|
index_name: indexName,
|
|
32
|
-
query:
|
|
38
|
+
query: searchQuery,
|
|
33
39
|
limit: options.limit,
|
|
34
40
|
skip: options.skip,
|
|
35
41
|
explain: options.explain || false,
|
|
@@ -59,7 +65,17 @@ class SearchExecutor {
|
|
|
59
65
|
.map(([k, v]) => [k, JSON.stringify(v)]))
|
|
60
66
|
: {},
|
|
61
67
|
body_str: '',
|
|
62
|
-
}
|
|
68
|
+
};
|
|
69
|
+
if (query instanceof searchtypes_1.SearchRequest) {
|
|
70
|
+
request.show_request = false;
|
|
71
|
+
if (query.vectorSearch) {
|
|
72
|
+
request.vector_search = JSON.stringify(query.vectorSearch.queries);
|
|
73
|
+
if (query.vectorSearch.options && query.vectorSearch.options.vectorQueryCombination) {
|
|
74
|
+
request.vector_query_combination = (0, bindingutilities_1.vectorQueryCombinationToCpp)(query.vectorSearch.options.vectorQueryCombination);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this._cluster.conn.search(request, (cppErr, resp) => {
|
|
63
79
|
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
64
80
|
if (err) {
|
|
65
81
|
emitter.emit('error', err);
|
package/dist/searchtypes.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { MutationState } from './mutationstate';
|
|
2
2
|
import { SearchFacet } from './searchfacet';
|
|
3
|
+
import { SearchQuery } from './searchquery';
|
|
3
4
|
import { SearchSort } from './searchsort';
|
|
5
|
+
import { VectorSearch } from './vectorsearch';
|
|
4
6
|
/**
|
|
5
7
|
* SearchMetaData represents the meta-data available from a search query.
|
|
6
8
|
* This class is currently incomplete and must be casted to `any` in
|
|
@@ -145,3 +147,47 @@ export interface SearchQueryOptions {
|
|
|
145
147
|
*/
|
|
146
148
|
timeout?: number;
|
|
147
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Represents a search query and/or vector search to execute via the Couchbase Full Text Search (FTS) service.
|
|
152
|
+
*
|
|
153
|
+
* Volatile: This API is subject to change at any time.
|
|
154
|
+
*
|
|
155
|
+
* @category Full Text Search
|
|
156
|
+
*/
|
|
157
|
+
export declare class SearchRequest {
|
|
158
|
+
private _searchQuery;
|
|
159
|
+
private _vectorSearch;
|
|
160
|
+
constructor(query: SearchQuery | VectorSearch);
|
|
161
|
+
/**
|
|
162
|
+
* @internal
|
|
163
|
+
*/
|
|
164
|
+
get searchQuery(): SearchQuery | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
get vectorSearch(): VectorSearch | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* Adds a search query to the request if the request does not already have a search query.
|
|
171
|
+
*
|
|
172
|
+
* Volatile: This API is subject to change at any time.
|
|
173
|
+
*
|
|
174
|
+
* @param query A SearchQuery to add to the request.
|
|
175
|
+
*/
|
|
176
|
+
withSearchQuery(query: SearchQuery): SearchRequest;
|
|
177
|
+
/**
|
|
178
|
+
* Adds a vector search to the request if the request does not already have a vector search.
|
|
179
|
+
*
|
|
180
|
+
* Volatile: This API is subject to change at any time.
|
|
181
|
+
*
|
|
182
|
+
* @param search A VectorSearch to add to the request.
|
|
183
|
+
*/
|
|
184
|
+
withVectorSearch(search: VectorSearch): SearchRequest;
|
|
185
|
+
/**
|
|
186
|
+
* Creates a search request.
|
|
187
|
+
*
|
|
188
|
+
* Volatile: This API is subject to change at any time.
|
|
189
|
+
*
|
|
190
|
+
* @param query Either a SearchQuery or VectorSearch to add to the search request.
|
|
191
|
+
*/
|
|
192
|
+
static create(query: SearchQuery | VectorSearch): SearchRequest;
|
|
193
|
+
}
|
package/dist/searchtypes.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SearchScanConsistency = exports.HighlightStyle = exports.SearchResult = exports.SearchRow = exports.SearchMetaData = void 0;
|
|
3
|
+
exports.SearchRequest = exports.SearchScanConsistency = exports.HighlightStyle = exports.SearchResult = exports.SearchRow = exports.SearchMetaData = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
const searchquery_1 = require("./searchquery");
|
|
6
|
+
const vectorsearch_1 = require("./vectorsearch");
|
|
4
7
|
/**
|
|
5
8
|
* SearchMetaData represents the meta-data available from a search query.
|
|
6
9
|
* This class is currently incomplete and must be casted to `any` in
|
|
@@ -67,3 +70,80 @@ var SearchScanConsistency;
|
|
|
67
70
|
*/
|
|
68
71
|
SearchScanConsistency["NotBounded"] = "not_bounded";
|
|
69
72
|
})(SearchScanConsistency || (exports.SearchScanConsistency = SearchScanConsistency = {}));
|
|
73
|
+
/**
|
|
74
|
+
* Represents a search query and/or vector search to execute via the Couchbase Full Text Search (FTS) service.
|
|
75
|
+
*
|
|
76
|
+
* Volatile: This API is subject to change at any time.
|
|
77
|
+
*
|
|
78
|
+
* @category Full Text Search
|
|
79
|
+
*/
|
|
80
|
+
class SearchRequest {
|
|
81
|
+
constructor(query) {
|
|
82
|
+
if (query instanceof searchquery_1.SearchQuery) {
|
|
83
|
+
this._searchQuery = query;
|
|
84
|
+
}
|
|
85
|
+
else if (query instanceof vectorsearch_1.VectorSearch) {
|
|
86
|
+
this._vectorSearch = query;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide either a SearchQuery or VectorSearch when creating SearchRequest.'));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
get searchQuery() {
|
|
96
|
+
return this._searchQuery;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
get vectorSearch() {
|
|
102
|
+
return this._vectorSearch;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Adds a search query to the request if the request does not already have a search query.
|
|
106
|
+
*
|
|
107
|
+
* Volatile: This API is subject to change at any time.
|
|
108
|
+
*
|
|
109
|
+
* @param query A SearchQuery to add to the request.
|
|
110
|
+
*/
|
|
111
|
+
withSearchQuery(query) {
|
|
112
|
+
if (!(query instanceof searchquery_1.SearchQuery)) {
|
|
113
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a SearchQuery.'));
|
|
114
|
+
}
|
|
115
|
+
if (this._searchQuery) {
|
|
116
|
+
throw new errors_1.InvalidArgumentError(new Error('Request already has a SearchQuery.'));
|
|
117
|
+
}
|
|
118
|
+
this._searchQuery = query;
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Adds a vector search to the request if the request does not already have a vector search.
|
|
123
|
+
*
|
|
124
|
+
* Volatile: This API is subject to change at any time.
|
|
125
|
+
*
|
|
126
|
+
* @param search A VectorSearch to add to the request.
|
|
127
|
+
*/
|
|
128
|
+
withVectorSearch(search) {
|
|
129
|
+
if (!(search instanceof vectorsearch_1.VectorSearch)) {
|
|
130
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a VectorSearch.'));
|
|
131
|
+
}
|
|
132
|
+
if (this._vectorSearch) {
|
|
133
|
+
throw new errors_1.InvalidArgumentError(new Error('Request already has a VectorSearch.'));
|
|
134
|
+
}
|
|
135
|
+
this._vectorSearch = search;
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Creates a search request.
|
|
140
|
+
*
|
|
141
|
+
* Volatile: This API is subject to change at any time.
|
|
142
|
+
*
|
|
143
|
+
* @param query Either a SearchQuery or VectorSearch to add to the search request.
|
|
144
|
+
*/
|
|
145
|
+
static create(query) {
|
|
146
|
+
return new SearchRequest(query);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.SearchRequest = SearchRequest;
|
package/dist/transactions.d.ts
CHANGED
|
@@ -71,6 +71,8 @@ export interface TransactionsConfig {
|
|
|
71
71
|
durabilityLevel?: DurabilityLevel;
|
|
72
72
|
/**
|
|
73
73
|
* Specifies the default timeout for KV operations, specified in millseconds.
|
|
74
|
+
*
|
|
75
|
+
* @deprecated Currently a no-op. CXXCBC-391: Adds support for ExtSDKIntegration which uses KV durable timeout internally.
|
|
74
76
|
*/
|
|
75
77
|
kvTimeout?: number;
|
|
76
78
|
/**
|
package/dist/transactions.js
CHANGED
|
@@ -103,7 +103,7 @@ class TransactionAttemptContext {
|
|
|
103
103
|
}
|
|
104
104
|
this._impl = new binding_1.default.Transaction(txns.impl, {
|
|
105
105
|
durability_level: (0, bindingutilities_1.durabilityToCpp)(config.durabilityLevel),
|
|
106
|
-
|
|
106
|
+
timeout: config.timeout,
|
|
107
107
|
query_scan_consistency: (0, bindingutilities_1.queryScanConsistencyToCpp)(undefined),
|
|
108
108
|
});
|
|
109
109
|
}
|
|
@@ -313,8 +313,7 @@ class Transactions {
|
|
|
313
313
|
const connImpl = cluster.conn;
|
|
314
314
|
const txnsImpl = new binding_1.default.Transactions(connImpl, {
|
|
315
315
|
durability_level: (0, bindingutilities_1.durabilityToCpp)(config.durabilityLevel),
|
|
316
|
-
|
|
317
|
-
expiration_time: config.timeout,
|
|
316
|
+
timeout: config.timeout,
|
|
318
317
|
query_scan_consistency: (0, bindingutilities_1.queryScanConsistencyToCpp)(config.queryConfig.scanConsistency),
|
|
319
318
|
cleanup_window: config.cleanupConfig.cleanupWindow,
|
|
320
319
|
cleanup_lost_attempts: !config.cleanupConfig.disableLostAttemptCleanup,
|
package/dist/usermanager.js
CHANGED
|
@@ -427,7 +427,7 @@ class UserManager {
|
|
|
427
427
|
}
|
|
428
428
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
429
429
|
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
430
|
-
const passwordData = {
|
|
430
|
+
const passwordData = { password: newPassword };
|
|
431
431
|
const res = await this._http.request({
|
|
432
432
|
type: httpexecutor_1.HttpServiceType.Management,
|
|
433
433
|
method: httpexecutor_1.HttpMethod.Post,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specifies how multiple vector searches are combined.
|
|
3
|
+
*
|
|
4
|
+
* Volatile: This API is subject to change at any time.
|
|
5
|
+
*
|
|
6
|
+
* @category Full Text Search
|
|
7
|
+
*/
|
|
8
|
+
export declare enum VectorQueryCombination {
|
|
9
|
+
/**
|
|
10
|
+
* Indicates that multiple vector queries should be combined with logical AND.
|
|
11
|
+
*/
|
|
12
|
+
AND = "and",
|
|
13
|
+
/**
|
|
14
|
+
* Indicates that multiple vector queries should be combined with logical OR.
|
|
15
|
+
*/
|
|
16
|
+
OR = "or"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Volatile: This API is subject to change at any time.
|
|
20
|
+
*
|
|
21
|
+
* @category Full Text Search
|
|
22
|
+
*/
|
|
23
|
+
export interface VectorSearchOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Specifies how multiple vector queries should be combined.
|
|
26
|
+
*/
|
|
27
|
+
vectorQueryCombination?: VectorQueryCombination;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents a vector query.
|
|
31
|
+
*
|
|
32
|
+
* Volatile: This API is subject to change at any time.
|
|
33
|
+
*
|
|
34
|
+
* @category Full Text Search
|
|
35
|
+
*/
|
|
36
|
+
export declare class VectorQuery {
|
|
37
|
+
private _fieldName;
|
|
38
|
+
private _vector;
|
|
39
|
+
private _numCandidates;
|
|
40
|
+
private _boost;
|
|
41
|
+
constructor(fieldName: string, vector: number[]);
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
toJSON(): any;
|
|
46
|
+
/**
|
|
47
|
+
* Adds boost option to vector query.
|
|
48
|
+
*
|
|
49
|
+
* Volatile: This API is subject to change at any time.
|
|
50
|
+
*
|
|
51
|
+
* @param boost A floating point value.
|
|
52
|
+
*/
|
|
53
|
+
boost(boost: number): VectorQuery;
|
|
54
|
+
/**
|
|
55
|
+
* Adds numCandidates option to vector query. Value must be >= 1.
|
|
56
|
+
*
|
|
57
|
+
* Volatile: This API is subject to change at any time.
|
|
58
|
+
*
|
|
59
|
+
* @param numCandidates An integer value.
|
|
60
|
+
*/
|
|
61
|
+
numCandidates(numCandidates: number): VectorQuery;
|
|
62
|
+
/**
|
|
63
|
+
* Creates a vector query.
|
|
64
|
+
*
|
|
65
|
+
* Volatile: This API is subject to change at any time.
|
|
66
|
+
*
|
|
67
|
+
* @param fieldName The name of the field in the JSON document that holds the vector.
|
|
68
|
+
* @param vector List of floating point values that represent the vector.
|
|
69
|
+
*/
|
|
70
|
+
static create(fieldName: string, vector: number[]): VectorQuery;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Represents a vector search.
|
|
74
|
+
*
|
|
75
|
+
* Volatile: This API is subject to change at any time.
|
|
76
|
+
*
|
|
77
|
+
* @category Full Text Search
|
|
78
|
+
*/
|
|
79
|
+
export declare class VectorSearch {
|
|
80
|
+
private _queries;
|
|
81
|
+
private _options;
|
|
82
|
+
constructor(queries: VectorQuery[], options?: VectorSearchOptions);
|
|
83
|
+
/**
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
get queries(): VectorQuery[];
|
|
87
|
+
/**
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
get options(): VectorSearchOptions | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Creates a vector search.
|
|
93
|
+
*
|
|
94
|
+
* Volatile: This API is subject to change at any time.
|
|
95
|
+
*
|
|
96
|
+
* @param query A vectory query that should be a part of the vector search.
|
|
97
|
+
*/
|
|
98
|
+
static fromVectorQuery(query: VectorQuery): VectorSearch;
|
|
99
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VectorSearch = exports.VectorQuery = exports.VectorQueryCombination = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
/**
|
|
6
|
+
* Specifies how multiple vector searches are combined.
|
|
7
|
+
*
|
|
8
|
+
* Volatile: This API is subject to change at any time.
|
|
9
|
+
*
|
|
10
|
+
* @category Full Text Search
|
|
11
|
+
*/
|
|
12
|
+
var VectorQueryCombination;
|
|
13
|
+
(function (VectorQueryCombination) {
|
|
14
|
+
/**
|
|
15
|
+
* Indicates that multiple vector queries should be combined with logical AND.
|
|
16
|
+
*/
|
|
17
|
+
VectorQueryCombination["AND"] = "and";
|
|
18
|
+
/**
|
|
19
|
+
* Indicates that multiple vector queries should be combined with logical OR.
|
|
20
|
+
*/
|
|
21
|
+
VectorQueryCombination["OR"] = "or";
|
|
22
|
+
})(VectorQueryCombination || (exports.VectorQueryCombination = VectorQueryCombination = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Represents a vector query.
|
|
25
|
+
*
|
|
26
|
+
* Volatile: This API is subject to change at any time.
|
|
27
|
+
*
|
|
28
|
+
* @category Full Text Search
|
|
29
|
+
*/
|
|
30
|
+
class VectorQuery {
|
|
31
|
+
constructor(fieldName, vector) {
|
|
32
|
+
this._fieldName = fieldName;
|
|
33
|
+
if (!Array.isArray(vector) || vector.length == 0) {
|
|
34
|
+
throw new errors_1.InvalidArgumentError(new Error('Provided vector must be an array and cannot be empty.'));
|
|
35
|
+
}
|
|
36
|
+
this._vector = vector;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
toJSON() {
|
|
42
|
+
var _a;
|
|
43
|
+
const output = {
|
|
44
|
+
field: this._fieldName,
|
|
45
|
+
vector: this._vector,
|
|
46
|
+
k: (_a = this._numCandidates) !== null && _a !== void 0 ? _a : 3,
|
|
47
|
+
};
|
|
48
|
+
if (this._boost) {
|
|
49
|
+
output['boost'] = this._boost;
|
|
50
|
+
}
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Adds boost option to vector query.
|
|
55
|
+
*
|
|
56
|
+
* Volatile: This API is subject to change at any time.
|
|
57
|
+
*
|
|
58
|
+
* @param boost A floating point value.
|
|
59
|
+
*/
|
|
60
|
+
boost(boost) {
|
|
61
|
+
this._boost = boost;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Adds numCandidates option to vector query. Value must be >= 1.
|
|
66
|
+
*
|
|
67
|
+
* Volatile: This API is subject to change at any time.
|
|
68
|
+
*
|
|
69
|
+
* @param numCandidates An integer value.
|
|
70
|
+
*/
|
|
71
|
+
numCandidates(numCandidates) {
|
|
72
|
+
if (numCandidates < 1) {
|
|
73
|
+
throw new errors_1.InvalidArgumentError(new Error('Provided value for numCandidates must be >= 1.'));
|
|
74
|
+
}
|
|
75
|
+
this._numCandidates = numCandidates;
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Creates a vector query.
|
|
80
|
+
*
|
|
81
|
+
* Volatile: This API is subject to change at any time.
|
|
82
|
+
*
|
|
83
|
+
* @param fieldName The name of the field in the JSON document that holds the vector.
|
|
84
|
+
* @param vector List of floating point values that represent the vector.
|
|
85
|
+
*/
|
|
86
|
+
static create(fieldName, vector) {
|
|
87
|
+
return new VectorQuery(fieldName, vector);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.VectorQuery = VectorQuery;
|
|
91
|
+
/**
|
|
92
|
+
* Represents a vector search.
|
|
93
|
+
*
|
|
94
|
+
* Volatile: This API is subject to change at any time.
|
|
95
|
+
*
|
|
96
|
+
* @category Full Text Search
|
|
97
|
+
*/
|
|
98
|
+
class VectorSearch {
|
|
99
|
+
constructor(queries, options) {
|
|
100
|
+
if (!Array.isArray(queries) || queries.length == 0) {
|
|
101
|
+
throw new errors_1.InvalidArgumentError(new Error('Provided queries must be an array and cannot be empty.'));
|
|
102
|
+
}
|
|
103
|
+
if (!queries.every((q) => q instanceof VectorQuery)) {
|
|
104
|
+
throw new errors_1.InvalidArgumentError(new Error('All provided queries must be a VectorQuery.'));
|
|
105
|
+
}
|
|
106
|
+
this._queries = queries;
|
|
107
|
+
this._options = options;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
get queries() {
|
|
113
|
+
return this._queries;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
get options() {
|
|
119
|
+
return this._options;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Creates a vector search.
|
|
123
|
+
*
|
|
124
|
+
* Volatile: This API is subject to change at any time.
|
|
125
|
+
*
|
|
126
|
+
* @param query A vectory query that should be a part of the vector search.
|
|
127
|
+
*/
|
|
128
|
+
static fromVectorQuery(query) {
|
|
129
|
+
return new VectorSearch([query]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.VectorSearch = VectorSearch;
|
package/package.json
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"type": "git",
|
|
55
55
|
"url": "http://github.com/couchbase/couchnode.git"
|
|
56
56
|
},
|
|
57
|
-
"version": "4.2.
|
|
57
|
+
"version": "4.2.10",
|
|
58
58
|
"config": {
|
|
59
59
|
"native": false
|
|
60
60
|
},
|
|
@@ -79,12 +79,12 @@
|
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
"optionalDependencies": {
|
|
82
|
-
"@couchbase/couchbase-darwin-arm64-napi": "4.2.
|
|
83
|
-
"@couchbase/couchbase-darwin-x64-napi": "4.2.
|
|
84
|
-
"@couchbase/couchbase-linux-arm64-napi": "4.2.
|
|
85
|
-
"@couchbase/couchbase-linuxmusl-x64-napi": "4.2.
|
|
86
|
-
"@couchbase/couchbase-linux-x64-napi": "4.2.
|
|
87
|
-
"@couchbase/couchbase-win32-x64-napi": "4.2.
|
|
82
|
+
"@couchbase/couchbase-darwin-arm64-napi": "4.2.10",
|
|
83
|
+
"@couchbase/couchbase-darwin-x64-napi": "4.2.10",
|
|
84
|
+
"@couchbase/couchbase-linux-arm64-napi": "4.2.10",
|
|
85
|
+
"@couchbase/couchbase-linuxmusl-x64-napi": "4.2.10",
|
|
86
|
+
"@couchbase/couchbase-linux-x64-napi": "4.2.10",
|
|
87
|
+
"@couchbase/couchbase-win32-x64-napi": "4.2.10"
|
|
88
88
|
},
|
|
89
89
|
"files": [
|
|
90
90
|
"LICENSE",
|
package/src/binding.cpp
CHANGED
package/src/connection.cpp
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#include <core/agent_group.hxx>
|
|
9
9
|
#include <core/operations/management/freeform.hxx>
|
|
10
10
|
#include <core/range_scan_orchestrator.hxx>
|
|
11
|
+
#include <core/utils/connection_string.hxx>
|
|
11
12
|
#include <type_traits>
|
|
12
13
|
|
|
13
14
|
namespace couchnode
|
|
@@ -189,8 +190,8 @@ void Connection::Init(Napi::Env env, Napi::Object exports)
|
|
|
189
190
|
InstanceMethod<
|
|
190
191
|
&Connection::jsManagementSearchIndexControlPlanFreeze>(
|
|
191
192
|
"managementSearchIndexControlPlanFreeze"),
|
|
192
|
-
InstanceMethod<&Connection::
|
|
193
|
-
"
|
|
193
|
+
InstanceMethod<&Connection::jsManagementSearchGetStats>(
|
|
194
|
+
"managementSearchGetStats"),
|
|
194
195
|
InstanceMethod<&Connection::jsManagementUserDrop>(
|
|
195
196
|
"managementUserDrop"),
|
|
196
197
|
InstanceMethod<&Connection::jsManagementAnalyticsDataverseCreate>(
|
|
@@ -291,7 +292,7 @@ Napi::Value Connection::jsConnect(const Napi::CallbackInfo &info)
|
|
|
291
292
|
}
|
|
292
293
|
|
|
293
294
|
auto cookie = CallCookie(info.Env(), callbackJsFn, "cbConnectCallback");
|
|
294
|
-
this->_instance->_cluster
|
|
295
|
+
this->_instance->_cluster.open(
|
|
295
296
|
couchbase::core::origin(creds, connstrInfo),
|
|
296
297
|
[cookie = std::move(cookie)](std::error_code ec) mutable {
|
|
297
298
|
cookie.invoke([ec](Napi::Env env, Napi::Function callback) {
|
|
@@ -307,7 +308,7 @@ Napi::Value Connection::jsShutdown(const Napi::CallbackInfo &info)
|
|
|
307
308
|
auto callbackJsFn = info[0].As<Napi::Function>();
|
|
308
309
|
|
|
309
310
|
auto cookie = CallCookie(info.Env(), callbackJsFn, "cbShutdownCallback");
|
|
310
|
-
this->_instance->_cluster
|
|
311
|
+
this->_instance->_cluster.close([cookie = std::move(cookie)]() mutable {
|
|
311
312
|
cookie.invoke([](Napi::Env env, Napi::Function callback) {
|
|
312
313
|
callback.Call({env.Null()});
|
|
313
314
|
});
|
|
@@ -322,7 +323,7 @@ Napi::Value Connection::jsOpenBucket(const Napi::CallbackInfo &info)
|
|
|
322
323
|
auto callbackJsFn = info[1].As<Napi::Function>();
|
|
323
324
|
|
|
324
325
|
auto cookie = CallCookie(info.Env(), callbackJsFn, "cbOpenBucketCallback");
|
|
325
|
-
this->_instance->_cluster
|
|
326
|
+
this->_instance->_cluster.open_bucket(
|
|
326
327
|
bucketName, [cookie = std::move(cookie)](std::error_code ec) mutable {
|
|
327
328
|
cookie.invoke([ec](Napi::Env env, Napi::Function callback) {
|
|
328
329
|
callback.Call({cbpp_to_js(env, ec)});
|
|
@@ -341,7 +342,7 @@ Napi::Value Connection::jsDiagnostics(const Napi::CallbackInfo &info)
|
|
|
341
342
|
jsToCbpp<std::optional<std::string>>(optsJsObj.Get("report_id"));
|
|
342
343
|
|
|
343
344
|
auto cookie = CallCookie(info.Env(), callbackJsFn, "diagnostics");
|
|
344
|
-
this->_instance->_cluster
|
|
345
|
+
this->_instance->_cluster.diagnostics(
|
|
345
346
|
reportId, [cookie = std::move(cookie)](
|
|
346
347
|
couchbase::core::diag::diagnostics_result resp) mutable {
|
|
347
348
|
cookie.invoke([resp = std::move(resp)](
|
|
@@ -373,10 +374,12 @@ Napi::Value Connection::jsPing(const Napi::CallbackInfo &info)
|
|
|
373
374
|
jsToCbpp<std::optional<std::string>>(optsJsObj.Get("bucket_name"));
|
|
374
375
|
auto services = jsToCbpp<std::set<couchbase::core::service_type>>(
|
|
375
376
|
optsJsObj.Get("services"));
|
|
377
|
+
auto timeout = jsToCbpp<std::optional<std::chrono::milliseconds>>(
|
|
378
|
+
optsJsObj.Get("timeout"));
|
|
376
379
|
|
|
377
380
|
auto cookie = CallCookie(info.Env(), callbackJsFn, "ping");
|
|
378
|
-
this->_instance->_cluster
|
|
379
|
-
reportId, bucketName, services,
|
|
381
|
+
this->_instance->_cluster.ping(
|
|
382
|
+
reportId, bucketName, services, timeout,
|
|
380
383
|
[cookie = std::move(cookie)](
|
|
381
384
|
couchbase::core::diag::ping_result resp) mutable {
|
|
382
385
|
cookie.invoke([resp = std::move(resp)](
|
|
@@ -413,7 +416,7 @@ Napi::Value Connection::jsScan(const Napi::CallbackInfo &info)
|
|
|
413
416
|
tl::expected<couchbase::core::topology::configuration::vbucket_map,
|
|
414
417
|
std::error_code>>>();
|
|
415
418
|
auto f = barrier->get_future();
|
|
416
|
-
this->_instance->_cluster
|
|
419
|
+
this->_instance->_cluster.with_bucket_configuration(
|
|
417
420
|
bucketName,
|
|
418
421
|
[barrier](
|
|
419
422
|
std::error_code ec,
|
package/src/connection.hpp
CHANGED
|
@@ -59,7 +59,7 @@ public:
|
|
|
59
59
|
Connection(const Napi::CallbackInfo &info);
|
|
60
60
|
~Connection();
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
couchbase::core::cluster cluster() const
|
|
63
63
|
{
|
|
64
64
|
return _instance->_cluster;
|
|
65
65
|
}
|
|
@@ -174,7 +174,7 @@ public:
|
|
|
174
174
|
Napi::Value jsManagementSearchIndexDrop(const Napi::CallbackInfo &info);
|
|
175
175
|
Napi::Value
|
|
176
176
|
jsManagementSearchIndexControlPlanFreeze(const Napi::CallbackInfo &info);
|
|
177
|
-
Napi::Value
|
|
177
|
+
Napi::Value jsManagementSearchGetStats(const Napi::CallbackInfo &info);
|
|
178
178
|
Napi::Value jsManagementUserDrop(const Napi::CallbackInfo &info);
|
|
179
179
|
Napi::Value
|
|
180
180
|
jsManagementAnalyticsDataverseCreate(const Napi::CallbackInfo &info);
|
|
@@ -215,7 +215,7 @@ private:
|
|
|
215
215
|
using response_type = typename Request::response_type;
|
|
216
216
|
|
|
217
217
|
auto cookie = CallCookie(jsCallback.Env(), jsCallback, opName);
|
|
218
|
-
this->_instance->_cluster
|
|
218
|
+
this->_instance->_cluster.execute(
|
|
219
219
|
req, [cookie = std::move(cookie),
|
|
220
220
|
handler = std::move(handler)](response_type resp) mutable {
|
|
221
221
|
cookie.invoke(
|
|
@@ -1176,15 +1176,17 @@ Napi::Value Connection::jsManagementSearchIndexControlPlanFreeze(
|
|
|
1176
1176
|
}
|
|
1177
1177
|
|
|
1178
1178
|
Napi::Value
|
|
1179
|
-
Connection::
|
|
1179
|
+
Connection::jsManagementSearchGetStats(const Napi::CallbackInfo &info)
|
|
1180
1180
|
{
|
|
1181
1181
|
auto optsJsObj = info[0].As<Napi::Object>();
|
|
1182
1182
|
auto callbackJsFn = info[1].As<Napi::Function>();
|
|
1183
1183
|
|
|
1184
|
-
executeOp(
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1184
|
+
executeOp(
|
|
1185
|
+
"managementSearchGetStats",
|
|
1186
|
+
jsToCbpp<
|
|
1187
|
+
couchbase::core::operations::management::search_get_stats_request>(
|
|
1188
|
+
optsJsObj),
|
|
1189
|
+
callbackJsFn);
|
|
1188
1190
|
|
|
1189
1191
|
return info.Env().Null();
|
|
1190
1192
|
}
|
package/src/constants.cpp
CHANGED
|
@@ -699,6 +699,8 @@ void Constants::InitAutogen(Napi::Env env, Napi::Object exports)
|
|
|
699
699
|
xattr_cannot_modify_virtual_attribute},
|
|
700
700
|
{"xattr_no_access",
|
|
701
701
|
couchbase::errc::key_value::xattr_no_access},
|
|
702
|
+
{"document_not_locked",
|
|
703
|
+
couchbase::errc::key_value::document_not_locked},
|
|
702
704
|
{"cannot_revive_living_document",
|
|
703
705
|
couchbase::errc::key_value::cannot_revive_living_document},
|
|
704
706
|
{"mutation_token_outdated",
|
|
@@ -862,6 +864,7 @@ void Constants::InitAutogen(Napi::Env env, Napi::Object exports)
|
|
|
862
864
|
{"opaque_no_match",
|
|
863
865
|
couchbase::key_value_status_code::opaque_no_match},
|
|
864
866
|
{"locked", couchbase::key_value_status_code::locked},
|
|
867
|
+
{"not_locked", couchbase::key_value_status_code::not_locked},
|
|
865
868
|
{"auth_stale", couchbase::key_value_status_code::auth_stale},
|
|
866
869
|
{"auth_error", couchbase::key_value_status_code::auth_error},
|
|
867
870
|
{"auth_continue",
|
|
@@ -1048,6 +1051,17 @@ void Constants::InitAutogen(Napi::Env env, Napi::Object exports)
|
|
|
1048
1051
|
{"three", couchbase::replicate_to::three},
|
|
1049
1052
|
}));
|
|
1050
1053
|
|
|
1054
|
+
exports.Set(
|
|
1055
|
+
"vector_query_combination",
|
|
1056
|
+
cbppEnumToJs<couchbase::core::vector_query_combination>(
|
|
1057
|
+
env,
|
|
1058
|
+
{
|
|
1059
|
+
{"combination_and",
|
|
1060
|
+
couchbase::core::vector_query_combination::combination_and},
|
|
1061
|
+
{"combination_or",
|
|
1062
|
+
couchbase::core::vector_query_combination::combination_or},
|
|
1063
|
+
}));
|
|
1064
|
+
|
|
1051
1065
|
//#endregion Autogenerated Constants
|
|
1052
1066
|
}
|
|
1053
1067
|
|