couchbase 4.6.0 → 4.7.0-dev.1

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 (320) hide show
  1. package/CMakeLists.txt +2 -1
  2. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +66 -93
  3. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +24 -11
  5. package/deps/couchbase-cxx-client/README.md +17 -16
  6. package/deps/couchbase-cxx-client/cmake/APKBUILD.in +17 -1
  7. package/deps/couchbase-cxx-client/cmake/Bundler.cmake +9 -1
  8. package/deps/couchbase-cxx-client/cmake/Cache.cmake +48 -19
  9. package/deps/couchbase-cxx-client/cmake/CompilerOptions.cmake +3 -1
  10. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +10 -2
  11. package/deps/couchbase-cxx-client/cmake/Packaging.cmake +48 -8
  12. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +43 -1
  13. package/deps/couchbase-cxx-client/cmake/build_config.hxx.in +2 -0
  14. package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +18 -0
  15. package/deps/couchbase-cxx-client/cmake/debian/control +6 -1
  16. package/deps/couchbase-cxx-client/cmake/debian/rules +1 -0
  17. package/deps/couchbase-cxx-client/cmake/tarball_glob.txt +10 -0
  18. package/deps/couchbase-cxx-client/core/app_telemetry_meter.cxx +1 -0
  19. package/deps/couchbase-cxx-client/core/app_telemetry_reporter.cxx +45 -43
  20. package/deps/couchbase-cxx-client/core/app_telemetry_reporter.hxx +4 -3
  21. package/deps/couchbase-cxx-client/core/bucket.cxx +128 -13
  22. package/deps/couchbase-cxx-client/core/bucket.hxx +12 -2
  23. package/deps/couchbase-cxx-client/core/cluster.cxx +304 -152
  24. package/deps/couchbase-cxx-client/core/cluster.hxx +32 -0
  25. package/deps/couchbase-cxx-client/core/cluster_credentials.cxx +25 -0
  26. package/deps/couchbase-cxx-client/core/cluster_credentials.hxx +5 -0
  27. package/deps/couchbase-cxx-client/core/cluster_label_listener.cxx +72 -0
  28. package/deps/couchbase-cxx-client/core/cluster_label_listener.hxx +46 -0
  29. package/deps/couchbase-cxx-client/core/cluster_options.hxx +4 -0
  30. package/deps/couchbase-cxx-client/core/deprecation_utils.hxx +26 -0
  31. package/deps/couchbase-cxx-client/core/error.hxx +27 -0
  32. package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +0 -2
  33. package/deps/couchbase-cxx-client/core/http_component.cxx +12 -48
  34. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +3 -2
  35. package/deps/couchbase-cxx-client/core/impl/analytics.hxx +2 -1
  36. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +249 -137
  37. package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +134 -58
  38. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +87 -35
  39. package/deps/couchbase-cxx-client/core/impl/collection.cxx +560 -245
  40. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +89 -49
  41. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +4 -4
  42. package/deps/couchbase-cxx-client/core/impl/error.cxx +20 -13
  43. package/deps/couchbase-cxx-client/core/impl/error.hxx +15 -10
  44. package/deps/couchbase-cxx-client/core/impl/get_all_replicas.hxx +1 -1
  45. package/deps/couchbase-cxx-client/core/impl/get_any_replica.hxx +2 -1
  46. package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
  47. package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +1 -1
  48. package/deps/couchbase-cxx-client/core/impl/observability_recorder.cxx +161 -0
  49. package/deps/couchbase-cxx-client/core/impl/observability_recorder.hxx +77 -0
  50. package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
  51. package/deps/couchbase-cxx-client/core/impl/public_bucket.cxx +31 -7
  52. package/deps/couchbase-cxx-client/core/impl/public_cluster.cxx +107 -19
  53. package/deps/couchbase-cxx-client/core/impl/query.cxx +6 -3
  54. package/deps/couchbase-cxx-client/core/impl/query.hxx +3 -1
  55. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +267 -102
  56. package/deps/couchbase-cxx-client/core/impl/scope.cxx +53 -11
  57. package/deps/couchbase-cxx-client/core/impl/search.cxx +8 -4
  58. package/deps/couchbase-cxx-client/core/impl/search.hxx +6 -2
  59. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +131 -41
  60. package/deps/couchbase-cxx-client/core/impl/with_cancellation.hxx +75 -0
  61. package/deps/couchbase-cxx-client/core/io/config_tracker.cxx +9 -9
  62. package/deps/couchbase-cxx-client/core/io/config_tracker.hxx +2 -1
  63. package/deps/couchbase-cxx-client/core/io/http_command.hxx +98 -49
  64. package/deps/couchbase-cxx-client/core/io/http_context.hxx +2 -0
  65. package/deps/couchbase-cxx-client/core/io/http_session.cxx +23 -10
  66. package/deps/couchbase-cxx-client/core/io/http_session.hxx +17 -9
  67. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +163 -228
  68. package/deps/couchbase-cxx-client/core/io/http_traits.hxx +0 -7
  69. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +123 -44
  70. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +251 -26
  71. package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +9 -1
  72. package/deps/couchbase-cxx-client/core/io/mcbp_traits.hxx +0 -8
  73. package/deps/couchbase-cxx-client/core/io/streams.cxx +3 -3
  74. package/deps/couchbase-cxx-client/core/io/streams.hxx +3 -2
  75. package/deps/couchbase-cxx-client/core/meta/features.hxx +15 -0
  76. package/deps/couchbase-cxx-client/core/meta/version.cxx +13 -0
  77. package/deps/couchbase-cxx-client/core/meta/version.hxx +3 -0
  78. package/deps/couchbase-cxx-client/core/metrics/constants.hxx +23 -0
  79. package/deps/couchbase-cxx-client/core/metrics/logging_meter.cxx +5 -5
  80. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.cxx +65 -63
  81. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.hxx +12 -10
  82. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +0 -5
  83. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +0 -4
  84. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +0 -5
  85. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +0 -7
  86. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +0 -7
  87. package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +77 -27
  88. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +0 -9
  89. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +0 -9
  90. package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +83 -2
  91. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +0 -9
  92. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +0 -5
  93. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +0 -4
  94. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +0 -9
  95. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +46 -4
  96. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +121 -43
  97. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +0 -5
  98. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +0 -4
  99. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +0 -4
  100. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +0 -4
  101. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +0 -4
  102. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +0 -7
  103. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +0 -7
  104. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +0 -6
  105. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +0 -4
  106. package/deps/couchbase-cxx-client/core/operations/document_view.cxx +2 -0
  107. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +10 -13
  108. package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
  109. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +2 -0
  110. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +2 -0
  111. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  115. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +2 -0
  116. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +2 -0
  117. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +2 -0
  118. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +2 -0
  119. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +2 -0
  120. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +2 -0
  121. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +2 -0
  122. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +2 -0
  123. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +2 -0
  124. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +2 -0
  125. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +2 -0
  126. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +2 -0
  127. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +2 -0
  128. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +2 -0
  129. package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +2 -0
  130. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +2 -0
  131. package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +2 -0
  132. package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +2 -0
  134. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
  135. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +2 -0
  136. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
  137. package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
  138. package/deps/couchbase-cxx-client/core/operations/management/error_utils.cxx +4 -1
  139. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +2 -0
  140. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +2 -0
  141. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +2 -0
  142. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +2 -0
  143. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +2 -0
  144. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +2 -0
  145. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +2 -0
  146. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +2 -0
  147. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +2 -0
  148. package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
  149. package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +2 -0
  150. package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +2 -0
  151. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +2 -0
  152. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +2 -0
  153. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -0
  154. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +68 -30
  155. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +2 -0
  156. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +2 -0
  157. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +4 -3
  158. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +2 -1
  159. package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +2 -0
  160. package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +2 -0
  161. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +2 -0
  162. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +2 -0
  163. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +2 -0
  164. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +2 -0
  165. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +2 -0
  166. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +2 -0
  167. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +2 -0
  168. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +2 -0
  169. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +2 -0
  170. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +2 -0
  171. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
  172. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +2 -0
  173. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +2 -0
  174. package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +2 -0
  175. package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +2 -0
  176. package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +2 -0
  177. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +2 -0
  178. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +2 -0
  179. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +2 -0
  180. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
  181. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +2 -0
  182. package/deps/couchbase-cxx-client/core/operations/operation_traits.hxx +6 -0
  183. package/deps/couchbase-cxx-client/core/operations.hxx +0 -1
  184. package/deps/couchbase-cxx-client/core/operations_fwd.hxx +8 -0
  185. package/deps/couchbase-cxx-client/core/origin.cxx +67 -12
  186. package/deps/couchbase-cxx-client/core/origin.hxx +13 -8
  187. package/deps/couchbase-cxx-client/core/orphan_reporter.cxx +164 -0
  188. package/deps/couchbase-cxx-client/core/orphan_reporter.hxx +65 -0
  189. package/deps/couchbase-cxx-client/core/sasl/CMakeLists.txt +1 -0
  190. package/deps/couchbase-cxx-client/core/sasl/client.cc +6 -0
  191. package/deps/couchbase-cxx-client/core/sasl/mechanism.cc +2 -1
  192. package/deps/couchbase-cxx-client/core/sasl/mechanism.h +2 -1
  193. package/deps/couchbase-cxx-client/core/sasl/oauthbearer/oauthbearer.cc +41 -0
  194. package/deps/couchbase-cxx-client/core/sasl/oauthbearer/oauthbearer.h +47 -0
  195. package/deps/couchbase-cxx-client/core/tls_context_provider.cxx +44 -0
  196. package/deps/couchbase-cxx-client/core/tls_context_provider.hxx +44 -0
  197. package/deps/couchbase-cxx-client/core/tracing/attribute_helpers.hxx +45 -0
  198. package/deps/couchbase-cxx-client/core/tracing/constants.hxx +148 -68
  199. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_options.hxx +0 -3
  200. package/deps/couchbase-cxx-client/core/tracing/threshold_logging_tracer.cxx +122 -170
  201. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.cxx +17 -24
  202. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.hxx +8 -10
  203. package/deps/couchbase-cxx-client/core/tracing/wrapper_sdk_tracer.cxx +114 -0
  204. package/deps/couchbase-cxx-client/core/tracing/wrapper_sdk_tracer.hxx +85 -0
  205. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +16 -14
  206. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +4 -4
  207. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +1 -1
  208. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +1 -2
  209. package/deps/couchbase-cxx-client/core/utils/byteswap.hxx +12 -0
  210. package/deps/couchbase-cxx-client/core/utils/concurrent_fixed_priority_queue.hxx +102 -0
  211. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +2 -0
  212. package/deps/couchbase-cxx-client/couchbase/certificate_authenticator.hxx +1 -0
  213. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +47 -0
  214. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +16 -0
  215. package/deps/couchbase-cxx-client/couchbase/collection.hxx +60 -15
  216. package/deps/couchbase-cxx-client/couchbase/error_codes.hxx +48 -48
  217. package/deps/couchbase-cxx-client/couchbase/jwt_authenticator.hxx +52 -0
  218. package/deps/couchbase-cxx-client/couchbase/metrics/meter.hxx +2 -1
  219. package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +75 -80
  220. package/deps/couchbase-cxx-client/couchbase/network_options.hxx +19 -0
  221. package/deps/couchbase-cxx-client/couchbase/password_authenticator.hxx +1 -0
  222. package/deps/couchbase-cxx-client/couchbase/tracing/otel_tracer.hxx +15 -17
  223. package/deps/couchbase-cxx-client/couchbase/tracing/request_span.hxx +2 -2
  224. package/dist/analyticsexecutor.d.ts +15 -0
  225. package/dist/analyticsexecutor.js +79 -50
  226. package/dist/analyticsindexmanager.d.ts +66 -0
  227. package/dist/analyticsindexmanager.js +404 -277
  228. package/dist/analyticstypes.d.ts +5 -0
  229. package/dist/authenticators.d.ts +34 -1
  230. package/dist/authenticators.js +19 -1
  231. package/dist/binarycollection.d.ts +17 -0
  232. package/dist/binding.d.ts +245 -228
  233. package/dist/binding.js +2 -2
  234. package/dist/bindingutilities.js +1 -1
  235. package/dist/bucket.d.ts +8 -0
  236. package/dist/bucket.js +8 -0
  237. package/dist/bucketmanager.d.ts +30 -0
  238. package/dist/bucketmanager.js +128 -69
  239. package/dist/cluster.d.ts +45 -0
  240. package/dist/cluster.js +133 -23
  241. package/dist/collection.d.ts +75 -2
  242. package/dist/collection.js +773 -552
  243. package/dist/collectionmanager.d.ts +34 -0
  244. package/dist/collectionmanager.js +172 -89
  245. package/dist/couchbase.d.ts +5 -0
  246. package/dist/couchbase.js +5 -0
  247. package/dist/datastructures.js +310 -97
  248. package/dist/diagnosticsexecutor.js +1 -1
  249. package/dist/errors.d.ts +8 -0
  250. package/dist/errors.js +12 -1
  251. package/dist/eventingfunctionmanager.d.ts +42 -0
  252. package/dist/eventingfunctionmanager.js +172 -100
  253. package/dist/logger.d.ts +192 -0
  254. package/dist/logger.js +213 -0
  255. package/dist/loggingmeter.d.ts +120 -0
  256. package/dist/loggingmeter.js +226 -0
  257. package/dist/metrics.d.ts +33 -0
  258. package/dist/metrics.js +5 -0
  259. package/dist/observability.d.ts +60 -0
  260. package/dist/observability.js +86 -0
  261. package/dist/observabilityhandler.d.ts +176 -0
  262. package/dist/observabilityhandler.js +733 -0
  263. package/dist/observabilitytypes.d.ts +320 -0
  264. package/dist/observabilitytypes.js +362 -0
  265. package/dist/observabilityutilities.d.ts +60 -0
  266. package/dist/observabilityutilities.js +175 -0
  267. package/dist/otelmeter.d.ts +51 -0
  268. package/dist/otelmeter.js +100 -0
  269. package/dist/oteltracer.d.ts +69 -0
  270. package/dist/oteltracer.js +141 -0
  271. package/dist/queryexecutor.d.ts +16 -0
  272. package/dist/queryexecutor.js +128 -86
  273. package/dist/queryindexmanager.d.ts +29 -0
  274. package/dist/queryindexmanager.js +277 -150
  275. package/dist/querytypes.d.ts +5 -0
  276. package/dist/scope.js +2 -2
  277. package/dist/scopeeventingfunctionmanager.d.ts +5 -0
  278. package/dist/scopeeventingfunctionmanager.js +217 -119
  279. package/dist/scopesearchindexmanager.d.ts +5 -0
  280. package/dist/scopesearchindexmanager.js +295 -166
  281. package/dist/sdspecs.js +6 -1
  282. package/dist/searchexecutor.d.ts +15 -0
  283. package/dist/searchexecutor.js +54 -26
  284. package/dist/searchindexmanager.d.ts +54 -0
  285. package/dist/searchindexmanager.js +235 -142
  286. package/dist/searchtypes.d.ts +5 -0
  287. package/dist/thresholdlogging.d.ts +301 -0
  288. package/dist/thresholdlogging.js +657 -0
  289. package/dist/tracing.d.ts +55 -0
  290. package/dist/tracing.js +2 -0
  291. package/dist/transactions.js +1 -1
  292. package/dist/transcoders.js +1 -1
  293. package/dist/usermanager.d.ts +46 -0
  294. package/dist/usermanager.js +199 -118
  295. package/dist/utilities.d.ts +4 -0
  296. package/dist/utilities.js +11 -1
  297. package/dist/utilities_internal.js +0 -1
  298. package/dist/version.d.ts +2 -0
  299. package/dist/version.js +7 -0
  300. package/dist/viewexecutor.d.ts +15 -0
  301. package/dist/viewexecutor.js +54 -29
  302. package/dist/viewindexmanager.d.ts +30 -0
  303. package/dist/viewindexmanager.js +129 -100
  304. package/dist/viewtypes.d.ts +5 -0
  305. package/package.json +32 -18
  306. package/scripts/buildPrebuild.js +2 -0
  307. package/scripts/install.js +2 -0
  308. package/scripts/prebuilds.js +7 -8
  309. package/scripts/prune.js +2 -0
  310. package/scripts/updateVersion.js +26 -0
  311. package/src/connection.cpp +79 -98
  312. package/src/connection.hpp +46 -38
  313. package/src/connection_autogen.cpp +1236 -292
  314. package/src/jstocbpp_autogen.hpp +1117 -313
  315. package/src/jstocbpp_basic.hpp +73 -0
  316. package/src/jstocbpp_defs.hpp +37 -9
  317. package/src/jstocbpp_errors.hpp +37 -11
  318. package/tools/gen-bindings-js.js +100 -22
  319. package/tools/gen-bindings-json.py +40 -6
  320. package/src/transcoder.hpp +0 -96
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ScopeSearchIndexManager = void 0;
4
4
  const utilities_1 = require("./utilities");
