couchbase 4.6.1 → 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 (312) hide show
  1. package/CMakeLists.txt +2 -1
  2. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +23 -5
  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 +2 -2
  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 +41 -0
  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 +3 -3
  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/bindingutilities.js +1 -1
  234. package/dist/bucket.d.ts +8 -0
  235. package/dist/bucket.js +8 -0
  236. package/dist/bucketmanager.d.ts +30 -0
  237. package/dist/bucketmanager.js +128 -69
  238. package/dist/cluster.d.ts +45 -0
  239. package/dist/cluster.js +133 -21
  240. package/dist/collection.d.ts +75 -2
  241. package/dist/collection.js +772 -551
  242. package/dist/collectionmanager.d.ts +34 -0
  243. package/dist/collectionmanager.js +172 -89
  244. package/dist/couchbase.d.ts +5 -0
  245. package/dist/couchbase.js +5 -0
  246. package/dist/datastructures.js +310 -97
  247. package/dist/errors.d.ts +8 -0
  248. package/dist/errors.js +12 -1
  249. package/dist/eventingfunctionmanager.d.ts +42 -0
  250. package/dist/eventingfunctionmanager.js +172 -100
  251. package/dist/logger.d.ts +192 -0
  252. package/dist/logger.js +213 -0
  253. package/dist/loggingmeter.d.ts +120 -0
  254. package/dist/loggingmeter.js +226 -0
  255. package/dist/metrics.d.ts +33 -0
  256. package/dist/metrics.js +5 -0
  257. package/dist/observability.d.ts +60 -0
  258. package/dist/observability.js +86 -0
  259. package/dist/observabilityhandler.d.ts +176 -0
  260. package/dist/observabilityhandler.js +733 -0
  261. package/dist/observabilitytypes.d.ts +320 -0
  262. package/dist/observabilitytypes.js +362 -0
  263. package/dist/observabilityutilities.d.ts +60 -0
  264. package/dist/observabilityutilities.js +175 -0
  265. package/dist/otelmeter.d.ts +51 -0
  266. package/dist/otelmeter.js +100 -0
  267. package/dist/oteltracer.d.ts +69 -0
  268. package/dist/oteltracer.js +141 -0
  269. package/dist/queryexecutor.d.ts +16 -0
  270. package/dist/queryexecutor.js +128 -86
  271. package/dist/queryindexmanager.d.ts +29 -0
  272. package/dist/queryindexmanager.js +277 -150
  273. package/dist/querytypes.d.ts +5 -0
  274. package/dist/scope.js +2 -2
  275. package/dist/scopeeventingfunctionmanager.d.ts +5 -0
  276. package/dist/scopeeventingfunctionmanager.js +217 -119
  277. package/dist/scopesearchindexmanager.d.ts +5 -0
  278. package/dist/scopesearchindexmanager.js +295 -166
  279. package/dist/sdspecs.js +6 -1
  280. package/dist/searchexecutor.d.ts +15 -0
  281. package/dist/searchexecutor.js +54 -26
  282. package/dist/searchindexmanager.d.ts +54 -0
  283. package/dist/searchindexmanager.js +235 -142
  284. package/dist/searchtypes.d.ts +5 -0
  285. package/dist/thresholdlogging.d.ts +301 -0
  286. package/dist/thresholdlogging.js +657 -0
  287. package/dist/tracing.d.ts +55 -0
  288. package/dist/tracing.js +2 -0
  289. package/dist/usermanager.d.ts +46 -0
  290. package/dist/usermanager.js +199 -118
  291. package/dist/utilities.d.ts +4 -0
  292. package/dist/utilities.js +11 -1
  293. package/dist/version.d.ts +2 -0
  294. package/dist/version.js +7 -0
  295. package/dist/viewexecutor.d.ts +15 -0
  296. package/dist/viewexecutor.js +54 -29
  297. package/dist/viewindexmanager.d.ts +30 -0
  298. package/dist/viewindexmanager.js +129 -100
  299. package/dist/viewtypes.d.ts +5 -0
  300. package/package.json +19 -9
  301. package/scripts/prebuilds.js +1 -1
  302. package/scripts/updateVersion.js +26 -0
  303. package/src/connection.cpp +79 -98
  304. package/src/connection.hpp +46 -38
  305. package/src/connection_autogen.cpp +1236 -292
  306. package/src/jstocbpp_autogen.hpp +1117 -313
  307. package/src/jstocbpp_basic.hpp +73 -0
  308. package/src/jstocbpp_defs.hpp +37 -9
  309. package/src/jstocbpp_errors.hpp +37 -11
  310. package/tools/gen-bindings-js.js +100 -22
  311. package/tools/gen-bindings-json.py +40 -6
  312. package/src/transcoder.hpp +0 -96
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Represents log levels in ascending order of severity.
3
+ *
4
+ * Log levels follow standard severity conventions.
5
+ *
6
+ * - TRACE: Finest-grained informational events for detailed debugging.
7
+ * - DEBUG: Detailed informational events useful for debugging.
8
+ * - INFO: Informational messages highlighting application progress.
9
+ * - WARN: Potentially harmful situations that warrant attention.
10
+ * - ERROR: Error events that might still allow the application to continue.
11
+ *
12
+ * @category Logging
13
+ */
14
+ export declare enum LogLevel {
15
+ /**
16
+ * Finest-grained informational events, typically used for detailed debugging.
17
+ */
18
+ TRACE = 0,
19
+ /**
20
+ * Detailed informational events useful for debugging an application.
21
+ */
22
+ DEBUG = 1,
23
+ /**
24
+ * Informational messages that highlight the progress of the application.
25
+ */
26
+ INFO = 2,
27
+ /**
28
+ * Potentially harmful situations that warrant attention.
29
+ */
30
+ WARN = 3,
31
+ /**
32
+ * Error events that might still allow the application to continue running.
33
+ */
34
+ ERROR = 4
35
+ }
36
+ /**
37
+ * Parses a log level from either a string or LogLevel enum value.
38
+ *
39
+ * When a string is provided, the parsing is case-insensitive.
40
+ *
41
+ * @param level - The log level as a string or LogLevel enum value.
42
+ * @returns {LogLevel | undefined} The corresponding LogLevel enum value, or undefined if invalid.
43
+ *
44
+ * @category Logging
45
+ */
46
+ export declare function parseLogLevel(level: LogLevel | string): LogLevel | undefined;
47
+ /**
48
+ * Interface for logging operations within the Couchbase SDK.
49
+ *
50
+ * All logging methods are optional, allowing implementers to choose which
51
+ * log levels to support.
52
+ *
53
+ * @category Logging
54
+ */
55
+ export interface Logger {
56
+ /**
57
+ * Logs a message at the TRACE level.
58
+ *
59
+ * @param message - The message to log.
60
+ * @param args - Optional additional arguments for formatting or context.
61
+ */
62
+ trace?(message: string, ...args: any[]): void;
63
+ /**
64
+ * Logs a message at the DEBUG level.
65
+ *
66
+ * @param message - The message to log.
67
+ * @param args - Optional additional arguments for formatting or context.
68
+ */
69
+ debug?(message: string, ...args: any[]): void;
70
+ /**
71
+ * Logs a message at the INFO level.
72
+ *
73
+ * @param message - The message to log.
74
+ * @param args - Optional additional arguments for formatting or context.
75
+ */
76
+ info?(message: string, ...args: any[]): void;
77
+ /**
78
+ * Logs a message at the WARN level.
79
+ *
80
+ * @param message - The message to log.
81
+ * @param args - Optional additional arguments for formatting or context.
82
+ */
83
+ warn?(message: string, ...args: any[]): void;
84
+ /**
85
+ * Logs a message at the ERROR level.
86
+ *
87
+ * @param message - The message to log.
88
+ * @param args - Optional additional arguments for formatting or context.
89
+ */
90
+ error?(message: string, ...args: any[]): void;
91
+ }
92
+ /**
93
+ * A no-operation logger implementation that discards all log messages.
94
+ *
95
+ * @category Logging
96
+ */
97
+ export declare class NoOpLogger implements Logger {
98
+ /**
99
+ * No-op implementation of trace logging.
100
+ */
101
+ trace(): void;
102
+ /**
103
+ * No-op implementation of debug logging.
104
+ */
105
+ debug(): void;
106
+ /**
107
+ * No-op implementation of info logging.
108
+ */
109
+ info(): void;
110
+ /**
111
+ * No-op implementation of warn logging.
112
+ */
113
+ warn(): void;
114
+ /**
115
+ * No-op implementation of error logging.
116
+ */
117
+ error(): void;
118
+ }
119
+ /**
120
+ * A safe wrapper around user-provided Logger implementations.
121
+ *
122
+ * This wrapper ensures that calling any logging method is always safe, even if the
123
+ * underlying logger is undefined or the underlying logger only implements a subset
124
+ * of methods.
125
+ *
126
+ * @category Logging
127
+ */
128
+ export declare class CouchbaseLogger implements Logger {
129
+ private readonly _logger?;
130
+ /**
131
+ * Creates a new CouchbaseLogger wrapper.
132
+ *
133
+ * @param logger - Optional user-provided logger implementation.
134
+ * Can be undefined or implement only a subset of methods.
135
+ */
136
+ constructor(logger?: Logger);
137
+ /**
138
+ * Logs a message at the TRACE level if the underlying logger implements it.
139
+ *
140
+ * If the logger is undefined or doesn't implement trace, this is a no-op.
141
+ *
142
+ * @param message - The message to log.
143
+ * @param args - Optional additional arguments for formatting or context.
144
+ */
145
+ trace(message: string, ...args: any[]): void;
146
+ /**
147
+ * Logs a message at the DEBUG level if the underlying logger implements it.
148
+ *
149
+ * If the logger is undefined or doesn't implement debug, this is a no-op.
150
+ *
151
+ * @param message - The message to log.
152
+ * @param args - Optional additional arguments for formatting or context.
153
+ */
154
+ debug(message: string, ...args: any[]): void;
155
+ /**
156
+ * Logs a message at the INFO level if the underlying logger implements it.
157
+ *
158
+ * If the logger is undefined or doesn't implement info, this is a no-op.
159
+ *
160
+ * @param message - The message to log.
161
+ * @param args - Optional additional arguments for formatting or context.
162
+ */
163
+ info(message: string, ...args: any[]): void;
164
+ /**
165
+ * Logs a message at the WARN level if the underlying logger implements it.
166
+ *
167
+ * If the logger is undefined or doesn't implement warn, this is a no-op.
168
+ *
169
+ * @param message - The message to log.
170
+ * @param args - Optional additional arguments for formatting or context.
171
+ */
172
+ warn(message: string, ...args: any[]): void;
173
+ /**
174
+ * Logs a message at the ERROR level if the underlying logger implements it.
175
+ *
176
+ * If the logger is undefined or doesn't implement error, this is a no-op.
177
+ *
178
+ * @param message - The message to log.
179
+ * @param args - Optional additional arguments for formatting or context.
180
+ */
181
+ error(message: string, ...args: any[]): void;
182
+ }
183
+ /**
184
+ * Creates a CouchbaseLogger that outputs to the console up to the specified log level.
185
+ *
186
+ * @param logLevel - The log level to output to the console.
187
+ * @param prefix - Optional prefix to prepend to all log messages.
188
+ * @returns {CouchbaseLogger} A CouchbaseLogger configured for console output.
189
+ *
190
+ * @category Logging
191
+ */
192
+ export declare function createConsoleLogger(logLevel: LogLevel, prefix?: string): CouchbaseLogger;
package/dist/logger.js ADDED
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConsoleLogger = exports.CouchbaseLogger = exports.NoOpLogger = exports.parseLogLevel = exports.LogLevel = void 0;
4
+ /**
5
+ * Represents log levels in ascending order of severity.
6
+ *
7
+ * Log levels follow standard severity conventions.
8
+ *
9
+ * - TRACE: Finest-grained informational events for detailed debugging.
10
+ * - DEBUG: Detailed informational events useful for debugging.
11
+ * - INFO: Informational messages highlighting application progress.
12
+ * - WARN: Potentially harmful situations that warrant attention.
13
+ * - ERROR: Error events that might still allow the application to continue.
14
+ *
15
+ * @category Logging
16
+ */
17
+ var LogLevel;
18
+ (function (LogLevel) {
19
+ /**
20
+ * Finest-grained informational events, typically used for detailed debugging.
21
+ */
22
+ LogLevel[LogLevel["TRACE"] = 0] = "TRACE";
23
+ /**
24
+ * Detailed informational events useful for debugging an application.
25
+ */
26
+ LogLevel[LogLevel["DEBUG"] = 1] = "DEBUG";
27
+ /**
28
+ * Informational messages that highlight the progress of the application.
29
+ */
30
+ LogLevel[LogLevel["INFO"] = 2] = "INFO";
31
+ /**
32
+ * Potentially harmful situations that warrant attention.
33
+ */
34
+ LogLevel[LogLevel["WARN"] = 3] = "WARN";
35
+ /**
36
+ * Error events that might still allow the application to continue running.
37
+ */
38
+ LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
39
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
40
+ /**
41
+ * @internal
42
+ */
43
+ const LOG_LEVEL_NAMES = ['trace', 'debug', 'info', 'warn', 'error'];
44
+ /**
45
+ * Parses a log level from either a string or LogLevel enum value.
46
+ *
47
+ * When a string is provided, the parsing is case-insensitive.
48
+ *
49
+ * @param level - The log level as a string or LogLevel enum value.
50
+ * @returns {LogLevel | undefined} The corresponding LogLevel enum value, or undefined if invalid.
51
+ *
52
+ * @category Logging
53
+ */
54
+ function parseLogLevel(level) {
55
+ if (typeof level === 'number') {
56
+ return level >= LogLevel.TRACE && level <= LogLevel.ERROR
57
+ ? level
58
+ : undefined;
59
+ }
60
+ const normalized = level.toLowerCase();
61
+ const index = LOG_LEVEL_NAMES.indexOf(normalized);
62
+ return index >= 0 ? index : undefined;
63
+ }
64
+ exports.parseLogLevel = parseLogLevel;
65
+ /**
66
+ * A no-operation logger implementation that discards all log messages.
67
+ *
68
+ * @category Logging
69
+ */
70
+ class NoOpLogger {
71
+ /**
72
+ * No-op implementation of trace logging.
73
+ */
74
+ trace() { }
75
+ /**
76
+ * No-op implementation of debug logging.
77
+ */
78
+ debug() { }
79
+ /**
80
+ * No-op implementation of info logging.
81
+ */
82
+ info() { }
83
+ /**
84
+ * No-op implementation of warn logging.
85
+ */
86
+ warn() { }
87
+ /**
88
+ * No-op implementation of error logging.
89
+ */
90
+ error() { }
91
+ }
92
+ exports.NoOpLogger = NoOpLogger;
93
+ /**
94
+ * A safe wrapper around user-provided Logger implementations.
95
+ *
96
+ * This wrapper ensures that calling any logging method is always safe, even if the
97
+ * underlying logger is undefined or the underlying logger only implements a subset
98
+ * of methods.
99
+ *
100
+ * @category Logging
101
+ */
102
+ class CouchbaseLogger {
103
+ /**
104
+ * Creates a new CouchbaseLogger wrapper.
105
+ *
106
+ * @param logger - Optional user-provided logger implementation.
107
+ * Can be undefined or implement only a subset of methods.
108
+ */
109
+ constructor(logger) {
110
+ this._logger = logger;
111
+ }
112
+ /**
113
+ * Logs a message at the TRACE level if the underlying logger implements it.
114
+ *
115
+ * If the logger is undefined or doesn't implement trace, this is a no-op.
116
+ *
117
+ * @param message - The message to log.
118
+ * @param args - Optional additional arguments for formatting or context.
119
+ */
120
+ trace(message, ...args) {
121
+ var _a, _b;
122
+ (_b = (_a = this._logger) === null || _a === void 0 ? void 0 : _a.trace) === null || _b === void 0 ? void 0 : _b.call(_a, message, ...args);
123
+ }
124
+ /**
125
+ * Logs a message at the DEBUG level if the underlying logger implements it.
126
+ *
127
+ * If the logger is undefined or doesn't implement debug, this is a no-op.
128
+ *
129
+ * @param message - The message to log.
130
+ * @param args - Optional additional arguments for formatting or context.
131
+ */
132
+ debug(message, ...args) {
133
+ var _a, _b;
134
+ (_b = (_a = this._logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, message, ...args);
135
+ }
136
+ /**
137
+ * Logs a message at the INFO level if the underlying logger implements it.
138
+ *
139
+ * If the logger is undefined or doesn't implement info, this is a no-op.
140
+ *
141
+ * @param message - The message to log.
142
+ * @param args - Optional additional arguments for formatting or context.
143
+ */
144
+ info(message, ...args) {
145
+ var _a, _b;
146
+ (_b = (_a = this._logger) === null || _a === void 0 ? void 0 : _a.info) === null || _b === void 0 ? void 0 : _b.call(_a, message, ...args);
147
+ }
148
+ /**
149
+ * Logs a message at the WARN level if the underlying logger implements it.
150
+ *
151
+ * If the logger is undefined or doesn't implement warn, this is a no-op.
152
+ *
153
+ * @param message - The message to log.
154
+ * @param args - Optional additional arguments for formatting or context.
155
+ */
156
+ warn(message, ...args) {
157
+ var _a, _b;
158
+ (_b = (_a = this._logger) === null || _a === void 0 ? void 0 : _a.warn) === null || _b === void 0 ? void 0 : _b.call(_a, message, ...args);
159
+ }
160
+ /**
161
+ * Logs a message at the ERROR level if the underlying logger implements it.
162
+ *
163
+ * If the logger is undefined or doesn't implement error, this is a no-op.
164
+ *
165
+ * @param message - The message to log.
166
+ * @param args - Optional additional arguments for formatting or context.
167
+ */
168
+ error(message, ...args) {
169
+ var _a, _b;
170
+ (_b = (_a = this._logger) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, message, ...args);
171
+ }
172
+ }
173
+ exports.CouchbaseLogger = CouchbaseLogger;
174
+ /**
175
+ * Creates a CouchbaseLogger that outputs to the console up to the specified log level.
176
+ *
177
+ * @param logLevel - The log level to output to the console.
178
+ * @param prefix - Optional prefix to prepend to all log messages.
179
+ * @returns {CouchbaseLogger} A CouchbaseLogger configured for console output.
180
+ *
181
+ * @category Logging
182
+ */
183
+ function createConsoleLogger(logLevel, prefix) {
184
+ const consoleImpl = {};
185
+ const formatMessage = (msg) => (prefix ? `${prefix} ${msg}` : msg);
186
+ if (logLevel <= LogLevel.TRACE) {
187
+ consoleImpl.trace = (message, ...args) => {
188
+ console.trace(formatMessage(message), ...args);
189
+ };
190
+ }
191
+ if (logLevel <= LogLevel.DEBUG) {
192
+ consoleImpl.debug = (message, ...args) => {
193
+ console.debug(formatMessage(message), ...args);
194
+ };
195
+ }
196
+ if (logLevel <= LogLevel.INFO) {
197
+ consoleImpl.info = (message, ...args) => {
198
+ console.info(formatMessage(message), ...args);
199
+ };
200
+ }
201
+ if (logLevel <= LogLevel.WARN) {
202
+ consoleImpl.warn = (message, ...args) => {
203
+ console.warn(formatMessage(message), ...args);
204
+ };
205
+ }
206
+ if (logLevel <= LogLevel.ERROR) {
207
+ consoleImpl.error = (message, ...args) => {
208
+ console.error(formatMessage(message), ...args);
209
+ };
210
+ }
211
+ return new CouchbaseLogger(consoleImpl);
212
+ }
213
+ exports.createConsoleLogger = createConsoleLogger;
@@ -0,0 +1,120 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ import { CouchbaseLogger } from './logger';
5
+ import { Meter, ValueRecorder } from './metrics';
6
+ /**
7
+ * Represents the percentile values for a set of recorded metrics.
8
+ *
9
+ * @internal
10
+ */
11
+ interface PercentileReport {
12
+ /**
13
+ * Total count of all recorded values.
14
+ */
15
+ total_count: number;
16
+ /**
17
+ * Mapping of percentile value (e.g., "50", "90") to recorded value.
18
+ */
19
+ percentiles_us: Record<string, number>;
20
+ }
21
+ /**
22
+ * Represents a complete logging meter report with metadata.
23
+ *
24
+ * @internal
25
+ */
26
+ interface LoggingMeterReport {
27
+ /**
28
+ * Metadata about the report.
29
+ */
30
+ meta: {
31
+ /**
32
+ * The interval (in seconds) at which reports are emitted.
33
+ */
34
+ emit_interval_s: number;
35
+ };
36
+ /**
37
+ * Operations organized by service type.
38
+ */
39
+ operations: Record<string, Record<string, PercentileReport>>;
40
+ }
41
+ /**
42
+ * Internal class for periodically emitting meter reports.
43
+ *
44
+ * @internal
45
+ */
46
+ declare class LoggingMeterReporter {
47
+ private readonly _loggingMeter;
48
+ private readonly _emitInterval;
49
+ private readonly _logger;
50
+ private _timerId;
51
+ private _stopped;
52
+ constructor(loggingMeter: LoggingMeter, emitInterval: number, logger: CouchbaseLogger);
53
+ /**
54
+ * @internal
55
+ */
56
+ start(): void;
57
+ /**
58
+ * @internal
59
+ */
60
+ stop(): void;
61
+ /**
62
+ * @internal
63
+ */
64
+ report(): void;
65
+ /**
66
+ * @internal
67
+ */
68
+ toJSON(): Record<string, any>;
69
+ }
70
+ /**
71
+ * A logging-based meter implementation that records metrics using HDR histograms
72
+ * and periodically reports percentile statistics.
73
+ *
74
+ * @internal
75
+ */
76
+ export declare class LoggingMeter implements Meter {
77
+ private readonly _recorders;
78
+ private readonly _reporter;
79
+ private readonly _emitInterval;
80
+ /**
81
+ * Creates a new LoggingMeter with the specified flush interval.
82
+ *
83
+ * @param logger - The logger to be used by the LoggingMeter.
84
+ * @param emitInterval - The interval in milliseconds between reports (default: 600000ms = 10 minutes).
85
+ */
86
+ constructor(logger: CouchbaseLogger, emitInterval?: number);
87
+ /**
88
+ * Gets the meter's LoggingMeterReporter.
89
+ *
90
+ * @internal
91
+ */
92
+ get reporter(): LoggingMeterReporter;
93
+ /**
94
+ * Gets or creates a value recorder for the specified metric name and tags.
95
+ *
96
+ * @param _name - Unused.
97
+ * @param tags - Key-value pairs that categorize the metric.
98
+ * @returns A value recorder for recording values.
99
+ */
100
+ valueRecorder(_name: string, tags: Record<string, string>): ValueRecorder;
101
+ /**
102
+ * Creates a report of all recorded metrics and resets the histograms.
103
+ *
104
+ * @returns The logging meter report with percentile statistics.
105
+ */
106
+ createReport(): LoggingMeterReport | null;
107
+ /**
108
+ * Stops the threshold logging reporter and cleans up resources.
109
+ *
110
+ * This method should be called when shutting down the application or when
111
+ * the tracer is no longer needed to ensure the periodic reporting timer
112
+ * is properly cleared.
113
+ */
114
+ cleanup(): void;
115
+ /**
116
+ * @internal
117
+ */
118
+ toJSON(): Record<string, any>;
119
+ }
120
+ export {};