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.
Files changed (370) hide show
  1. package/CMakeLists.txt +1 -1
  2. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +139 -56
  3. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +401 -424
  5. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +7 -3
  6. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +1 -0
  7. package/deps/couchbase-cxx-client/core/agent_config.hxx +1 -1
  8. package/deps/couchbase-cxx-client/core/agent_group.cxx +0 -1
  9. package/deps/couchbase-cxx-client/core/agent_group.hxx +9 -0
  10. package/deps/couchbase-cxx-client/core/agent_group_config.hxx +1 -1
  11. package/deps/couchbase-cxx-client/core/bucket.cxx +74 -10
  12. package/deps/couchbase-cxx-client/core/bucket.hxx +4 -2
  13. package/deps/couchbase-cxx-client/core/cluster.cxx +1491 -108
  14. package/deps/couchbase-cxx-client/core/cluster.hxx +183 -473
  15. package/deps/couchbase-cxx-client/core/cluster_agent_config.hxx +1 -1
  16. package/deps/couchbase-cxx-client/core/cluster_options.cxx +12 -2
  17. package/deps/couchbase-cxx-client/core/cluster_options.hxx +9 -8
  18. package/deps/couchbase-cxx-client/core/config_profiles.cxx +2 -2
  19. package/deps/couchbase-cxx-client/core/config_profiles.hxx +1 -1
  20. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -2
  21. package/deps/couchbase-cxx-client/core/core_sdk_shim.hxx +3 -2
  22. package/deps/couchbase-cxx-client/core/diagnostics.hxx +0 -1
  23. package/deps/couchbase-cxx-client/core/dispatcher.cxx +2 -2
  24. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +38 -76
  25. package/deps/couchbase-cxx-client/core/impl/analytics.hxx +40 -0
  26. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +820 -0
  27. package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +403 -0
  28. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +102 -0
  29. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +433 -0
  30. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +299 -44
  31. package/deps/couchbase-cxx-client/core/impl/collection.cxx +1384 -0
  32. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +306 -0
  33. package/deps/couchbase-cxx-client/core/impl/configuration_profiles_registry.cxx +3 -1
  34. package/deps/couchbase-cxx-client/core/impl/diagnostics.cxx +294 -0
  35. package/deps/couchbase-cxx-client/core/impl/diagnostics.hxx +39 -0
  36. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +2 -0
  37. package/deps/couchbase-cxx-client/core/{operations/mcbp_noop.cxx → impl/doc_id_query.cxx} +19 -15
  38. package/deps/couchbase-cxx-client/core/impl/key_value_error_category.cxx +4 -2
  39. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.hxx +0 -10
  40. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.hxx +0 -10
  41. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +24 -17
  42. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -1
  43. package/deps/couchbase-cxx-client/core/impl/query.cxx +45 -68
  44. package/deps/couchbase-cxx-client/core/impl/query.hxx +34 -0
  45. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +628 -0
  46. package/deps/couchbase-cxx-client/core/impl/scope.cxx +187 -0
  47. package/deps/couchbase-cxx-client/core/impl/search.cxx +81 -57
  48. package/deps/couchbase-cxx-client/core/impl/search.hxx +45 -0
  49. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +712 -0
  50. package/deps/couchbase-cxx-client/core/impl/search_request.cxx +139 -0
  51. package/deps/couchbase-cxx-client/core/impl/search_row_location.cxx +12 -0
  52. package/deps/couchbase-cxx-client/core/impl/search_sort_geo_distance.cxx +87 -0
  53. package/deps/couchbase-cxx-client/core/impl/vector_query.cxx +42 -0
  54. package/deps/couchbase-cxx-client/core/impl/vector_search.cxx +40 -0
  55. package/deps/couchbase-cxx-client/core/impl/with_legacy_durability.hxx +23 -25
  56. package/deps/couchbase-cxx-client/core/io/dns_config.cxx +28 -0
  57. package/deps/couchbase-cxx-client/core/io/dns_config.hxx +6 -25
  58. package/deps/couchbase-cxx-client/core/io/http_session.hxx +6 -3
  59. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +9 -1
  60. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +1 -1
  61. package/deps/couchbase-cxx-client/core/io/mcbp_message.hxx +3 -2
  62. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +75 -53
  63. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +3 -1
  64. package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
  65. package/deps/couchbase-cxx-client/core/logger/logger.hxx +4 -4
  66. package/deps/couchbase-cxx-client/core/management/bucket_settings.hxx +1 -1
  67. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
  68. package/deps/couchbase-cxx-client/core/mcbp/queue_callback.hxx +1 -1
  69. package/deps/couchbase-cxx-client/core/meta/features.hxx +38 -0
  70. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +23 -2
  71. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -1
  72. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +37 -1
  73. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +11 -0
  74. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +2 -0
  75. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +2 -0
  79. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +2 -0
  83. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.cxx +1 -1
  85. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +3 -1
  90. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +9 -6
  91. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +1 -1
  92. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +2 -0
  93. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +9 -8
  94. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +1 -1
  95. package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +9 -5
  96. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +2 -0
  97. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +2 -0
  98. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +2 -0
  99. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +2 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +2 -0
  102. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +2 -0
  103. package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +2 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +2 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.cxx +1 -1
  106. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +2 -2
  107. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +4 -1
  108. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +4 -1
  109. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.cxx +1 -1
  110. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +1 -1
  111. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.cxx +4 -4
  115. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +4 -4
  116. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +19 -1
  117. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +3 -0
  118. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +23 -1
  119. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +3 -0
  120. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +23 -1
  121. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +3 -0
  122. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +23 -1
  123. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +3 -0
  124. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +19 -1
  125. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +3 -0
  126. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +19 -1
  127. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
  128. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +39 -22
  129. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +3 -0
  130. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +20 -1
  131. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +3 -0
  132. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +19 -1
  134. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +3 -0
  135. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -0
  136. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -0
  137. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +2 -0
  138. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -0
  139. package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
  140. package/deps/couchbase-cxx-client/core/operations_fwd.hxx +260 -0
  141. package/deps/couchbase-cxx-client/core/origin.cxx +146 -5
  142. package/deps/couchbase-cxx-client/core/origin.hxx +30 -140
  143. package/deps/couchbase-cxx-client/core/protocol/cmd_cluster_map_change_notification.hxx +3 -3
  144. package/deps/couchbase-cxx-client/core/protocol/cmd_hello.hxx +5 -0
  145. package/deps/couchbase-cxx-client/core/protocol/cmd_observe_seqno.hxx +4 -4
  146. package/deps/couchbase-cxx-client/core/protocol/hello_feature.hxx +6 -0
  147. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +3 -0
  148. package/deps/couchbase-cxx-client/core/protocol/status.cxx +6 -0
  149. package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
  150. package/deps/couchbase-cxx-client/core/query_context.hxx +11 -7
  151. package/deps/couchbase-cxx-client/core/range_scan_orchestrator.cxx +1 -1
  152. package/deps/couchbase-cxx-client/core/topology/collections_manifest.hxx +1 -1
  153. package/deps/couchbase-cxx-client/core/topology/collections_manifest_json.hxx +1 -1
  154. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +23 -0
  155. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +8 -12
  156. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +3 -3
  157. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +2 -0
  158. package/deps/couchbase-cxx-client/core/topology/error_map.hxx +2 -2
  159. package/deps/couchbase-cxx-client/core/topology/error_map_json.hxx +4 -0
  160. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.cxx +58 -0
  161. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +5 -40
  162. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +30 -0
  163. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +18 -18
  164. package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +36 -0
  165. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +39 -41
  166. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +2 -2
  167. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +3 -1
  168. package/deps/couchbase-cxx-client/core/transactions/internal/atr_entry.hxx +2 -0
  169. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.cxx +32 -0
  170. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record.hxx +4 -30
  171. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +41 -0
  172. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +17 -15
  173. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +1 -1
  174. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +4 -4
  175. package/deps/couchbase-cxx-client/core/transactions/internal/utils.hxx +5 -13
  176. package/deps/couchbase-cxx-client/core/transactions/result.hxx +0 -26
  177. package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +46 -0
  178. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +16 -14
  179. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +6 -6
  180. package/deps/couchbase-cxx-client/core/transactions/transaction_keyspace.cxx +48 -0
  181. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -0
  182. package/deps/couchbase-cxx-client/core/transactions/transaction_options.cxx +61 -4
  183. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +9 -8
  184. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +9 -16
  185. package/deps/couchbase-cxx-client/core/transactions/transactions_config.cxx +7 -6
  186. package/deps/couchbase-cxx-client/core/transactions.hxx +6 -5
  187. package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +4 -3
  188. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +4 -4
  189. package/deps/couchbase-cxx-client/core/vector_query_combination.hxx +23 -0
  190. package/deps/couchbase-cxx-client/couchbase/allow_querying_search_index_options.hxx +44 -0
  191. package/deps/couchbase-cxx-client/couchbase/analytics_index_manager.hxx +463 -0
  192. package/deps/couchbase-cxx-client/couchbase/analyze_document_options.hxx +44 -0
  193. package/deps/couchbase-cxx-client/couchbase/append_options.hxx +0 -24
  194. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +1 -1
  195. package/deps/couchbase-cxx-client/couchbase/binary_collection.hxx +19 -115
  196. package/deps/couchbase-cxx-client/couchbase/bucket.hxx +42 -30
  197. package/deps/couchbase-cxx-client/couchbase/bucket_manager.hxx +8 -7
  198. package/deps/couchbase-cxx-client/couchbase/build_query_index_options.hxx +0 -1
  199. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +151 -73
  200. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +1 -27
  201. package/deps/couchbase-cxx-client/couchbase/codec/json_transcoder.hxx +1 -1
  202. package/deps/couchbase-cxx-client/couchbase/codec/raw_binary_transcoder.hxx +2 -1
  203. package/deps/couchbase-cxx-client/couchbase/codec/raw_json_transcoder.hxx +78 -0
  204. package/deps/couchbase-cxx-client/couchbase/codec/raw_string_transcoder.hxx +72 -0
  205. package/deps/couchbase-cxx-client/couchbase/collection.hxx +176 -386
  206. package/deps/couchbase-cxx-client/couchbase/collection_manager.hxx +8 -9
  207. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +21 -24
  208. package/deps/couchbase-cxx-client/couchbase/connect_link_analytics_options.hxx +116 -0
  209. package/deps/couchbase-cxx-client/couchbase/create_bucket_options.hxx +3 -3
  210. package/deps/couchbase-cxx-client/couchbase/create_collection_options.hxx +32 -3
  211. package/deps/couchbase-cxx-client/couchbase/create_dataset_analytics_options.hxx +120 -0
  212. package/deps/couchbase-cxx-client/couchbase/create_dataverse_analytics_options.hxx +85 -0
  213. package/deps/couchbase-cxx-client/couchbase/create_index_analytics_options.hxx +103 -0
  214. package/deps/couchbase-cxx-client/couchbase/create_link_analytics_options.hxx +63 -0
  215. package/deps/couchbase-cxx-client/couchbase/decrement_options.hxx +0 -23
  216. package/deps/couchbase-cxx-client/couchbase/diagnostics_options.hxx +75 -0
  217. package/deps/couchbase-cxx-client/couchbase/diagnostics_result.hxx +124 -0
  218. package/deps/couchbase-cxx-client/couchbase/disallow_querying_search_index_options.hxx +43 -0
  219. package/deps/couchbase-cxx-client/couchbase/disconnect_link_analytics_options.hxx +105 -0
  220. package/deps/couchbase-cxx-client/couchbase/drop_dataset_analytics_options.hxx +103 -0
  221. package/deps/couchbase-cxx-client/couchbase/drop_dataverse_analytics_options.hxx +84 -0
  222. package/deps/couchbase-cxx-client/couchbase/drop_index_analytics_options.hxx +103 -0
  223. package/deps/couchbase-cxx-client/couchbase/drop_link_analytics_options.hxx +63 -0
  224. package/deps/couchbase-cxx-client/couchbase/drop_search_index_options.hxx +43 -0
  225. package/deps/couchbase-cxx-client/couchbase/endpoint_diagnostics.hxx +206 -0
  226. package/deps/couchbase-cxx-client/couchbase/endpoint_ping_report.hxx +205 -0
  227. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +22 -1
  228. package/deps/couchbase-cxx-client/couchbase/exists_options.hxx +0 -23
  229. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_error_map_attribute.hxx +6 -0
  230. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -0
  231. package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +37 -0
  232. package/deps/couchbase-cxx-client/couchbase/freeze_plan_search_index_options.hxx +43 -0
  233. package/deps/couchbase-cxx-client/couchbase/get_all_datasets_analytics_options.hxx +66 -0
  234. package/deps/couchbase-cxx-client/couchbase/get_all_indexes_analytics_options.hxx +65 -0
  235. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +1 -4
  236. package/deps/couchbase-cxx-client/couchbase/get_all_replicas_options.hxx +0 -23
  237. package/deps/couchbase-cxx-client/couchbase/get_all_search_indexes_options.hxx +45 -0
  238. package/deps/couchbase-cxx-client/couchbase/get_and_lock_options.hxx +0 -24
  239. package/deps/couchbase-cxx-client/couchbase/get_and_touch_options.hxx +0 -24
  240. package/deps/couchbase-cxx-client/couchbase/get_any_replica_options.hxx +0 -23
  241. package/deps/couchbase-cxx-client/couchbase/get_indexed_search_index_options.hxx +43 -0
  242. package/deps/couchbase-cxx-client/couchbase/get_links_analytics_options.hxx +121 -0
  243. package/deps/couchbase-cxx-client/couchbase/get_options.hxx +1 -29
  244. package/deps/couchbase-cxx-client/couchbase/get_pending_mutations_analytics_options.hxx +67 -0
  245. package/deps/couchbase-cxx-client/couchbase/get_search_index_options.hxx +44 -0
  246. package/deps/couchbase-cxx-client/couchbase/increment_options.hxx +0 -23
  247. package/deps/couchbase-cxx-client/couchbase/insert_options.hxx +0 -24
  248. package/deps/couchbase-cxx-client/couchbase/key_value_error_map_attribute.hxx +12 -0
  249. package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
  250. package/deps/couchbase-cxx-client/couchbase/lookup_in_options.hxx +0 -24
  251. package/deps/couchbase-cxx-client/couchbase/management/analytics_dataset.hxx +48 -0
  252. package/deps/couchbase-cxx-client/couchbase/management/analytics_index.hxx +48 -0
  253. package/deps/couchbase-cxx-client/couchbase/management/analytics_link.hxx +239 -0
  254. package/deps/couchbase-cxx-client/couchbase/management/collection_spec.hxx +1 -1
  255. package/deps/couchbase-cxx-client/couchbase/management/query_index.hxx +3 -3
  256. package/deps/couchbase-cxx-client/couchbase/management/search_index.hxx +40 -0
  257. package/deps/couchbase-cxx-client/couchbase/manager_error_context.hxx +0 -1
  258. package/deps/couchbase-cxx-client/couchbase/mutate_in_options.hxx +0 -24
  259. package/deps/couchbase-cxx-client/couchbase/network_options.hxx +1 -1
  260. package/deps/couchbase-cxx-client/couchbase/pause_ingest_search_index_options.hxx +43 -0
  261. package/deps/couchbase-cxx-client/couchbase/phrase_query.hxx +19 -0
  262. package/deps/couchbase-cxx-client/couchbase/ping_options.hxx +93 -0
  263. package/deps/couchbase-cxx-client/couchbase/ping_result.hxx +118 -0
  264. package/deps/couchbase-cxx-client/couchbase/prepend_options.hxx +0 -24
  265. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +99 -20
  266. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -21
  267. package/deps/couchbase-cxx-client/couchbase/remove_options.hxx +0 -23
  268. package/deps/couchbase-cxx-client/couchbase/replace_link_analytics_options.hxx +63 -0
  269. package/deps/couchbase-cxx-client/couchbase/replace_options.hxx +0 -24
  270. package/deps/couchbase-cxx-client/couchbase/resume_ingest_search_index_options.hxx +43 -0
  271. package/deps/couchbase-cxx-client/couchbase/scope.hxx +37 -53
  272. package/deps/couchbase-cxx-client/couchbase/scope_search_index_manager.hxx +291 -0
  273. package/deps/couchbase-cxx-client/couchbase/search_facet_result.hxx +1 -7
  274. package/deps/couchbase-cxx-client/couchbase/search_geo_distance_units.hxx +26 -0
  275. package/deps/couchbase-cxx-client/couchbase/search_index_manager.hxx +292 -0
  276. package/deps/couchbase-cxx-client/couchbase/search_request.hxx +120 -0
  277. package/deps/couchbase-cxx-client/couchbase/search_row_location.hxx +10 -0
  278. package/deps/couchbase-cxx-client/couchbase/search_sort_geo_distance.hxx +84 -0
  279. package/deps/couchbase-cxx-client/couchbase/security_options.hxx +1 -1
  280. package/deps/couchbase-cxx-client/couchbase/service_type.hxx +58 -0
  281. package/deps/couchbase-cxx-client/couchbase/touch_options.hxx +0 -24
  282. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +1 -1
  283. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +10 -7
  284. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +10 -10
  285. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +8 -58
  286. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +28 -70
  287. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +7 -2
  288. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +2 -1
  289. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +11 -38
  290. package/deps/couchbase-cxx-client/couchbase/unfreeze_plan_search_index_options.hxx +43 -0
  291. package/deps/couchbase-cxx-client/couchbase/unlock_options.hxx +0 -24
  292. package/deps/couchbase-cxx-client/couchbase/update_collection_options.hxx +32 -3
  293. package/deps/couchbase-cxx-client/couchbase/upsert_options.hxx +0 -24
  294. package/deps/couchbase-cxx-client/couchbase/upsert_search_index_options.hxx +41 -0
  295. package/deps/couchbase-cxx-client/couchbase/vector_query.hxx +99 -0
  296. package/deps/couchbase-cxx-client/couchbase/vector_search.hxx +85 -0
  297. package/deps/couchbase-cxx-client/couchbase/vector_search_options.hxx +76 -0
  298. package/dist/binding.d.ts +16 -9
  299. package/dist/binding.js +4 -1
  300. package/dist/bindingutilities.d.ts +6 -1
  301. package/dist/bindingutilities.js +17 -1
  302. package/dist/cluster.d.ts +12 -1
  303. package/dist/cluster.js +22 -0
  304. package/dist/collection.js +3 -3
  305. package/dist/couchbase.d.ts +1 -0
  306. package/dist/couchbase.js +1 -0
  307. package/dist/errors.d.ts +9 -0
  308. package/dist/errors.js +14 -2
  309. package/dist/searchexecutor.d.ts +2 -2
  310. package/dist/searchexecutor.js +19 -3
  311. package/dist/searchtypes.d.ts +46 -0
  312. package/dist/searchtypes.js +81 -1
  313. package/dist/transactions.d.ts +2 -0
  314. package/dist/transactions.js +2 -3
  315. package/dist/usermanager.js +1 -1
  316. package/dist/vectorsearch.d.ts +99 -0
  317. package/dist/vectorsearch.js +132 -0
  318. package/package.json +7 -7
  319. package/src/binding.cpp +1 -0
  320. package/src/connection.cpp +12 -9
  321. package/src/connection.hpp +3 -3
  322. package/src/connection_autogen.cpp +7 -5
  323. package/src/constants.cpp +14 -0
  324. package/src/instance.cpp +2 -2
  325. package/src/instance.hpp +1 -1
  326. package/src/jstocbpp_autogen.hpp +45 -45
  327. package/src/jstocbpp_basic.hpp +2 -0
  328. package/src/jstocbpp_errors.hpp +1 -0
  329. package/src/jstocbpp_transactions.hpp +6 -22
  330. package/src/mutationtoken.hpp +1 -0
  331. package/tools/gen-bindings-json.py +41 -16
  332. package/deps/couchbase-cxx-client/core/impl/append.cxx +0 -87
  333. package/deps/couchbase-cxx-client/core/impl/build_deferred_query_indexes.cxx +0 -157
  334. package/deps/couchbase-cxx-client/core/impl/create_bucket.cxx +0 -158
  335. package/deps/couchbase-cxx-client/core/impl/create_collection.cxx +0 -83
  336. package/deps/couchbase-cxx-client/core/impl/create_query_index.cxx +0 -232
  337. package/deps/couchbase-cxx-client/core/impl/create_scope.cxx +0 -69
  338. package/deps/couchbase-cxx-client/core/impl/decrement.cxx +0 -96
  339. package/deps/couchbase-cxx-client/core/impl/drop_bucket.cxx +0 -66
  340. package/deps/couchbase-cxx-client/core/impl/drop_collection.cxx +0 -76
  341. package/deps/couchbase-cxx-client/core/impl/drop_query_index.cxx +0 -187
  342. package/deps/couchbase-cxx-client/core/impl/drop_scope.cxx +0 -68
  343. package/deps/couchbase-cxx-client/core/impl/exists.cxx +0 -47
  344. package/deps/couchbase-cxx-client/core/impl/flush_bucket.cxx +0 -66
  345. package/deps/couchbase-cxx-client/core/impl/get.cxx +0 -68
  346. package/deps/couchbase-cxx-client/core/impl/get_all_buckets.cxx +0 -178
  347. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +0 -106
  348. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.cxx +0 -145
  349. package/deps/couchbase-cxx-client/core/impl/get_all_scopes.cxx +0 -94
  350. package/deps/couchbase-cxx-client/core/impl/get_and_lock.cxx +0 -49
  351. package/deps/couchbase-cxx-client/core/impl/get_and_touch.cxx +0 -49
  352. package/deps/couchbase-cxx-client/core/impl/get_any_replica.cxx +0 -134
  353. package/deps/couchbase-cxx-client/core/impl/get_bucket.cxx +0 -168
  354. package/deps/couchbase-cxx-client/core/impl/increment.cxx +0 -96
  355. package/deps/couchbase-cxx-client/core/impl/insert.cxx +0 -90
  356. package/deps/couchbase-cxx-client/core/impl/lookup_in.cxx +0 -69
  357. package/deps/couchbase-cxx-client/core/impl/lookup_in_all_replicas.cxx +0 -178
  358. package/deps/couchbase-cxx-client/core/impl/lookup_in_any_replica.cxx +0 -169
  359. package/deps/couchbase-cxx-client/core/impl/mutate_in.cxx +0 -125
  360. package/deps/couchbase-cxx-client/core/impl/prepend.cxx +0 -87
  361. package/deps/couchbase-cxx-client/core/impl/remove.cxx +0 -86
  362. package/deps/couchbase-cxx-client/core/impl/replace.cxx +0 -102
  363. package/deps/couchbase-cxx-client/core/impl/touch.cxx +0 -49
  364. package/deps/couchbase-cxx-client/core/impl/unlock.cxx +0 -47
  365. package/deps/couchbase-cxx-client/core/impl/update_bucket.cxx +0 -133
  366. package/deps/couchbase-cxx-client/core/impl/update_collection.cxx +0 -83
  367. package/deps/couchbase-cxx-client/core/impl/upsert.cxx +0 -100
  368. package/deps/couchbase-cxx-client/core/impl/watch_query_indexes.cxx +0 -196
  369. package/deps/couchbase-cxx-client/core/operations/mcbp_noop.hxx +0 -49
  370. /package/deps/couchbase-cxx-client/core/impl/{streaming_json_lexter_error_category.cxx → streaming_json_lexer_error_category.cxx} +0 -0