5
- const bindingutilities_1 = require("./bindingutilities");
6
5
  const searchindexmanager_1 = require("./searchindexmanager");
6
+ const observability_1 = require("./observability");
7
+ const observabilityhandler_1 = require("./observabilityhandler");
8
+ const observabilitytypes_1 = require("./observabilitytypes");
7
9
  /**
8
10
  * SearchIndexManager provides an interface for managing the
9
11
  * search indexes on the cluster.
@@ -19,6 +21,12 @@ class ScopeSearchIndexManager {
19
21
  this._bucketName = bucketName;
20
22
  this._scopeName = scopeName;
21
23
  }
24
+ /**
25
+ * @internal
26
+ */
27
+ get observabilityInstruments() {
28
+ return this._cluster.observabilityInstruments;
29
+ }
22
30
  /**
23
31
  * Returns an index by it's name.
24
32
  *
@@ -34,22 +42,32 @@ class ScopeSearchIndexManager {
34
42
  if (!options) {
35
43
  options = {};
36
44
  }
37
- const timeout = options.timeout || this._cluster.managementTimeout;
38
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
39
- this._cluster.conn.managementSearchIndexGet({
40
- index_name: indexName,
41
- timeout: timeout,
42
- bucket_name: this._bucketName,
43
- scope_name: this._scopeName,
44
- }, (cppErr, resp) => {
45
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
45
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexGet, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
46
+ obsReqHandler.setRequestHttpAttributes({
47
+ bucketName: this._bucketName,
48
+ scopeName: this._scopeName,
49
+ });
50
+ try {
51
+ const timeout = options.timeout || this._cluster.managementTimeout;
52
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
53
+ const [err, resp] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexGet.bind(this._cluster.conn), {
54
+ index_name: indexName,
55
+ bucket_name: this._bucketName,
56
+ scope_name: this._scopeName,
57
+ timeout: timeout,
58
+ }, obsReqHandler);
46
59
  if (err) {
47
- return wrapCallback(err, null);
60
+ obsReqHandler.endWithError(err);
61
+ throw err;
48
62
  }
49
- const index = searchindexmanager_1.SearchIndex._fromCppData(resp.index);
50
- wrapCallback(null, index);
51
- });
52
- }, callback);
63
+ obsReqHandler.end();
64
+ return searchindexmanager_1.SearchIndex._fromCppData(resp.index);
65
+ }, callback);
66
+ }
67
+ catch (err) {
68
+ obsReqHandler.endWithError(err);
69
+ throw err;
70
+ }
53
71
  }
54
72
  /**
55
73
  * Returns a list of all existing indexes.
@@ -65,21 +83,31 @@ class ScopeSearchIndexManager {
65
83
  if (!options) {
66
84
  options = {};
67
85
  }
68
- const timeout = options.timeout || this._cluster.managementTimeout;
69
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
70
- this._cluster.conn.managementSearchIndexGetAll({
71
- timeout: timeout,
72
- bucket_name: this._bucketName,
73
- scope_name: this._scopeName,
74
- }, (cppErr, resp) => {
75
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
86
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexGetAll, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
87
+ obsReqHandler.setRequestHttpAttributes({
88
+ bucketName: this._bucketName,
89
+ scopeName: this._scopeName,
90
+ });
91
+ try {
92
+ const timeout = options.timeout || this._cluster.managementTimeout;
93
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
94
+ const [err, resp] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexGetAll.bind(this._cluster.conn), {
95
+ bucket_name: this._bucketName,
96
+ scope_name: this._scopeName,
97
+ timeout: timeout,
98
+ }, obsReqHandler);
76
99
  if (err) {
77
- return wrapCallback(err, null);
100
+ obsReqHandler.endWithError(err);
101
+ throw err;
78
102
  }
79
- const indexes = resp.indexes.map((indexData) => searchindexmanager_1.SearchIndex._fromCppData(indexData));
80
- wrapCallback(null, indexes);
81
- });
82
- }, callback);
103
+ obsReqHandler.end();
104
+ return resp.indexes.map((indexData) => searchindexmanager_1.SearchIndex._fromCppData(indexData));
105
+ }, callback);
106
+ }
107
+ catch (err) {
108
+ obsReqHandler.endWithError(err);
109
+ throw err;
110
+ }
83
111
  }
84
112
  /**
85
113
  * Creates or updates an existing index.
@@ -96,21 +124,31 @@ class ScopeSearchIndexManager {
96
124
  if (!options) {
97
125
  options = {};
98
126
  }
99
- const timeout = options.timeout || this._cluster.managementTimeout;
100
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
101
- this._cluster.conn.managementSearchIndexUpsert({
102
- index: searchindexmanager_1.SearchIndex._toCppData(indexDefinition),
103
- timeout: timeout,
104
- bucket_name: this._bucketName,
105
- scope_name: this._scopeName,
106
- }, (cppErr) => {
107
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
127
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexUpsert, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
128
+ obsReqHandler.setRequestHttpAttributes({
129
+ bucketName: this._bucketName,
130
+ scopeName: this._scopeName,
131
+ });
132
+ try {
133
+ const timeout = options.timeout || this._cluster.managementTimeout;
134
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
135
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexUpsert.bind(this._cluster.conn), {
136
+ index: searchindexmanager_1.SearchIndex._toCppData(indexDefinition),
137
+ bucket_name: this._bucketName,
138
+ scope_name: this._scopeName,
139
+ timeout: timeout,
140
+ }, obsReqHandler);
108
141
  if (err) {
109
- return wrapCallback(err, null);
142
+ obsReqHandler.endWithError(err);
143
+ throw err;
110
144
  }
111
- wrapCallback(err);
112
- });
113
- }, callback);
145
+ obsReqHandler.end();
146
+ }, callback);
147
+ }
148
+ catch (err) {
149
+ obsReqHandler.endWithError(err);
150
+ throw err;
151
+ }
114
152
  }
115
153
  /**
116
154
  * Drops an index.
@@ -127,21 +165,31 @@ class ScopeSearchIndexManager {
127
165
  if (!options) {
128
166
  options = {};
129
167
  }
130
- const timeout = options.timeout || this._cluster.managementTimeout;
131
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
132
- this._cluster.conn.managementSearchIndexDrop({
133
- index_name: indexName,
134
- timeout: timeout,
135
- bucket_name: this._bucketName,
136
- scope_name: this._scopeName,
137
- }, (cppErr) => {
138
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
168
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexDrop, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
169
+ obsReqHandler.setRequestHttpAttributes({
170
+ bucketName: this._bucketName,
171
+ scopeName: this._scopeName,
172
+ });
173
+ try {
174
+ const timeout = options.timeout || this._cluster.managementTimeout;
175
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
176
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexDrop.bind(this._cluster.conn), {
177
+ index_name: indexName,
178
+ bucket_name: this._bucketName,
179
+ scope_name: this._scopeName,
180
+ timeout: timeout,
181
+ }, obsReqHandler);
139
182
  if (err) {
140
- return wrapCallback(err, null);
183
+ obsReqHandler.endWithError(err);
184
+ throw err;
141
185
  }
142
- wrapCallback(err);
143
- });
144
- }, callback);
186
+ obsReqHandler.end();
187
+ }, callback);
188
+ }
189
+ catch (err) {
190
+ obsReqHandler.endWithError(err);
191
+ throw err;
192
+ }
145
193
  }
146
194
  /**
147
195
  * Returns the number of documents that have been indexed.
@@ -158,21 +206,32 @@ class ScopeSearchIndexManager {
158
206
  if (!options) {
159
207
  options = {};
160
208
  }
161
- const timeout = options.timeout || this._cluster.managementTimeout;
162
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
163
- this._cluster.conn.managementSearchIndexGetDocumentsCount({
164
- index_name: indexName,
165
- timeout: timeout,
166
- bucket_name: this._bucketName,
167
- scope_name: this._scopeName,
168
- }, (cppErr, resp) => {
169
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
209
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexGetDocumentsCount, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
210
+ obsReqHandler.setRequestHttpAttributes({
211
+ bucketName: this._bucketName,
212
+ scopeName: this._scopeName,
213
+ });
214
+ try {
215
+ const timeout = options.timeout || this._cluster.managementTimeout;
216
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
217
+ const [err, resp] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexGetDocumentsCount.bind(this._cluster.conn), {
218
+ index_name: indexName,
219
+ bucket_name: this._bucketName,
220
+ scope_name: this._scopeName,
221
+ timeout: timeout,
222
+ }, obsReqHandler);
170
223
  if (err) {
171
- return wrapCallback(err, null);
224
+ obsReqHandler.endWithError(err);
225
+ throw err;
172
226
  }
173
- wrapCallback(null, resp.count);
174
- });
175
- }, callback);
227
+ obsReqHandler.end();
228
+ return resp.count;
229
+ }, callback);
230
+ }
231
+ catch (err) {
232
+ obsReqHandler.endWithError(err);
233
+ throw err;
234
+ }
176
235
  }
177
236
  /**
178
237
  * Pauses the ingestion of documents into an index.
@@ -189,22 +248,32 @@ class ScopeSearchIndexManager {
189
248
  if (!options) {
190
249
  options = {};
191
250
  }
192
- const timeout = options.timeout || this._cluster.managementTimeout;
193
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
194
- this._cluster.conn.managementSearchIndexControlIngest({
195
- index_name: indexName,
196
- pause: true,
197
- timeout: timeout,
198
- bucket_name: this._bucketName,
199
- scope_name: this._scopeName,
200
- }, (cppErr) => {
201
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
251
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexPauseIngest, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
252
+ obsReqHandler.setRequestHttpAttributes({
253
+ bucketName: this._bucketName,
254
+ scopeName: this._scopeName,
255
+ });
256
+ try {
257
+ const timeout = options.timeout || this._cluster.managementTimeout;
258
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
259
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlIngest.bind(this._cluster.conn), {
260
+ index_name: indexName,
261
+ pause: true,
262
+ bucket_name: this._bucketName,
263
+ scope_name: this._scopeName,
264
+ timeout: timeout,
265
+ }, obsReqHandler);
202
266
  if (err) {
203
- return wrapCallback(err, null);
267
+ obsReqHandler.endWithError(err);
268
+ throw err;
204
269
  }
205
- wrapCallback(err);
206
- });
207
- }, callback);
270
+ obsReqHandler.end();
271
+ }, callback);
272
+ }
273
+ catch (err) {
274
+ obsReqHandler.endWithError(err);
275
+ throw err;
276
+ }
208
277
  }
209
278
  /**
210
279
  * Resumes the ingestion of documents into an index.
@@ -221,22 +290,32 @@ class ScopeSearchIndexManager {
221
290
  if (!options) {
222
291
  options = {};
223
292
  }
224
- const timeout = options.timeout || this._cluster.managementTimeout;
225
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
226
- this._cluster.conn.managementSearchIndexControlIngest({
227
- index_name: indexName,
228
- pause: false,
229
- timeout: timeout,
230
- bucket_name: this._bucketName,
231
- scope_name: this._scopeName,
232
- }, (cppErr) => {
233
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
293
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexResumeIngest, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
294
+ obsReqHandler.setRequestHttpAttributes({
295
+ bucketName: this._bucketName,
296
+ scopeName: this._scopeName,
297
+ });
298
+ try {
299
+ const timeout = options.timeout || this._cluster.managementTimeout;
300
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
301
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlIngest.bind(this._cluster.conn), {
302
+ index_name: indexName,
303
+ pause: false,
304
+ bucket_name: this._bucketName,
305
+ scope_name: this._scopeName,
306
+ timeout: timeout,
307
+ }, obsReqHandler);
234
308
  if (err) {
235
- return wrapCallback(err, null);
309
+ obsReqHandler.endWithError(err);
310
+ throw err;
236
311
  }
237
- wrapCallback(err);
238
- });
239
- }, callback);
312
+ obsReqHandler.end();
313
+ }, callback);
314
+ }
315
+ catch (err) {
316
+ obsReqHandler.endWithError(err);
317
+ throw err;
318
+ }
240
319
  }
241
320
  /**
242
321
  * Enables querying of an index.
@@ -253,22 +332,32 @@ class ScopeSearchIndexManager {
253
332
  if (!options) {
254
333
  options = {};
255
334
  }
256
- const timeout = options.timeout || this._cluster.managementTimeout;
257
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
258
- this._cluster.conn.managementSearchIndexControlQuery({
259
- index_name: indexName,
260
- allow: true,
261
- timeout: timeout,
262
- bucket_name: this._bucketName,
263
- scope_name: this._scopeName,
264
- }, (cppErr) => {
265
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
335
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexAllowQuerying, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
336
+ obsReqHandler.setRequestHttpAttributes({
337
+ bucketName: this._bucketName,
338
+ scopeName: this._scopeName,
339
+ });
340
+ try {
341
+ const timeout = options.timeout || this._cluster.managementTimeout;
342
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
343
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlQuery.bind(this._cluster.conn), {
344
+ index_name: indexName,
345
+ allow: true,
346
+ bucket_name: this._bucketName,
347
+ scope_name: this._scopeName,
348
+ timeout: timeout,
349
+ }, obsReqHandler);
266
350
  if (err) {
267
- return wrapCallback(err, null);
351
+ obsReqHandler.endWithError(err);
352
+ throw err;
268
353
  }
269
- wrapCallback(err);
270
- });
271
- }, callback);
354
+ obsReqHandler.end();
355
+ }, callback);
356
+ }
357
+ catch (err) {
358
+ obsReqHandler.endWithError(err);
359
+ throw err;
360
+ }
272
361
  }
273
362
  /**
274
363
  * Disables querying of an index.
@@ -285,22 +374,32 @@ class ScopeSearchIndexManager {
285
374
  if (!options) {
286
375
  options = {};
287
376
  }
288
- const timeout = options.timeout || this._cluster.managementTimeout;
289
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
290
- this._cluster.conn.managementSearchIndexControlQuery({
291
- index_name: indexName,
292
- allow: false,
293
- timeout: timeout,
294
- bucket_name: this._bucketName,
295
- scope_name: this._scopeName,
296
- }, (cppErr) => {
297
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
377
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexDisallowQuerying, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
378
+ obsReqHandler.setRequestHttpAttributes({
379
+ bucketName: this._bucketName,
380
+ scopeName: this._scopeName,
381
+ });
382
+ try {
383
+ const timeout = options.timeout || this._cluster.managementTimeout;
384
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
385
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlQuery.bind(this._cluster.conn), {
386
+ index_name: indexName,
387
+ allow: false,
388
+ bucket_name: this._bucketName,
389
+ scope_name: this._scopeName,
390
+ timeout: timeout,
391
+ }, obsReqHandler);
298
392
  if (err) {
299
- return wrapCallback(err, null);
393
+ obsReqHandler.endWithError(err);
394
+ throw err;
300
395
  }
301
- wrapCallback(err);
302
- });
303
- }, callback);
396
+ obsReqHandler.end();
397
+ }, callback);
398
+ }
399
+ catch (err) {
400
+ obsReqHandler.endWithError(err);
401
+ throw err;
402
+ }
304
403
  }
305
404
  /**
306
405
  * Freezes the indexing plan for execution of queries.
@@ -317,22 +416,32 @@ class ScopeSearchIndexManager {
317
416
  if (!options) {
318
417
  options = {};
319
418
  }
320
- const timeout = options.timeout || this._cluster.managementTimeout;
321
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
322
- this._cluster.conn.managementSearchIndexControlPlanFreeze({
323
- index_name: indexName,
324
- freeze: true,
325
- timeout: timeout,
326
- bucket_name: this._bucketName,
327
- scope_name: this._scopeName,
328
- }, (cppErr) => {
329
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
419
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexFreezePlan, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
420
+ obsReqHandler.setRequestHttpAttributes({
421
+ bucketName: this._bucketName,
422
+ scopeName: this._scopeName,
423
+ });
424
+ try {
425
+ const timeout = options.timeout || this._cluster.managementTimeout;
426
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
427
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlPlanFreeze.bind(this._cluster.conn), {
428
+ index_name: indexName,
429
+ freeze: true,
430
+ bucket_name: this._bucketName,
431
+ scope_name: this._scopeName,
432
+ timeout: timeout,
433
+ }, obsReqHandler);
330
434
  if (err) {
331
- return wrapCallback(err, null);
435
+ obsReqHandler.endWithError(err);
436
+ throw err;
332
437
  }
333
- wrapCallback(err);
334
- });
335
- }, callback);
438
+ obsReqHandler.end();
439
+ }, callback);
440
+ }
441
+ catch (err) {
442
+ obsReqHandler.endWithError(err);
443
+ throw err;
444
+ }
336
445
  }
337
446
  /**
338
447
  * Unfreezes the indexing plan for execution of queries.
@@ -349,22 +458,32 @@ class ScopeSearchIndexManager {
349
458
  if (!options) {
350
459
  options = {};
351
460
  }
352
- const timeout = options.timeout || this._cluster.managementTimeout;
353
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
354
- this._cluster.conn.managementSearchIndexControlPlanFreeze({
355
- index_name: indexName,
356
- freeze: false,
357
- timeout: timeout,
358
- bucket_name: this._bucketName,
359
- scope_name: this._scopeName,
360
- }, (cppErr) => {
361
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
461
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexUnfreezePlan, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
462
+ obsReqHandler.setRequestHttpAttributes({
463
+ bucketName: this._bucketName,
464
+ scopeName: this._scopeName,
465
+ });
466
+ try {
467
+ const timeout = options.timeout || this._cluster.managementTimeout;
468
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
469
+ const [err, _] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexControlPlanFreeze.bind(this._cluster.conn), {
470
+ index_name: indexName,
471
+ freeze: false,
472
+ bucket_name: this._bucketName,
473
+ scope_name: this._scopeName,
474
+ timeout: timeout,
475
+ }, obsReqHandler);
362
476
  if (err) {
363
- return wrapCallback(err, null);
477
+ obsReqHandler.endWithError(err);
478
+ throw err;
364
479
  }
365
- wrapCallback(err);
366
- });
367
- }, callback);
480
+ obsReqHandler.end();
481
+ }, callback);
482
+ }
483
+ catch (err) {
484
+ obsReqHandler.endWithError(err);
485
+ throw err;
486
+ }
368
487
  }
369
488
  /**
370
489
  * Performs analysis of a specific document by an index.
@@ -382,23 +501,33 @@ class ScopeSearchIndexManager {
382
501
  if (!options) {
383
502
  options = {};
384
503
  }
385
- const timeout = options.timeout || this._cluster.managementTimeout;
386
- return utilities_1.PromiseHelper.wrap((wrapCallback) => {
387
- this._cluster.conn.managementSearchIndexAnalyzeDocument({
388
- index_name: indexName,
389
- encoded_document: JSON.stringify(document),
390
- timeout: timeout,
391
- bucket_name: this._bucketName,
392
- scope_name: this._scopeName,
393
- }, (cppErr, resp) => {
394
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
504
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.SearchIndexMgmtOp.SearchIndexAnalyzeDocument, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
505
+ obsReqHandler.setRequestHttpAttributes({
506
+ bucketName: this._bucketName,
507
+ scopeName: this._scopeName,
508
+ });
509
+ try {
510
+ const timeout = options.timeout || this._cluster.managementTimeout;
511
+ return utilities_1.PromiseHelper.wrapAsync(async () => {
512
+ const [err, resp] = await (0, observability_1.wrapObservableBindingCall)(this._cluster.conn.managementSearchIndexAnalyzeDocument.bind(this._cluster.conn), {
513
+ index_name: indexName,
514
+ encoded_document: JSON.stringify(document),
515
+ bucket_name: this._bucketName,
516
+ scope_name: this._scopeName,
517
+ timeout: timeout,
518
+ }, obsReqHandler);
395
519
  if (err) {
396
- return wrapCallback(err, null);
520
+ obsReqHandler.endWithError(err);
521
+ throw err;
397
522
  }
398
- const result = JSON.parse(resp.analysis);
399
- wrapCallback(result, null);
400
- });
401
- }, callback);
523
+ obsReqHandler.end();
524
+ return JSON.parse(resp.analysis);
525
+ }, callback);
526
+ }
527
+ catch (err) {
528
+ obsReqHandler.endWithError(err);
529
+ throw err;
530
+ }
402
531
  }
403
532
  }
404
533
  exports.ScopeSearchIndexManager = ScopeSearchIndexManager;
package/dist/sdspecs.js CHANGED
@@ -281,7 +281,12 @@ class MutateInSpec {
281
281
  * attributes data for the document.
282
282
  */
