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,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryExecutor = void 0;
4
4
  const bindingutilities_1 = require("./bindingutilities");
5
+ const observability_1 = require("./observability");
6
+ const observabilityhandler_1 = require("./observabilityhandler");
7
+ const observabilitytypes_1 = require("./observabilitytypes");
5
8
  const querytypes_1 = require("./querytypes");
6
9
  const streamablepromises_1 = require("./streamablepromises");
10
+ const utilities_1 = require("./utilities");
7
11
  /**
8
12
  * @internal
9
13
  */
@@ -17,6 +21,72 @@ class QueryExecutor {
17
21
  /**
18
22
  * @internal
19
23
  */
24
+ get observabilityInstruments() {
25
+ return this._cluster.observabilityInstruments;
26
+ }
27
+ /**
28
+ * @internal
29
+ */
30
+ static _processQueryResponse(emitter, err, resp, obsReqHandler) {
31
+ if (err) {
32
+ obsReqHandler === null || obsReqHandler === void 0 ? void 0 : obsReqHandler.endWithError(err);
33
+ emitter.emit('error', err);
34
+ emitter.emit('end');
35
+ return;
36
+ }
37
+ resp.rows.forEach((row) => {
38
+ emitter.emit('row', JSON.parse(row));
39
+ });
40
+ {
41
+ const metaData = resp.meta;
42
+ let warnings;
43
+ if (metaData.warnings) {
44
+ warnings = metaData.warnings.map((warningData) => new querytypes_1.QueryWarning({
45
+ code: warningData.code,
46
+ message: warningData.message,
47
+ }));
48
+ }
49
+ else {
50
+ warnings = [];
51
+ }
52
+ let metrics;
53
+ if (metaData.metrics) {
54
+ const metricsData = metaData.metrics;
55
+ metrics = new querytypes_1.QueryMetrics({
56
+ elapsedTime: metricsData.elapsed_time,
57
+ executionTime: metricsData.execution_time,
58
+ sortCount: metricsData.sort_count || 0,
59
+ resultCount: metricsData.result_count || 0,
60
+ resultSize: metricsData.result_size || 0,
61
+ mutationCount: metricsData.mutation_count || 0,
62
+ errorCount: metricsData.error_count || 0,
63
+ warningCount: metricsData.warning_count || 0,
64
+ });
65
+ }
66
+ else {
67
+ metrics = undefined;
68
+ }
69
+ const meta = new querytypes_1.QueryMetaData({
70
+ requestId: metaData.request_id,
71
+ clientContextId: metaData.client_context_id,
72
+ status: metaData.status,
73
+ signature: metaData.signature
74
+ ? JSON.parse(metaData.signature)
75
+ : undefined,
76
+ warnings: warnings,
77
+ metrics: metrics,
78
+ profile: metaData.profile ? JSON.parse(metaData.profile) : undefined,
79
+ });
80
+ emitter.emit('meta', meta);
81
+ }
82
+ obsReqHandler === null || obsReqHandler === void 0 ? void 0 : obsReqHandler.end();
83
+ emitter.emit('end');
84
+ }
85
+ /**
86
+ * @internal
87
+ *
88
+ * Used by transactions (observability currently not available for transactions)
89
+ */
20
90
  static execute(exec) {
21
91
  const emitter = new streamablepromises_1.StreamableRowPromise((rows, meta) => {
22
92
  return new querytypes_1.QueryResult({
@@ -25,59 +95,27 @@ class QueryExecutor {
25
95
  });
26
96
  });
27
97
  exec((cppErr, resp) => {
28
- const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
29
- if (err) {
30
- emitter.emit('error', err);
31
- emitter.emit('end');
32
- return;
98
+ let err = null;
99
+ if (cppErr) {
100
+ err = (0, bindingutilities_1.errorFromCpp)(cppErr);
33
101
  }
34
- resp.rows.forEach((row) => {
35
- emitter.emit('row', JSON.parse(row));
102
+ QueryExecutor._processQueryResponse(emitter, err, resp);
103
+ });
104
+ return emitter;
105
+ }
106
+ /**
107
+ * @internal
108
+ */
109
+ static executePromise(queryPromise, obsReqHandler) {
110
+ const emitter = new streamablepromises_1.StreamableRowPromise((rows, meta) => {
111
+ return new querytypes_1.QueryResult({
112
+ rows: rows,
113
+ meta: meta,
36
114
  });
37
- {
38
- const metaData = resp.meta;
39
- let warnings;
40
- if (metaData.warnings) {
41
- warnings = metaData.warnings.map((warningData) => new querytypes_1.QueryWarning({
42
- code: warningData.code,
43
- message: warningData.message,
44
- }));
45
- }
46
- else {
47
- warnings = [];
48
- }
49
- let metrics;
50
- if (metaData.metrics) {
51
- const metricsData = metaData.metrics;
52
- metrics = new querytypes_1.QueryMetrics({
53
- elapsedTime: metricsData.elapsed_time,
54
- executionTime: metricsData.execution_time,
55
- sortCount: metricsData.sort_count || 0,
56
- resultCount: metricsData.result_count || 0,
57
- resultSize: metricsData.result_size || 0,
58
- mutationCount: metricsData.mutation_count || 0,
59
- errorCount: metricsData.error_count || 0,
60
- warningCount: metricsData.warning_count || 0,
61
- });
62
- }
63
- else {
64
- metrics = undefined;
65
- }
66
- const meta = new querytypes_1.QueryMetaData({
67
- requestId: metaData.request_id,
68
- clientContextId: metaData.client_context_id,
69
- status: metaData.status,
70
- signature: metaData.signature
71
- ? JSON.parse(metaData.signature)
72
- : undefined,
73
- warnings: warnings,
74
- metrics: metrics,
75
- profile: metaData.profile ? JSON.parse(metaData.profile) : undefined,
76
- });
77
- emitter.emit('meta', meta);
78
- }
79
- emitter.emit('end');
80
- return;
115
+ });
116
+ utilities_1.PromiseHelper.wrapAsync(async () => {
117
+ const [err, resp] = await queryPromise;
118
+ QueryExecutor._processQueryResponse(emitter, err, resp, obsReqHandler);
81
119
  });
82
120
  return emitter;
83
121
  }
@@ -86,42 +124,46 @@ class QueryExecutor {
86
124
  */
87
125
  query(query, options) {
88
126
  const timeout = options.timeout || this._cluster.queryTimeout;
89
- return QueryExecutor.execute((callback) => {
90
- this._cluster.conn.query({
91
- statement: query,
92
- client_context_id: options.clientContextId,
93
- adhoc: options.adhoc === false ? false : true,
94
- metrics: options.metrics || false,
95
- readonly: options.readOnly || false,
96
- flex_index: options.flexIndex || false,
97
- preserve_expiry: options.preserveExpiry || false,
98
- use_replica: options.useReplica,
99
- max_parallelism: options.maxParallelism,
100
- scan_cap: options.scanCap,
101
- scan_wait: options.scanWait,
102
- pipeline_batch: options.pipelineBatch,
103
- pipeline_cap: options.pipelineCap,
104
- scan_consistency: (0, bindingutilities_1.queryScanConsistencyToCpp)(options.scanConsistency),
105
- mutation_state: (0, bindingutilities_1.mutationStateToCpp)(options.consistentWith).tokens,
106
- timeout: timeout,
107
- query_context: options.queryContext,
108
- profile: (0, bindingutilities_1.queryProfileToCpp)(options.profile),
109
- raw: options.raw
110
- ? Object.fromEntries(Object.entries(options.raw)
111
- .filter(([, v]) => v !== undefined)
112
- .map(([k, v]) => [k, JSON.stringify(v)]))
113
- : {},
114
- positional_parameters: options.parameters && Array.isArray(options.parameters)
115
- ? options.parameters.map((v) => JSON.stringify(v !== null && v !== void 0 ? v : null))
116
- : [],
117
- named_parameters: options.parameters && !Array.isArray(options.parameters)
118
- ? Object.fromEntries(Object.entries(options.parameters)
119
- .filter(([, v]) => v !== undefined)
120
- .map(([k, v]) => [k, JSON.stringify(v)]))
121
- : {},
122
- body_str: '',
123
- }, callback);
127
+ const obsReqHandler = new observabilityhandler_1.ObservableRequestHandler(observabilitytypes_1.StreamingOp.Query, this.observabilityInstruments, options === null || options === void 0 ? void 0 : options.parentSpan);
128
+ obsReqHandler.setRequestHttpAttributes({
129
+ statement: query,
130
+ queryContext: options.queryContext,
131
+ queryOptions: options,
124
132
  });
133
+ return QueryExecutor.executePromise((0, observability_1.wrapObservableBindingCall)(this._cluster.conn.query.bind(this._cluster.conn), {
134
+ statement: query,
135
+ client_context_id: options.clientContextId,
136
+ adhoc: options.adhoc === false ? false : true,
137
+ metrics: options.metrics || false,
138
+ readonly: options.readOnly || false,
139
+ flex_index: options.flexIndex || false,
140
+ preserve_expiry: options.preserveExpiry || false,
141
+ use_replica: options.useReplica,
142
+ max_parallelism: options.maxParallelism,
143
+ scan_cap: options.scanCap,
144
+ scan_wait: options.scanWait,
145
+ pipeline_batch: options.pipelineBatch,
146
+ pipeline_cap: options.pipelineCap,
147
+ scan_consistency: (0, bindingutilities_1.queryScanConsistencyToCpp)(options.scanConsistency),
148
+ mutation_state: (0, bindingutilities_1.mutationStateToCpp)(options.consistentWith).tokens,
149
+ timeout: timeout,
150
+ query_context: options.queryContext,
151
+ profile: (0, bindingutilities_1.queryProfileToCpp)(options.profile),
152
+ raw: options.raw
153
+ ? Object.fromEntries(Object.entries(options.raw)
154
+ .filter(([, v]) => v !== undefined)
155
+ .map(([k, v]) => [k, JSON.stringify(v)]))
156
+ : {},
157
+ positional_parameters: options.parameters && Array.isArray(options.parameters)
158
+ ? options.parameters.map((v) => JSON.stringify(v !== null && v !== void 0 ? v : null))
159
+ : [],
160
+ named_parameters: options.parameters && !Array.isArray(options.parameters)
161
+ ? Object.fromEntries(Object.entries(options.parameters)
162
+ .filter(([, v]) => v !== undefined)
163
+ .map(([k, v]) => [k, JSON.stringify(v)]))
164
+ : {},
165
+ body_str: '',
166
+ }, obsReqHandler), obsReqHandler);
125
167
  }
126
168
  }
127
169
  exports.QueryExecutor = QueryExecutor;
@@ -1,5 +1,6 @@
1
1
  import { Cluster } from './cluster';
2
2
  import { Collection } from './collection';
3
+ import { RequestSpan } from './tracing';
3
4
  import { NodeCallback } from './utilities';
4
5
  /**
5
6
  * Contains a specific index configuration for the query service.
@@ -86,6 +87,10 @@ export interface CreateQueryIndexOptions {
86
87
  * The timeout for this operation, represented in milliseconds.
87
88
  */
88
89
  timeout?: number;
90
+ /**
91
+ * Specifies the parent span for this specific operation.
92
+ */
93
+ parentSpan?: RequestSpan;
89
94
  }
90
95
  /**
91
96
  * @category Management
@@ -125,6 +130,10 @@ export interface CreatePrimaryQueryIndexOptions {
125
130
  * The timeout for this operation, represented in milliseconds.
126
131
  */
127
132
  timeout?: number;
133
+ /**
134
+ * Specifies the parent span for this specific operation.
135
+ */
136
+ parentSpan?: RequestSpan;
128
137
  }
129
138
  /**
130
139
  * @category Management
@@ -151,6 +160,10 @@ export interface DropQueryIndexOptions {
151
160
  * The timeout for this operation, represented in milliseconds.
152
161
  */
153
162
  timeout?: number;
163
+ /**
164
+ * Specifies the parent span for this specific operation.
165
+ */
166
+ parentSpan?: RequestSpan;
154
167
  }
155
168
  /**
156
169
  * @category Management
@@ -181,6 +194,10 @@ export interface DropPrimaryQueryIndexOptions {
181
194
  * The timeout for this operation, represented in milliseconds.
182
195
  */
183
196
  timeout?: number;
197
+ /**
198
+ * Specifies the parent span for this specific operation.
199
+ */
200
+ parentSpan?: RequestSpan;
184
201
  }
185
202
  /**
186
203
  * @category Management
@@ -202,6 +219,10 @@ export interface GetAllQueryIndexesOptions {
202
219
  * The timeout for this operation, represented in milliseconds.
203
220
  */
204
221
  timeout?: number;
222
+ /**
223
+ * Specifies the parent span for this specific operation.
224
+ */
225
+ parentSpan?: RequestSpan;
205
226
  }
206
227
  /**
207
228
  * @category Management
@@ -223,6 +244,10 @@ export interface BuildQueryIndexOptions {
223
244
  * The timeout for this operation, represented in milliseconds.
224
245
  */
225
246
  timeout?: number;
247
+ /**
248
+ * Specifies the parent span for this specific operation.
249
+ */
250
+ parentSpan?: RequestSpan;
226
251
  }
227
252
  /**
228
253
  * @category Management
@@ -244,6 +269,10 @@ export interface WatchQueryIndexOptions {
244
269
  * Specifies whether the primary indexes should be watched as well.
245
270
  */
246
271
  watchPrimary?: boolean;
272
+ /**
273
+ * Specifies the parent span for this specific operation.
274
+ */
275
+ parentSpan?: RequestSpan;
247
276
  }
248
277
  /**
249
278
  * CollectionQueryIndexManager provides an interface for managing the