@@ -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
- this._cluster.conn.search({
35
+ const request = {
30
36
  timeout,
31
37
  index_name: indexName,
32
- query: JSON.stringify(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
- }, (cppErr, resp) => {
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);
@@ -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
+ }
@@ -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;
@@ -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
  /**
@@ -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
- expiration_time: config.timeout,
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
- kv_timeout: config.kvTimeout,
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,
@@ -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 = { "password": newPassword };
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.8",
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.8",
83
- "@couchbase/couchbase-darwin-x64-napi": "4.2.8",
84
- "@couchbase/couchbase-linux-arm64-napi": "4.2.8",
85
- "@couchbase/couchbase-linuxmusl-x64-napi": "4.2.8",
86
- "@couchbase/couchbase-linux-x64-napi": "4.2.8",
87
- "@couchbase/couchbase-win32-x64-napi": "4.2.8"
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
@@ -7,6 +7,7 @@
7
7
  #include "transaction.hpp"
8
8
  #include "transactions.hpp"
9
9
  #include <core/logger/configuration.hxx>
10
+ #include <core/meta/version.hxx>
10
11
  #include <napi.h>
11
12
  #include <spdlog/spdlog.h>
12
13
 
@@ -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::jsManagementSearchIndexStats>(
193
- "managementSearchIndexStats"),
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->open(
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->close([cookie = std::move(cookie)]() mutable {
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->open_bucket(
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->diagnostics(
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->ping(
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->with_bucket_configuration(
419
+ this->_instance->_cluster.with_bucket_configuration(
417
420
  bucketName,
418
421
  [barrier](
419
422
  std::error_code ec,
@@ -59,7 +59,7 @@ public:
59
59
  Connection(const Napi::CallbackInfo &info);
60
60
  ~Connection();
61
61
 
62
- std::shared_ptr<couchbase::core::cluster> cluster() const
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 jsManagementSearchIndexStats(const Napi::CallbackInfo &info);
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->execute(
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::jsManagementSearchIndexStats(const Napi::CallbackInfo &info)
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("managementSearchIndexStats",
1185
- jsToCbpp<couchbase::core::operations::management::
1186
- search_index_stats_request>(optsJsObj),
1187
- callbackJsFn);
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