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
package/src/instance.cpp CHANGED
@@ -4,7 +4,7 @@ namespace couchnode
4
4
  {
5
5
 
6
6
  Instance::Instance()
7
- : _cluster(couchbase::core::cluster::create(_io))
7
+ : _cluster(couchbase::core::cluster(_io))
8
8
  {
9
9
  _ioThread = std::thread([this]() { _io.run(); });
10
10
  }
@@ -15,7 +15,7 @@ Instance::~Instance()
15
15
 
16
16
  void Instance::asyncDestroy()
17
17
  {
18
- _cluster->close([this]() mutable {
18
+ _cluster.close([this]() mutable {
19
19
  // We have to run this on a separate thread since the callback itself is
20
20
  // actually running from within the io context.
21
21
  std::thread([this]() {
package/src/instance.hpp CHANGED
@@ -19,7 +19,7 @@ public:
19
19
 
20
20
  asio::io_context _io;
21
21
  std::thread _ioThread;
22
- std::shared_ptr<couchbase::core::cluster> _cluster;
22
+ couchbase::core::cluster _cluster;
23
23
  };
24
24
 
25
25
  } // namespace couchnode
@@ -5,6 +5,7 @@
5
5
  #include "jstocbpp_cpptypes.hpp"
6
6
 
7
7
  #include <core/cluster.hxx>
8
+ #include <core/operations.hxx>
8
9
  #include <core/operations/management/analytics.hxx>
9
10
  #include <core/operations/management/bucket.hxx>
10
11
  #include <core/operations/management/bucket_describe.hxx>
@@ -1277,11 +1278,11 @@ struct js_to_cbpp_t<couchbase::core::management::search::index> {
1277
1278
  };
1278
1279
 
1279
1280
  template <>
1280
- struct js_to_cbpp_t<couchbase::management::query::index> {
1281
- static inline couchbase::management::query::index from_js(Napi::Value jsVal)
1281
+ struct js_to_cbpp_t<couchbase::management::query_index> {
1282
+ static inline couchbase::management::query_index from_js(Napi::Value jsVal)
1282
1283
  {
1283
1284
  auto jsObj = jsVal.ToObject();
1284
- couchbase::management::query::index cppObj;
1285
+ couchbase::management::query_index cppObj;
1285
1286
  js_to_cbpp<bool>(cppObj.is_primary, jsObj.Get("is_primary"));
1286
1287
  js_to_cbpp<std::string>(cppObj.name, jsObj.Get("name"));
1287
1288
  js_to_cbpp<std::string>(cppObj.state, jsObj.Get("state"));
@@ -1300,7 +1301,7 @@ struct js_to_cbpp_t<couchbase::management::query::index> {
1300
1301
  return cppObj;
1301
1302
  }
1302
1303
  static inline Napi::Value
1303
- to_js(Napi::Env env, const couchbase::management::query::index &cppObj)
1304
+ to_js(Napi::Env env, const couchbase::management::query_index &cppObj)
1304
1305
  {
1305
1306
  auto resObj = Napi::Object::New(env);
1306
1307
  resObj.Set("is_primary", cbpp_to_js<bool>(env, cppObj.is_primary));
@@ -1363,7 +1364,7 @@ struct js_to_cbpp_t<
1363
1364
  couchbase::core::topology::collections_manifest::collection cppObj;
1364
1365
  js_to_cbpp<std::uint64_t>(cppObj.uid, jsObj.Get("uid"));
1365
1366
  js_to_cbpp<std::string>(cppObj.name, jsObj.Get("name"));
1366
- js_to_cbpp<std::uint32_t>(cppObj.max_expiry, jsObj.Get("max_expiry"));
1367
+ js_to_cbpp<std::int32_t>(cppObj.max_expiry, jsObj.Get("max_expiry"));
1367
1368
  js_to_cbpp<std::optional<bool>>(cppObj.history, jsObj.Get("history"));
1368
1369
  return cppObj;
1369
1370
  }
@@ -1376,7 +1377,7 @@ struct js_to_cbpp_t<
1376
1377
  resObj.Set("uid", cbpp_to_js<std::uint64_t>(env, cppObj.uid));
1377
1378
  resObj.Set("name", cbpp_to_js<std::string>(env, cppObj.name));
1378
1379
  resObj.Set("max_expiry",
1379
- cbpp_to_js<std::uint32_t>(env, cppObj.max_expiry));
1380
+ cbpp_to_js<std::int32_t>(env, cppObj.max_expiry));
1380
1381
  resObj.Set("history",
1381
1382
  cbpp_to_js<std::optional<bool>>(env, cppObj.history));
1382
1383
  return resObj;
@@ -2545,26 +2546,6 @@ struct js_to_cbpp_t<couchbase::core::operations::query_request> {
2545
2546
  }
2546
2547
  };
2547
2548
 
2548
- template <>
2549
- struct js_to_cbpp_t<couchbase::core::operations::mcbp_noop_response> {
2550
- static inline couchbase::core::operations::mcbp_noop_response
2551
- from_js(Napi::Value jsVal)
2552
- {
2553
- auto jsObj = jsVal.ToObject();
2554
- couchbase::core::operations::mcbp_noop_response cppObj;
2555
- // ctx
2556
- return cppObj;
2557
- }
2558
- static inline Napi::Value
2559
- to_js(Napi::Env env,
2560
- const couchbase::core::operations::mcbp_noop_response &cppObj)
2561
- {
2562
- auto resObj = Napi::Object::New(env);
2563
- // ctx
2564
- return resObj;
2565
- }
2566
- };
2567
-
2568
2549
  template <>
2569
2550
  struct js_to_cbpp_t<couchbase::core::operations::replace_response> {
2570
2551
  static inline couchbase::core::operations::replace_response
@@ -3893,6 +3874,13 @@ struct js_to_cbpp_t<couchbase::core::operations::search_request> {
3893
3874
  js_to_cbpp<std::string>(cppObj.index_name, jsObj.Get("index_name"));
3894
3875
  js_to_cbpp<couchbase::core::json_string>(cppObj.query,
3895
3876
  jsObj.Get("query"));
3877
+ js_to_cbpp<std::optional<bool>>(cppObj.show_request,
3878
+ jsObj.Get("show_request"));
3879
+ js_to_cbpp<std::optional<couchbase::core::json_string>>(
3880
+ cppObj.vector_search, jsObj.Get("vector_search"));
3881
+ js_to_cbpp<std::optional<couchbase::core::vector_query_combination>>(
3882
+ cppObj.vector_query_combination,
3883
+ jsObj.Get("vector_query_combination"));
3896
3884
  js_to_cbpp<std::optional<std::uint32_t>>(cppObj.limit,
3897
3885
  jsObj.Get("limit"));
3898
3886
  js_to_cbpp<std::optional<std::uint32_t>>(cppObj.skip,
@@ -3937,6 +3925,16 @@ struct js_to_cbpp_t<couchbase::core::operations::search_request> {
3937
3925
  cbpp_to_js<std::string>(env, cppObj.index_name));
3938
3926
  resObj.Set("query",
3939
3927
  cbpp_to_js<couchbase::core::json_string>(env, cppObj.query));
3928
+ resObj.Set("show_request",
3929
+ cbpp_to_js<std::optional<bool>>(env, cppObj.show_request));
3930
+ resObj.Set("vector_search",
3931
+ cbpp_to_js<std::optional<couchbase::core::json_string>>(
3932
+ env, cppObj.vector_search));
3933
+ resObj.Set(
3934
+ "vector_query_combination",
3935
+ cbpp_to_js<
3936
+ std::optional<couchbase::core::vector_query_combination>>(
3937
+ env, cppObj.vector_query_combination));
3940
3938
  resObj.Set("limit",
3941
3939
  cbpp_to_js<std::optional<std::uint32_t>>(env, cppObj.limit));
3942
3940
  resObj.Set("skip",
@@ -5170,7 +5168,7 @@ struct js_to_cbpp_t<
5170
5168
  cppObj;
5171
5169
  // ctx
5172
5170
  js_to_cbpp<std::string>(cppObj.status, jsObj.Get("status"));
5173
- js_to_cbpp<std::vector<couchbase::management::query::index>>(
5171
+ js_to_cbpp<std::vector<couchbase::management::query_index>>(
5174
5172
  cppObj.indexes, jsObj.Get("indexes"));
5175
5173
  return cppObj;
5176
5174
  }
@@ -5182,7 +5180,7 @@ struct js_to_cbpp_t<
5182
5180
  // ctx
5183
5181
  resObj.Set("status", cbpp_to_js<std::string>(env, cppObj.status));
5184
5182
  resObj.Set("indexes",
5185
- cbpp_to_js<std::vector<couchbase::management::query::index>>(
5183
+ cbpp_to_js<std::vector<couchbase::management::query_index>>(
5186
5184
  env, cppObj.indexes));
5187
5185
  return resObj;
5188
5186
  }
@@ -5271,7 +5269,7 @@ struct js_to_cbpp_t<
5271
5269
  js_to_cbpp<std::string>(cppObj.scope_name, jsObj.Get("scope_name"));
5272
5270
  js_to_cbpp<std::string>(cppObj.collection_name,
5273
5271
  jsObj.Get("collection_name"));
5274
- js_to_cbpp<std::uint32_t>(cppObj.max_expiry, jsObj.Get("max_expiry"));
5272
+ js_to_cbpp<std::int32_t>(cppObj.max_expiry, jsObj.Get("max_expiry"));
5275
5273
  js_to_cbpp<std::optional<bool>>(cppObj.history, jsObj.Get("history"));
5276
5274
  js_to_cbpp<std::optional<std::string>>(cppObj.client_context_id,
5277
5275
  jsObj.Get("client_context_id"));
@@ -5292,7 +5290,7 @@ struct js_to_cbpp_t<
5292
5290
  resObj.Set("collection_name",
5293
5291
  cbpp_to_js<std::string>(env, cppObj.collection_name));
5294
5292
  resObj.Set("max_expiry",
5295
- cbpp_to_js<std::uint32_t>(env, cppObj.max_expiry));
5293
+ cbpp_to_js<std::int32_t>(env, cppObj.max_expiry));
5296
5294
  resObj.Set("history",
5297
5295
  cbpp_to_js<std::optional<bool>>(env, cppObj.history));
5298
5296
  resObj.Set("client_context_id", cbpp_to_js<std::optional<std::string>>(
@@ -7121,8 +7119,8 @@ struct js_to_cbpp_t<
7121
7119
  js_to_cbpp<std::string>(cppObj.scope_name, jsObj.Get("scope_name"));
7122
7120
  js_to_cbpp<std::string>(cppObj.collection_name,
7123
7121
  jsObj.Get("collection_name"));
7124
- js_to_cbpp<std::optional<std::uint32_t>>(cppObj.max_expiry,
7125
- jsObj.Get("max_expiry"));
7122
+ js_to_cbpp<std::optional<std::int32_t>>(cppObj.max_expiry,
7123
+ jsObj.Get("max_expiry"));
7126
7124
  js_to_cbpp<std::optional<bool>>(cppObj.history, jsObj.Get("history"));
7127
7125
  js_to_cbpp<std::optional<std::string>>(cppObj.client_context_id,
7128
7126
  jsObj.Get("client_context_id"));
@@ -7142,7 +7140,7 @@ struct js_to_cbpp_t<
7142
7140
  cbpp_to_js<std::string>(env, cppObj.scope_name));
7143
7141
  resObj.Set("collection_name",
7144
7142
  cbpp_to_js<std::string>(env, cppObj.collection_name));
7145
- resObj.Set("max_expiry", cbpp_to_js<std::optional<std::uint32_t>>(
7143
+ resObj.Set("max_expiry", cbpp_to_js<std::optional<std::int32_t>>(
7146
7144
  env, cppObj.max_expiry));
7147
7145
  resObj.Set("history",
7148
7146
  cbpp_to_js<std::optional<bool>>(env, cppObj.history));
@@ -8707,21 +8705,22 @@ struct js_to_cbpp_t<couchbase::core::operations::management::
8707
8705
 
8708
8706
  template <>
8709
8707
  struct js_to_cbpp_t<
8710
- couchbase::core::operations::management::search_index_stats_response> {
8708
+ couchbase::core::operations::management::search_get_stats_response> {
8711
8709
  static inline couchbase::core::operations::management::
8712
- search_index_stats_response
8710
+ search_get_stats_response
8713
8711
  from_js(Napi::Value jsVal)
8714
8712
  {
8715
8713
  auto jsObj = jsVal.ToObject();
8716
- couchbase::core::operations::management::search_index_stats_response
8714
+ couchbase::core::operations::management::search_get_stats_response
8717
8715
  cppObj;
8718
8716
  // ctx
8719
8717
  js_to_cbpp<std::string>(cppObj.stats, jsObj.Get("stats"));
8720
8718
  return cppObj;
8721
8719
  }
8722
- static inline Napi::Value
8723
- to_js(Napi::Env env, const couchbase::core::operations::management::
8724
- search_index_stats_response &cppObj)
8720
+ static inline Napi::Value to_js(
8721
+ Napi::Env env,
8722
+ const couchbase::core::operations::management::search_get_stats_response
8723
+ &cppObj)
8725
8724
  {
8726
8725
  auto resObj = Napi::Object::New(env);
8727
8726
  // ctx
@@ -8732,13 +8731,13 @@ struct js_to_cbpp_t<
8732
8731
 
8733
8732
  template <>
8734
8733
  struct js_to_cbpp_t<
8735
- couchbase::core::operations::management::search_index_stats_request> {
8734
+ couchbase::core::operations::management::search_get_stats_request> {
8736
8735
  static inline couchbase::core::operations::management::
8737
- search_index_stats_request
8736
+ search_get_stats_request
8738
8737
  from_js(Napi::Value jsVal)
8739
8738
  {
8740
8739
  auto jsObj = jsVal.ToObject();
8741
- couchbase::core::operations::management::search_index_stats_request
8740
+ couchbase::core::operations::management::search_get_stats_request
8742
8741
  cppObj;
8743
8742
  js_to_cbpp<std::optional<std::string>>(cppObj.client_context_id,
8744
8743
  jsObj.Get("client_context_id"));
@@ -8746,9 +8745,10 @@ struct js_to_cbpp_t<
8746
8745
  cppObj.timeout, jsObj.Get("timeout"));
8747
8746
  return cppObj;
8748
8747
  }
8749
- static inline Napi::Value
8750
- to_js(Napi::Env env, const couchbase::core::operations::management::
8751
- search_index_stats_request &cppObj)
8748
+ static inline Napi::Value to_js(
8749
+ Napi::Env env,
8750
+ const couchbase::core::operations::management::search_get_stats_request
8751
+ &cppObj)
8752
8752
  {
8753
8753
  auto resObj = Napi::Object::New(env);
8754
8754
  resObj.Set("client_context_id", cbpp_to_js<std::optional<std::string>>(
@@ -6,6 +6,8 @@
6
6
  #include "mutationtoken.hpp"
7
7
 
8
8
  #include <core/cluster.hxx>
9
+ #include <core/document_id.hxx>
10
+ #include <core/json_string.hxx>
9
11
  #include <core/query_context.hxx>
10
12
 
11
13
  namespace couchnode
@@ -6,6 +6,7 @@
6
6
 
7
7
  #include <core/cluster.hxx>
8
8
  #include <core/operations/management/error_utils.hxx>
9
+ #include <couchbase/query_error_context.hxx>
9
10
 
10
11
  namespace couchnode
11
12
  {
@@ -47,17 +47,9 @@ struct js_to_cbpp_t<cbtxns::transactions_config> {
47
47
  cppObj.durability_level(durability_level.value());
48
48
  }
49
49
 
50
- auto kv_timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(
51
- jsObj.Get("kv_timeout"));
52
- if (kv_timeout.has_value()) {
53
- cppObj.kv_timeout(kv_timeout.value());
54
- }
55
-
56
- auto expiration_time =
57
- js_to_cbpp<std::optional<std::chrono::milliseconds>>(
58
- jsObj.Get("expiration_time"));
59
- if (expiration_time.has_value()) {
60
- cppObj.expiration_time(expiration_time.value());
50
+ auto timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(jsObj.Get("timeout"));
51
+ if (timeout.has_value()) {
52
+ cppObj.timeout(timeout.value());
61
53
  }
62
54
 
63
55
  auto query_scan_consistency =
@@ -107,17 +99,9 @@ struct js_to_cbpp_t<cbtxns::transaction_options> {
107
99
  cppObj.durability_level(durability_level.value());
108
100
  }
109
101
 
110
- auto kv_timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(
111
- jsObj.Get("kv_timeout"));
112
- if (kv_timeout.has_value()) {
113
- cppObj.kv_timeout(kv_timeout.value());
114
- }
115
-
116
- auto expiration_time =
117
- js_to_cbpp<std::optional<std::chrono::milliseconds>>(
118
- jsObj.Get("expiration_time"));
119
- if (expiration_time.has_value()) {
120
- cppObj.expiration_time(expiration_time.value());
102
+ auto timeout = js_to_cbpp<std::optional<std::chrono::milliseconds>>(jsObj.Get("timeout"));
103
+ if (timeout.has_value()) {
104
+ cppObj.timeout(timeout.value());
121
105
  }
122
106
 
123
107
  auto query_scan_consistency =
@@ -2,6 +2,7 @@
2
2
  #include "addondata.hpp"
3
3
  #include "napi.h"
4
4
  #include <core/cluster.hxx>
5
+ #include <couchbase/mutation_token.hxx>
5
6
 
6
7
  namespace couchnode
7
8
  {
@@ -3,6 +3,8 @@ import json
3
3
  import re
4
4
  import clang.cindex
5
5
 
6
+ from functools import reduce
7
+
6
8
  # configurable part
7
9
 
8
10
  CLANG_VERSION='13.0.1'
@@ -11,7 +13,16 @@ CLANG_VERSION='13.0.1'
11
13
  # arm64: /opt/homebrew/opt/llvm/lib
12
14
  llvmLibPath = "/usr/local/Cellar/llvm/13.0.1_1/lib/"
13
15
 
14
- cxxClientRoot = "../deps/couchbase-cxx-client"
16
+ cxx_client_root = "../deps/couchbase-cxx-client"
17
+ cxx_client_cache = "../deps/couchbase-cxx-cache"
18
+ cxx_deps_include_paths = {
19
+ 'asio': ['-I{0}/asio/{1}/asio/asio/include'],
20
+ 'fmt': ['-I{0}/fmt/{1}/fmt/include'],
21
+ 'gsl': ['-I{0}/gsl/{1}/gsl/include'],
22
+ 'json': ['-I{0}/json/{1}/json/include',
23
+ '-I{0}/json/{1}/json/external/PEGTL/include'
24
+ ],
25
+ }
15
26
 
16
27
  fileList = [
17
28
  "core/management/analytics_dataset.hxx",
@@ -61,6 +72,7 @@ fileList = [
61
72
  "core/scan_options.hxx",
62
73
  "core/range_scan_orchestrator_options.hxx",
63
74
  "core/query_context.hxx",
75
+ "core/vector_query_combination.hxx",
64
76
  ]
65
77
 
66
78
  typeList = [
@@ -89,7 +101,7 @@ typeList = [
89
101
  "couchbase::core::management::rbac::user_and_metadata",
90
102
  "couchbase::core::management::rbac::group",
91
103
  "couchbase::core::management::search::index",
92
- "couchbase::management::query::index",
104
+ "couchbase::management::query_index",
93
105
  "couchbase::retry_reason",
94
106
  "couchbase::core::topology::collections_manifest",
95
107
  "couchbase::core::protocol::status",
@@ -154,12 +166,22 @@ typeList = [
154
166
  "couchbase::core::range_scan_continue_result",
155
167
  "couchbase::core::range_scan_cancel_result",
156
168
  "couchbase::core::query_context",
169
+ "couchbase::core::vector_query_combination",
157
170
  ]
158
171
 
159
172
  # end of configurable part
160
173
 
161
174
  clang.cindex.Config.set_library_path(llvmLibPath)
162
175
 
176
+ def set_cxx_deps_include_paths(dep, includes):
177
+ cpm_path = os.path.join(cxx_client_cache, dep)
178
+ dir_pattern = r'[0-9a-z]{40}'
179
+ cpm_hash_dir = next((d for d in os.listdir(cpm_path)
180
+ if os.path.isdir(os.path.join(cpm_path, d)) and re.match(dir_pattern, d)),
181
+ None)
182
+ if not cpm_hash_dir:
183
+ raise Exception(f'Unable to find CPM hash directory for path: {cpm_path}.')
184
+ return list(map(lambda p: p.format(cxx_client_cache, cpm_hash_dir), includes))
163
185
 
164
186
  def list_headers_in_dir(path):
165
187
  # enumerates a folder but keeps the full pathing for the files returned
@@ -184,11 +206,11 @@ for filePath in fileList:
184
206
  # if there is still a wildcard, we have an issue...
185
207
  raise NotImplementedError(
186
208
  "wildcard only supported at end of file path")
187
- files = list_headers_in_dir(os.path.join(cxxClientRoot, basePath))
209
+ files = list_headers_in_dir(os.path.join(cxx_client_root, basePath))
188
210
  fullFileList = fullFileList + files
189
211
  else:
190
212
  # normal path
191
- fullFileList.append(os.path.join(cxxClientRoot, filePath))
213
+ fullFileList.append(os.path.join(cxx_client_root, filePath))
192
214
 
193
215
  # exclude _json.hxx files
194
216
  fullFileList = list(
@@ -228,7 +250,11 @@ def parse_type(type):
228
250
  typeStr = type.get_canonical().spelling
229
251
  return parse_type_str(typeStr)
230
252
 
231
- std_comparators = ["std::less<>", "std::greater<>", "std::less_equal<>", "std::greater_equal<>"]
253
+ std_comparator_templates = ["std::less<{0}>", "std::greater<{0}>", "std::less_equal<{0}>", "std::greater_equal<{0}>"]
254
+ # flatten the list of lists
255
+ std_comparators = list(reduce(lambda a, b: a + b,
256
+ list(map(lambda c: [c.format(s) for s in ['', 'void']], std_comparator_templates)),
257
+ []))
232
258
 
233
259
  def parse_type_str(typeStr):
234
260
  if typeStr == "std::mutex":
@@ -276,6 +302,8 @@ def parse_type_str(typeStr):
276
302
  if typeStr == "std::nullptr_t":
277
303
  return {"name": "std::nullptr_t"}
278
304
  if typeStr in std_comparators:
305
+ if 'void' in typeStr:
306
+ return {"name": typeStr.replace("void", "")}
279
307
  return {"name": typeStr}
280
308
 
281
309
  tplParts = typeStr.split("<", 1)
@@ -440,20 +468,17 @@ def traverse(node, namespace, main_file):
440
468
  for child in node.get_children():
441
469
  traverse(child, namespace, main_file)
442
470
 
471
+ include_paths = [
472
+ f'-I{cxx_client_root}/',
473
+ f'-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{CLANG_VERSION}/include',
474
+ ]
475
+ for dep, inc in cxx_deps_include_paths.items():
476
+ include_paths.extend(set_cxx_deps_include_paths(dep, inc))
477
+
443
478
  for headerPath in fullFileList:
444
479
  print("processing " + headerPath)
445
480
  index = clang.cindex.Index.create()
446
- args = [
447
- '-std=c++17',
448
- "-I" + cxxClientRoot + "/",
449
- "-I" + cxxClientRoot + "/third_party/fmt/include",
450
- "-I" + cxxClientRoot + "/third_party/gsl/include",
451
- "-I" + cxxClientRoot + "/third_party/json/include",
452
- "-I" + cxxClientRoot + "/third_party/json/external/PEGTL/include",
453
- "-I" + cxxClientRoot + "/third_party/asio/asio/include",
454
- "-I" + f"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{CLANG_VERSION}/include",
455
- # "-I" + f'/opt/homebrew/Cellar/llvm/{CLANG_VERSION}/lib/clang/{CLANG_VERSION[:2]}/include',
456
- ]
481
+ args = ['-std=c++17'] + include_paths
457
482
  translation_unit = index.parse(headerPath, args=args)
458
483
 
459
484
  # output clang compiler diagnostics information (for debugging)
@@ -1,87 +0,0 @@
1
- /* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright 2020-Present Couchbase, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- #include "core/cluster.hxx"
19
- #include "core/error_context/key_value.hxx"
20
- #include "core/impl/observe_poll.hxx"
21
- #include "core/impl/observe_seqno.hxx"
22
- #include "core/operations/document_append.hxx"
23
-
24
- #include <couchbase/append_options.hxx>
25
-
26
- namespace couchbase::core::impl
27
- {
28
- void
29
- initiate_append_operation(std::shared_ptr<couchbase::core::cluster> core,
30
- std::string bucket_name,
31
- std::string scope_name,
32
- std::string collection_name,
33
- std::string document_key,
34
- std::vector<std::byte> data,
35
- append_options::built options,
36
- append_handler&& handler)
37
- {
38
- auto id = document_id{
39
- std::move(bucket_name),
40
- std::move(scope_name),
41
- std::move(collection_name),
42
- std::move(document_key),
43
- };
44
- if (options.persist_to == persist_to::none && options.replicate_to == replicate_to::none) {
45
- return core->execute(
46
- operations::append_request{
47
- std::move(id),
48
- std::move(data),
49
- {},
50
- {},
51
- options.durability_level,
52
- options.timeout,
53
- { options.retry_strategy },
54
- },
55
- [handler = std::move(handler)](operations::append_response&& resp) mutable {
56
- if (resp.ctx.ec()) {
57
- return handler(std::move(resp.ctx), mutation_result{});
58
- }
59
- return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
60
- });
61
- }
62
-
63
- operations::append_request request{
64
- id, std::move(data), {}, {}, durability_level::none, options.timeout, { options.retry_strategy },
65
- };
66
- return core->execute(
67
- std::move(request), [core, id = std::move(id), options, handler = std::move(handler)](operations::append_response&& resp) mutable {
68
- if (resp.ctx.ec()) {
69
- return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
70
- }
71
-
72
- initiate_observe_poll(core,
73
- std::move(id),
74
- resp.token,
75
- options.timeout,
76
- options.persist_to,
77
- options.replicate_to,
78
- [resp = std::move(resp), handler = std::move(handler)](std::error_code ec) mutable {
79
- if (ec) {
80
- resp.ctx.override_ec(ec);
81
- return handler(std::move(resp.ctx), mutation_result{});
82
- }
83
- return handler(std::move(resp.ctx), mutation_result{ resp.cas, std::move(resp.token) });
84
- });
85
- });
86
- }
87
- } // namespace couchbase::core::impl