283
283
  static replace(path, value, options) {
284
- return this._create(binding_1.default.protocol_subdoc_opcode.replace, path, value, options);
284
+ let opCode = binding_1.default.protocol_subdoc_opcode.replace;
285
+ // On an empty path we replace the whole document
286
+ if (path.length === 0) {
287
+ opCode = binding_1.default.protocol_subdoc_opcode.set_doc;
288
+ }
289
+ return this._create(opCode, path, value, options);
285
290
  }
286
291
  /**
287
292
  * Creates a MutateInSpec for remove a field from a document.
@@ -1,7 +1,10 @@
1
1
  import { Cluster } from './cluster';
2
+ import { ObservableRequestHandler } from './observabilityhandler';
3
+ import { ObservabilityInstruments } from './observabilitytypes';
2
4
  import { SearchQuery } from './searchquery';
3
5
  import { SearchMetaData, SearchQueryOptions, SearchRequest, SearchResult, SearchRow } from './searchtypes';
4
6
  import { StreamableRowPromise } from './streamablepromises';
7
+ import { CppSearchResponse } from './binding';
5
8
  /**
6
9
  * @internal
7
10
  */
@@ -13,6 +16,18 @@ export declare class SearchExecutor {
13
16
  * @internal
14
17
  */
15
18
  constructor(cluster: Cluster, bucketName?: string, scopeName?: string);
19
+ /**
20
+ * @internal
21
+ */
22
+ get observabilityInstruments(): ObservabilityInstruments;
23
+ /**
24
+ * @internal
25
+ */
26
+ static _processSearchResponse(emitter: StreamableRowPromise<SearchResult, SearchRow, SearchMetaData>, err: Error | null, resp: CppSearchResponse, obsReqHandler?: ObservableRequestHandler): void;
27
+ /**
28
+ * @internal
29
+ */
30
+ static executePromise(searchPromise: Promise<[Error | null, CppSearchResponse]>, obsReqHandler: ObservableRequestHandler): StreamableRowPromise<SearchResult, SearchRow, SearchMetaData>;
16
31
  /**
17
32
  * @internal
18
33
  */