@azure/cosmos 4.9.1 → 4.9.3

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 (1296) hide show
  1. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  2. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  3. package/dist/browser/PartitionKeyRangeFailoverInfo.js +0 -2
  4. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -1
  5. package/dist/browser/bulk/index.d.ts +1 -1
  6. package/dist/browser/bulk/index.d.ts.map +1 -1
  7. package/dist/browser/bulk/index.js.map +1 -1
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  9. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  10. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  11. package/dist/browser/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  13. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/index.d.ts +2 -2
  16. package/dist/browser/client/ChangeFeed/index.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/index.js.map +1 -1
  18. package/dist/browser/client/ClientUtils.d.ts +1 -1
  19. package/dist/browser/client/ClientUtils.d.ts.map +1 -1
  20. package/dist/browser/client/ClientUtils.js.map +1 -1
  21. package/dist/browser/client/Conflict/index.d.ts +2 -2
  22. package/dist/browser/client/Conflict/index.d.ts.map +1 -1
  23. package/dist/browser/client/Conflict/index.js.map +1 -1
  24. package/dist/browser/client/Container/ContainerDefinition.d.ts +1 -1
  25. package/dist/browser/client/Container/ContainerDefinition.d.ts.map +1 -1
  26. package/dist/browser/client/Container/ContainerDefinition.js.map +1 -1
  27. package/dist/browser/client/Container/index.d.ts +4 -4
  28. package/dist/browser/client/Container/index.d.ts.map +1 -1
  29. package/dist/browser/client/Container/index.js.map +1 -1
  30. package/dist/browser/client/Database/index.d.ts +2 -2
  31. package/dist/browser/client/Database/index.d.ts.map +1 -1
  32. package/dist/browser/client/Database/index.js.map +1 -1
  33. package/dist/browser/client/Item/Items.d.ts.map +1 -1
  34. package/dist/browser/client/Item/Items.js.map +1 -1
  35. package/dist/browser/client/Item/index.d.ts +1 -1
  36. package/dist/browser/client/Item/index.d.ts.map +1 -1
  37. package/dist/browser/client/Item/index.js.map +1 -1
  38. package/dist/browser/client/Offer/index.d.ts +1 -1
  39. package/dist/browser/client/Offer/index.d.ts.map +1 -1
  40. package/dist/browser/client/Offer/index.js.map +1 -1
  41. package/dist/browser/client/Permission/index.d.ts +2 -2
  42. package/dist/browser/client/Permission/index.d.ts.map +1 -1
  43. package/dist/browser/client/Permission/index.js.map +1 -1
  44. package/dist/browser/client/StoredProcedure/index.d.ts +1 -1
  45. package/dist/browser/client/StoredProcedure/index.d.ts.map +1 -1
  46. package/dist/browser/client/StoredProcedure/index.js.map +1 -1
  47. package/dist/browser/client/Trigger/index.d.ts +1 -1
  48. package/dist/browser/client/Trigger/index.d.ts.map +1 -1
  49. package/dist/browser/client/Trigger/index.js.map +1 -1
  50. package/dist/browser/client/User/index.d.ts +1 -1
  51. package/dist/browser/client/User/index.d.ts.map +1 -1
  52. package/dist/browser/client/User/index.js.map +1 -1
  53. package/dist/browser/client/UserDefinedFunction/index.d.ts +1 -1
  54. package/dist/browser/client/UserDefinedFunction/index.d.ts.map +1 -1
  55. package/dist/browser/client/UserDefinedFunction/index.js.map +1 -1
  56. package/dist/browser/client/index.d.ts +1 -1
  57. package/dist/browser/client/index.d.ts.map +1 -1
  58. package/dist/browser/client/index.js +0 -1
  59. package/dist/browser/client/index.js.map +1 -1
  60. package/dist/browser/common/constants.js +1 -1
  61. package/dist/browser/common/constants.js.map +1 -1
  62. package/dist/browser/common/helper.d.ts +4 -4
  63. package/dist/browser/common/helper.d.ts.map +1 -1
  64. package/dist/browser/common/helper.js.map +1 -1
  65. package/dist/browser/common/platform.d.ts +1 -1
  66. package/dist/browser/common/platform.d.ts.map +1 -1
  67. package/dist/browser/common/platform.js.map +1 -1
  68. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  69. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  70. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  71. package/dist/browser/documents/index.d.ts +4 -4
  72. package/dist/browser/documents/index.d.ts.map +1 -1
  73. package/dist/browser/documents/index.js +0 -4
  74. package/dist/browser/documents/index.js.map +1 -1
  75. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +6 -2
  76. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -0
  77. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -3
  78. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -0
  79. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts +5 -1
  80. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts.map +1 -0
  81. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -2
  82. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -0
  83. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  84. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  85. package/dist/browser/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  86. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  87. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  88. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  89. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts +2 -2
  90. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  91. package/dist/browser/encryption/ClientEncryptionKey/index.js.map +1 -1
  92. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts +6 -1
  93. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts.map +1 -0
  94. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js +8 -2
  95. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -0
  96. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  97. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  98. package/dist/browser/encryption/EncryptionKeyResolver/index.js.map +1 -1
  99. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts +2 -2
  100. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  101. package/dist/browser/encryption/EncryptionQueryBuilder.js.map +1 -1
  102. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  103. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  104. package/dist/browser/encryption/Serializers/BooleanSerializer.js.map +1 -1
  105. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts +1 -1
  106. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  107. package/dist/browser/encryption/Serializers/FloatSerializer.js.map +1 -1
  108. package/dist/browser/encryption/Serializers/StringSerializer.d.ts +1 -1
  109. package/dist/browser/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  110. package/dist/browser/encryption/Serializers/StringSerializer.js.map +1 -1
  111. package/dist/browser/encryption/Serializers/index.d.ts +1 -1
  112. package/dist/browser/encryption/Serializers/index.d.ts.map +1 -1
  113. package/dist/browser/encryption/Serializers/index.js.map +1 -1
  114. package/dist/browser/encryption/index.d.ts +5 -5
  115. package/dist/browser/encryption/index.d.ts.map +1 -1
  116. package/dist/browser/encryption/index.js.map +1 -1
  117. package/dist/browser/globalPartitionEndpointManager.d.ts +2 -1
  118. package/dist/browser/globalPartitionEndpointManager.d.ts.map +1 -1
  119. package/dist/browser/globalPartitionEndpointManager.js.map +1 -1
  120. package/dist/browser/index.d.ts +16 -16
  121. package/dist/browser/index.d.ts.map +1 -1
  122. package/dist/browser/index.js +1 -1
  123. package/dist/browser/index.js.map +1 -1
  124. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts +1 -1
  125. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  126. package/dist/browser/queryExecutionContext/Aggregators/index.js.map +1 -1
  127. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  128. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  130. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  131. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  132. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  134. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +13 -12
  136. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/index.d.ts +2 -2
  138. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/index.js +0 -2
  140. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  152. package/dist/browser/request/defaultAgent.d.ts +1 -1
  153. package/dist/browser/request/defaultAgent.d.ts.map +1 -0
  154. package/dist/browser/request/defaultAgent.js +1 -1
  155. package/dist/browser/request/defaultAgent.js.map +1 -0
  156. package/dist/browser/request/hybridSearchQueryResult.d.ts +1 -1
  157. package/dist/browser/request/hybridSearchQueryResult.d.ts.map +1 -1
  158. package/dist/browser/request/hybridSearchQueryResult.js.map +1 -1
  159. package/dist/browser/request/index.d.ts +8 -8
  160. package/dist/browser/request/index.d.ts.map +1 -1
  161. package/dist/browser/request/index.js +0 -1
  162. package/dist/browser/request/index.js.map +1 -1
  163. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  164. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  165. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  166. package/dist/browser/retry/index.d.ts +1 -1
  167. package/dist/browser/retry/index.d.ts.map +1 -1
  168. package/dist/browser/retry/index.js +0 -3
  169. package/dist/browser/retry/index.js.map +1 -1
  170. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  171. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  172. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  173. package/dist/browser/utils/atob.d.ts +1 -1
  174. package/dist/browser/utils/atob.d.ts.map +1 -0
  175. package/dist/browser/utils/atob.js +1 -1
  176. package/dist/browser/utils/atob.js.map +1 -0
  177. package/dist/browser/utils/digest.d.ts +1 -1
  178. package/dist/browser/utils/digest.d.ts.map +1 -0
  179. package/dist/browser/utils/digest.js +1 -1
  180. package/dist/browser/utils/digest.js.map +1 -0
  181. package/dist/browser/utils/envUtils.d.ts +1 -1
  182. package/dist/browser/utils/envUtils.d.ts.map +1 -0
  183. package/dist/browser/utils/envUtils.js +1 -1
  184. package/dist/browser/utils/envUtils.js.map +1 -0
  185. package/dist/browser/utils/hashing/hash.d.ts +1 -1
  186. package/dist/browser/utils/hashing/hash.d.ts.map +1 -1
  187. package/dist/browser/utils/hashing/hash.js.map +1 -1
  188. package/dist/browser/utils/hmac.d.ts +1 -1
  189. package/dist/browser/utils/hmac.d.ts.map +1 -0
  190. package/dist/browser/utils/hmac.js +1 -1
  191. package/dist/browser/utils/hmac.js.map +1 -0
  192. package/dist/commonjs/ChangeFeedIterator.js +131 -110
  193. package/dist/commonjs/ChangeFeedIterator.js.map +7 -1
  194. package/dist/commonjs/ChangeFeedOptions.js +16 -3
  195. package/dist/commonjs/ChangeFeedOptions.js.map +7 -1
  196. package/dist/commonjs/ChangeFeedResponse.js +85 -78
  197. package/dist/commonjs/ChangeFeedResponse.js.map +7 -1
  198. package/dist/commonjs/ClientContext.js +873 -761
  199. package/dist/commonjs/ClientContext.js.map +7 -1
  200. package/dist/commonjs/CosmosClient.js +294 -286
  201. package/dist/commonjs/CosmosClient.js.map +7 -1
  202. package/dist/commonjs/CosmosClientOptions.js +16 -3
  203. package/dist/commonjs/CosmosClientOptions.js.map +7 -1
  204. package/dist/commonjs/CosmosDiagnostics.js +52 -55
  205. package/dist/commonjs/CosmosDiagnostics.js.map +7 -1
  206. package/dist/commonjs/GlobalEndpointManagerOptions.js +16 -3
  207. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +7 -1
  208. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  209. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  210. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +149 -134
  211. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +7 -1
  212. package/dist/commonjs/auth.js +92 -84
  213. package/dist/commonjs/auth.js.map +7 -1
  214. package/dist/commonjs/bulk/Batcher.js +178 -149
  215. package/dist/commonjs/bulk/Batcher.js.map +7 -1
  216. package/dist/commonjs/bulk/BulkHelper.js +321 -289
  217. package/dist/commonjs/bulk/BulkHelper.js.map +7 -1
  218. package/dist/commonjs/bulk/BulkResponse.js +141 -118
  219. package/dist/commonjs/bulk/BulkResponse.js.map +7 -1
  220. package/dist/commonjs/bulk/CongestionAlgorithm.js +72 -66
  221. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +7 -1
  222. package/dist/commonjs/bulk/HelperPerPartition.js +168 -130
  223. package/dist/commonjs/bulk/HelperPerPartition.js.map +7 -1
  224. package/dist/commonjs/bulk/ItemOperation.js +16 -5
  225. package/dist/commonjs/bulk/ItemOperation.js.map +7 -1
  226. package/dist/commonjs/bulk/ItemOperationContext.js +54 -38
  227. package/dist/commonjs/bulk/ItemOperationContext.js.map +7 -1
  228. package/dist/commonjs/bulk/Limiter.js +199 -212
  229. package/dist/commonjs/bulk/Limiter.js.map +7 -1
  230. package/dist/commonjs/bulk/PartitionMetric.js +59 -35
  231. package/dist/commonjs/bulk/PartitionMetric.js.map +7 -1
  232. package/dist/commonjs/bulk/index.d.ts +1 -1
  233. package/dist/commonjs/bulk/index.d.ts.map +1 -1
  234. package/dist/commonjs/bulk/index.js +31 -10
  235. package/dist/commonjs/bulk/index.js.map +7 -1
  236. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js +32 -14
  237. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js.map +7 -1
  238. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +383 -327
  239. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +7 -1
  240. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  241. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  242. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +187 -146
  243. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +7 -1
  244. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +83 -63
  245. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +7 -1
  246. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js +16 -5
  247. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +7 -1
  248. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +73 -78
  249. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +7 -1
  250. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js +32 -11
  251. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js.map +7 -1
  252. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +31 -12
  253. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +7 -1
  254. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js +16 -3
  255. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js.map +7 -1
  256. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +54 -38
  257. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +7 -1
  258. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +53 -36
  259. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +7 -1
  260. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js +71 -54
  261. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js.map +7 -1
  262. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +34 -16
  263. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +7 -1
  264. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +48 -38
  265. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +7 -1
  266. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +34 -18
  267. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +7 -1
  268. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +39 -21
  269. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +7 -1
  270. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +39 -21
  271. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +7 -1
  272. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +44 -26
  273. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +7 -1
  274. package/dist/commonjs/client/ChangeFeed/FeedRange.js +51 -38
  275. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +7 -1
  276. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +69 -49
  277. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +7 -1
  278. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js +16 -5
  279. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +7 -1
  280. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js +144 -71
  281. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js.map +7 -1
  282. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  283. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  284. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +161 -188
  285. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +7 -1
  286. package/dist/commonjs/client/ChangeFeed/index.d.ts +2 -2
  287. package/dist/commonjs/client/ChangeFeed/index.d.ts.map +1 -1
  288. package/dist/commonjs/client/ChangeFeed/index.js +60 -29
  289. package/dist/commonjs/client/ChangeFeed/index.js.map +7 -1
  290. package/dist/commonjs/client/ClientUtils.d.ts +1 -1
  291. package/dist/commonjs/client/ClientUtils.d.ts.map +1 -1
  292. package/dist/commonjs/client/ClientUtils.js +43 -16
  293. package/dist/commonjs/client/ClientUtils.js.map +7 -1
  294. package/dist/commonjs/client/Conflict/Conflict.js +132 -100
  295. package/dist/commonjs/client/Conflict/Conflict.js.map +7 -1
  296. package/dist/commonjs/client/Conflict/ConflictDefinition.js +16 -3
  297. package/dist/commonjs/client/Conflict/ConflictDefinition.js.map +7 -1
  298. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js +32 -11
  299. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js.map +7 -1
  300. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js +16 -3
  301. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js.map +7 -1
  302. package/dist/commonjs/client/Conflict/ConflictResponse.js +35 -13
  303. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +7 -1
  304. package/dist/commonjs/client/Conflict/Conflicts.js +73 -51
  305. package/dist/commonjs/client/Conflict/Conflicts.js.map +7 -1
  306. package/dist/commonjs/client/Conflict/index.d.ts +2 -2
  307. package/dist/commonjs/client/Conflict/index.d.ts.map +1 -1
  308. package/dist/commonjs/client/Conflict/index.js +37 -14
  309. package/dist/commonjs/client/Conflict/index.js.map +7 -1
  310. package/dist/commonjs/client/Container/Container.js +669 -599
  311. package/dist/commonjs/client/Container/Container.js.map +7 -1
  312. package/dist/commonjs/client/Container/ContainerDefinition.d.ts +1 -1
  313. package/dist/commonjs/client/Container/ContainerDefinition.d.ts.map +1 -1
  314. package/dist/commonjs/client/Container/ContainerDefinition.js +16 -3
  315. package/dist/commonjs/client/Container/ContainerDefinition.js.map +7 -1
  316. package/dist/commonjs/client/Container/ContainerRequest.js +16 -3
  317. package/dist/commonjs/client/Container/ContainerRequest.js.map +7 -1
  318. package/dist/commonjs/client/Container/ContainerResponse.js +35 -14
  319. package/dist/commonjs/client/Container/ContainerResponse.js.map +7 -1
  320. package/dist/commonjs/client/Container/Containers.js +236 -218
  321. package/dist/commonjs/client/Container/Containers.js.map +7 -1
  322. package/dist/commonjs/client/Container/PartitionKeyRange.js +16 -3
  323. package/dist/commonjs/client/Container/PartitionKeyRange.js.map +7 -1
  324. package/dist/commonjs/client/Container/UniqueKeyPolicy.js +16 -3
  325. package/dist/commonjs/client/Container/UniqueKeyPolicy.js.map +7 -1
  326. package/dist/commonjs/client/Container/index.d.ts +4 -4
  327. package/dist/commonjs/client/Container/index.d.ts.map +1 -1
  328. package/dist/commonjs/client/Container/index.js +34 -12
  329. package/dist/commonjs/client/Container/index.js.map +7 -1
  330. package/dist/commonjs/client/Database/Database.js +533 -448
  331. package/dist/commonjs/client/Database/Database.js.map +7 -1
  332. package/dist/commonjs/client/Database/DatabaseDefinition.js +16 -3
  333. package/dist/commonjs/client/Database/DatabaseDefinition.js.map +7 -1
  334. package/dist/commonjs/client/Database/DatabaseRequest.js +16 -3
  335. package/dist/commonjs/client/Database/DatabaseRequest.js.map +7 -1
  336. package/dist/commonjs/client/Database/DatabaseResponse.js +35 -14
  337. package/dist/commonjs/client/Database/DatabaseResponse.js.map +7 -1
  338. package/dist/commonjs/client/Database/Databases.js +201 -188
  339. package/dist/commonjs/client/Database/Databases.js.map +7 -1
  340. package/dist/commonjs/client/Database/index.d.ts +2 -2
  341. package/dist/commonjs/client/Database/index.d.ts.map +1 -1
  342. package/dist/commonjs/client/Database/index.js +34 -12
  343. package/dist/commonjs/client/Database/index.js.map +7 -1
  344. package/dist/commonjs/client/Item/Item.js +510 -383
  345. package/dist/commonjs/client/Item/Item.js.map +7 -1
  346. package/dist/commonjs/client/Item/ItemDefinition.js +16 -5
  347. package/dist/commonjs/client/Item/ItemDefinition.js.map +7 -1
  348. package/dist/commonjs/client/Item/ItemResponse.js +35 -13
  349. package/dist/commonjs/client/Item/ItemResponse.js.map +7 -1
  350. package/dist/commonjs/client/Item/Items.d.ts.map +1 -1
  351. package/dist/commonjs/client/Item/Items.js +891 -717
  352. package/dist/commonjs/client/Item/Items.js.map +7 -1
  353. package/dist/commonjs/client/Item/index.d.ts +1 -1
  354. package/dist/commonjs/client/Item/index.d.ts.map +1 -1
  355. package/dist/commonjs/client/Item/index.js +34 -12
  356. package/dist/commonjs/client/Item/index.js.map +7 -1
  357. package/dist/commonjs/client/Offer/Offer.js +119 -90
  358. package/dist/commonjs/client/Offer/Offer.js.map +7 -1
  359. package/dist/commonjs/client/Offer/OfferDefinition.js +16 -3
  360. package/dist/commonjs/client/Offer/OfferDefinition.js.map +7 -1
  361. package/dist/commonjs/client/Offer/OfferResponse.js +35 -13
  362. package/dist/commonjs/client/Offer/OfferResponse.js.map +7 -1
  363. package/dist/commonjs/client/Offer/Offers.js +68 -51
  364. package/dist/commonjs/client/Offer/Offers.js.map +7 -1
  365. package/dist/commonjs/client/Offer/index.d.ts +1 -1
  366. package/dist/commonjs/client/Offer/index.d.ts.map +1 -1
  367. package/dist/commonjs/client/Offer/index.js +34 -12
  368. package/dist/commonjs/client/Offer/index.js.map +7 -1
  369. package/dist/commonjs/client/Permission/Permission.js +162 -127
  370. package/dist/commonjs/client/Permission/Permission.js.map +7 -1
  371. package/dist/commonjs/client/Permission/PermissionBody.js +16 -3
  372. package/dist/commonjs/client/Permission/PermissionBody.js.map +7 -1
  373. package/dist/commonjs/client/Permission/PermissionDefinition.js +16 -3
  374. package/dist/commonjs/client/Permission/PermissionDefinition.js.map +7 -1
  375. package/dist/commonjs/client/Permission/PermissionResponse.js +35 -13
  376. package/dist/commonjs/client/Permission/PermissionResponse.js.map +7 -1
  377. package/dist/commonjs/client/Permission/Permissions.js +173 -144
  378. package/dist/commonjs/client/Permission/Permissions.js.map +7 -1
  379. package/dist/commonjs/client/Permission/index.d.ts +2 -2
  380. package/dist/commonjs/client/Permission/index.d.ts.map +1 -1
  381. package/dist/commonjs/client/Permission/index.js +34 -12
  382. package/dist/commonjs/client/Permission/index.js.map +7 -1
  383. package/dist/commonjs/client/Resource.js +16 -3
  384. package/dist/commonjs/client/Resource.js.map +7 -1
  385. package/dist/commonjs/client/SasToken/PermissionScopeValues.js +92 -80
  386. package/dist/commonjs/client/SasToken/PermissionScopeValues.js.map +7 -1
  387. package/dist/commonjs/client/SasToken/SasTokenProperties.js +44 -24
  388. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +7 -1
  389. package/dist/commonjs/client/Script/Scripts.js +100 -80
  390. package/dist/commonjs/client/Script/Scripts.js.map +7 -1
  391. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +228 -185
  392. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +7 -1
  393. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js +16 -3
  394. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js.map +7 -1
  395. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +45 -23
  396. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +7 -1
  397. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +134 -111
  398. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +7 -1
  399. package/dist/commonjs/client/StoredProcedure/index.d.ts +1 -1
  400. package/dist/commonjs/client/StoredProcedure/index.d.ts.map +1 -1
  401. package/dist/commonjs/client/StoredProcedure/index.js +34 -12
  402. package/dist/commonjs/client/StoredProcedure/index.js.map +7 -1
  403. package/dist/commonjs/client/Trigger/Trigger.js +173 -138
  404. package/dist/commonjs/client/Trigger/Trigger.js.map +7 -1
  405. package/dist/commonjs/client/Trigger/TriggerDefinition.js +16 -3
  406. package/dist/commonjs/client/Trigger/TriggerDefinition.js.map +7 -1
  407. package/dist/commonjs/client/Trigger/TriggerResponse.js +35 -13
  408. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +7 -1
  409. package/dist/commonjs/client/Trigger/Triggers.js +133 -110
  410. package/dist/commonjs/client/Trigger/Triggers.js.map +7 -1
  411. package/dist/commonjs/client/Trigger/index.d.ts +1 -1
  412. package/dist/commonjs/client/Trigger/index.d.ts.map +1 -1
  413. package/dist/commonjs/client/Trigger/index.js +34 -12
  414. package/dist/commonjs/client/Trigger/index.js.map +7 -1
  415. package/dist/commonjs/client/User/User.js +174 -141
  416. package/dist/commonjs/client/User/User.js.map +7 -1
  417. package/dist/commonjs/client/User/UserDefinition.js +16 -3
  418. package/dist/commonjs/client/User/UserDefinition.js.map +7 -1
  419. package/dist/commonjs/client/User/UserResponse.js +35 -13
  420. package/dist/commonjs/client/User/UserResponse.js.map +7 -1
  421. package/dist/commonjs/client/User/Users.js +157 -128
  422. package/dist/commonjs/client/User/Users.js.map +7 -1
  423. package/dist/commonjs/client/User/index.d.ts +1 -1
  424. package/dist/commonjs/client/User/index.d.ts.map +1 -1
  425. package/dist/commonjs/client/User/index.js +34 -12
  426. package/dist/commonjs/client/User/index.js.map +7 -1
  427. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +172 -137
  428. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +7 -1
  429. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js +16 -3
  430. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js.map +7 -1
  431. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +43 -21
  432. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +7 -1
  433. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +130 -107
  434. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +7 -1
  435. package/dist/commonjs/client/UserDefinedFunction/index.d.ts +1 -1
  436. package/dist/commonjs/client/UserDefinedFunction/index.d.ts.map +1 -1
  437. package/dist/commonjs/client/UserDefinedFunction/index.js +34 -12
  438. package/dist/commonjs/client/UserDefinedFunction/index.js.map +7 -1
  439. package/dist/commonjs/client/index.d.ts +1 -1
  440. package/dist/commonjs/client/index.d.ts.map +1 -1
  441. package/dist/commonjs/client/index.js +42 -18
  442. package/dist/commonjs/client/index.js.map +7 -1
  443. package/dist/commonjs/common/constants.js +515 -500
  444. package/dist/commonjs/common/constants.js.map +7 -1
  445. package/dist/commonjs/common/helper.d.ts +4 -4
  446. package/dist/commonjs/common/helper.d.ts.map +1 -1
  447. package/dist/commonjs/common/helper.js +350 -412
  448. package/dist/commonjs/common/helper.js.map +7 -1
  449. package/dist/commonjs/common/index.js +28 -10
  450. package/dist/commonjs/common/index.js.map +7 -1
  451. package/dist/commonjs/common/logger.js +29 -9
  452. package/dist/commonjs/common/logger.js.map +7 -1
  453. package/dist/commonjs/common/partitionKeys.js +28 -7
  454. package/dist/commonjs/common/partitionKeys.js.map +7 -1
  455. package/dist/commonjs/common/platform.d.ts +1 -1
  456. package/dist/commonjs/common/platform.d.ts.map +1 -1
  457. package/dist/commonjs/common/platform.js +55 -42
  458. package/dist/commonjs/common/platform.js.map +7 -1
  459. package/dist/commonjs/common/statusCodes.js +77 -60
  460. package/dist/commonjs/common/statusCodes.js.map +7 -1
  461. package/dist/commonjs/common/uriFactory.js +80 -195
  462. package/dist/commonjs/common/uriFactory.js.map +7 -1
  463. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js +33 -15
  464. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js.map +7 -1
  465. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +146 -126
  466. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +7 -1
  467. package/dist/commonjs/diagnostics/DiagnosticFormatter.js +30 -10
  468. package/dist/commonjs/diagnostics/DiagnosticFormatter.js.map +7 -1
  469. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  470. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  471. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +317 -305
  472. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +7 -1
  473. package/dist/commonjs/diagnostics/DiagnosticWriter.js +36 -25
  474. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +7 -1
  475. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js +40 -24
  476. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js.map +7 -1
  477. package/dist/commonjs/diagnostics/index.js +68 -34
  478. package/dist/commonjs/diagnostics/index.js.map +7 -1
  479. package/dist/commonjs/documents/ComputedProperty.js +16 -3
  480. package/dist/commonjs/documents/ComputedProperty.js.map +7 -1
  481. package/dist/commonjs/documents/ConnectionMode.js +31 -12
  482. package/dist/commonjs/documents/ConnectionMode.js.map +7 -1
  483. package/dist/commonjs/documents/ConnectionPolicy.js +44 -26
  484. package/dist/commonjs/documents/ConnectionPolicy.js.map +7 -1
  485. package/dist/commonjs/documents/ConsistencyLevel.js +35 -43
  486. package/dist/commonjs/documents/ConsistencyLevel.js.map +7 -1
  487. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +77 -79
  488. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +7 -1
  489. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +49 -38
  490. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +7 -1
  491. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +16 -5
  492. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +7 -1
  493. package/dist/commonjs/documents/DataType.js +36 -22
  494. package/dist/commonjs/documents/DataType.js.map +7 -1
  495. package/dist/commonjs/documents/DatabaseAccount.js +110 -100
  496. package/dist/commonjs/documents/DatabaseAccount.js.map +7 -1
  497. package/dist/commonjs/documents/Document.js +16 -3
  498. package/dist/commonjs/documents/Document.js.map +7 -1
  499. package/dist/commonjs/documents/FullTextPolicy.js +16 -5
  500. package/dist/commonjs/documents/FullTextPolicy.js.map +7 -1
  501. package/dist/commonjs/documents/GeospatialType.js +32 -13
  502. package/dist/commonjs/documents/GeospatialType.js.map +7 -1
  503. package/dist/commonjs/documents/IndexKind.js +32 -20
  504. package/dist/commonjs/documents/IndexKind.js.map +7 -1
  505. package/dist/commonjs/documents/IndexingMode.js +33 -27
  506. package/dist/commonjs/documents/IndexingMode.js.map +7 -1
  507. package/dist/commonjs/documents/IndexingPolicy.js +42 -30
  508. package/dist/commonjs/documents/IndexingPolicy.js.map +7 -1
  509. package/dist/commonjs/documents/PartitionKey.js +44 -27
  510. package/dist/commonjs/documents/PartitionKey.js.map +7 -1
  511. package/dist/commonjs/documents/PartitionKeyDefinition.js +16 -3
  512. package/dist/commonjs/documents/PartitionKeyDefinition.js.map +7 -1
  513. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js +32 -14
  514. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js.map +7 -1
  515. package/dist/commonjs/documents/PartitionKeyInternal.js +36 -28
  516. package/dist/commonjs/documents/PartitionKeyInternal.js.map +7 -1
  517. package/dist/commonjs/documents/PartitionKeyKind.js +32 -14
  518. package/dist/commonjs/documents/PartitionKeyKind.js.map +7 -1
  519. package/dist/commonjs/documents/PermissionMode.js +33 -18
  520. package/dist/commonjs/documents/PermissionMode.js.map +7 -1
  521. package/dist/commonjs/documents/PriorityLevel.js +32 -25
  522. package/dist/commonjs/documents/PriorityLevel.js.map +7 -1
  523. package/dist/commonjs/documents/TriggerOperation.js +35 -23
  524. package/dist/commonjs/documents/TriggerOperation.js.map +7 -1
  525. package/dist/commonjs/documents/TriggerType.js +32 -17
  526. package/dist/commonjs/documents/TriggerType.js.map +7 -1
  527. package/dist/commonjs/documents/UserDefinedFunctionType.js +31 -15
  528. package/dist/commonjs/documents/UserDefinedFunctionType.js.map +7 -1
  529. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +42 -44
  530. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +7 -1
  531. package/dist/commonjs/documents/index.d.ts +4 -4
  532. package/dist/commonjs/documents/index.d.ts.map +1 -1
  533. package/dist/commonjs/documents/index.js +58 -29
  534. package/dist/commonjs/documents/index.js.map +7 -1
  535. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  536. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  537. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +98 -71
  538. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +7 -1
  539. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js +28 -8
  540. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js.map +7 -1
  541. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +38 -23
  542. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +7 -1
  543. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +53 -36
  544. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +7 -1
  545. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +47 -32
  546. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +7 -1
  547. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +100 -86
  548. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +7 -1
  549. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  550. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  551. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js +16 -5
  552. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js.map +7 -1
  553. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js +16 -5
  554. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js.map +7 -1
  555. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js +16 -5
  556. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js.map +7 -1
  557. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  558. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  559. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +35 -16
  560. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +7 -1
  561. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts +2 -2
  562. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  563. package/dist/commonjs/encryption/ClientEncryptionKey/index.js +28 -8
  564. package/dist/commonjs/encryption/ClientEncryptionKey/index.js.map +7 -1
  565. package/dist/commonjs/encryption/ClientEncryptionOptions.js +16 -5
  566. package/dist/commonjs/encryption/ClientEncryptionOptions.js.map +7 -1
  567. package/dist/commonjs/encryption/ClientEncryptionPolicy.js +16 -5
  568. package/dist/commonjs/encryption/ClientEncryptionPolicy.js.map +7 -1
  569. package/dist/commonjs/encryption/CosmosEncryptedNumber.js +32 -20
  570. package/dist/commonjs/encryption/CosmosEncryptedNumber.js.map +7 -1
  571. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +130 -106
  572. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +7 -1
  573. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +52 -32
  574. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +7 -1
  575. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +37 -23
  576. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +7 -1
  577. package/dist/commonjs/encryption/EncryptionKey/index.js +31 -10
  578. package/dist/commonjs/encryption/EncryptionKey/index.js.map +7 -1
  579. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +113 -94
  580. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +7 -1
  581. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js +16 -5
  582. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js.map +7 -1
  583. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  584. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  585. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js +28 -8
  586. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js.map +7 -1
  587. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +83 -55
  588. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +7 -1
  589. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js +16 -5
  590. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js.map +7 -1
  591. package/dist/commonjs/encryption/EncryptionManager.js +58 -42
  592. package/dist/commonjs/encryption/EncryptionManager.js.map +7 -1
  593. package/dist/commonjs/encryption/EncryptionProcessor.js +346 -284
  594. package/dist/commonjs/encryption/EncryptionProcessor.js.map +7 -1
  595. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts +2 -2
  596. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  597. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +110 -99
  598. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +7 -1
  599. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +65 -33
  600. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +7 -1
  601. package/dist/commonjs/encryption/EncryptionSettings.js +46 -30
  602. package/dist/commonjs/encryption/EncryptionSettings.js.map +7 -1
  603. package/dist/commonjs/encryption/KeyEncryptionKey.js +52 -28
  604. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +7 -1
  605. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  606. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  607. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js +38 -18
  608. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js.map +7 -1
  609. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts +1 -1
  610. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  611. package/dist/commonjs/encryption/Serializers/FloatSerializer.js +40 -20
  612. package/dist/commonjs/encryption/Serializers/FloatSerializer.js.map +7 -1
  613. package/dist/commonjs/encryption/Serializers/NumberSerializer.js +39 -19
  614. package/dist/commonjs/encryption/Serializers/NumberSerializer.js.map +7 -1
  615. package/dist/commonjs/encryption/Serializers/Serializer.js +16 -5
  616. package/dist/commonjs/encryption/Serializers/Serializer.js.map +7 -1
  617. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts +1 -1
  618. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  619. package/dist/commonjs/encryption/Serializers/StringSerializer.js +34 -14
  620. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +7 -1
  621. package/dist/commonjs/encryption/Serializers/index.d.ts +1 -1
  622. package/dist/commonjs/encryption/Serializers/index.d.ts.map +1 -1
  623. package/dist/commonjs/encryption/Serializers/index.js +37 -14
  624. package/dist/commonjs/encryption/Serializers/index.js.map +7 -1
  625. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js +31 -13
  626. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js.map +7 -1
  627. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js +31 -12
  628. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js.map +7 -1
  629. package/dist/commonjs/encryption/enums/EncryptionType.js +32 -16
  630. package/dist/commonjs/encryption/enums/EncryptionType.js.map +7 -1
  631. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js +31 -12
  632. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js.map +7 -1
  633. package/dist/commonjs/encryption/enums/TypeMarker.js +35 -14
  634. package/dist/commonjs/encryption/enums/TypeMarker.js.map +7 -1
  635. package/dist/commonjs/encryption/enums/index.js +37 -14
  636. package/dist/commonjs/encryption/enums/index.js.map +7 -1
  637. package/dist/commonjs/encryption/index.d.ts +5 -5
  638. package/dist/commonjs/encryption/index.d.ts.map +1 -1
  639. package/dist/commonjs/encryption/index.js +56 -26
  640. package/dist/commonjs/encryption/index.js.map +7 -1
  641. package/dist/commonjs/extractPartitionKey.js +93 -91
  642. package/dist/commonjs/extractPartitionKey.js.map +7 -1
  643. package/dist/commonjs/globalEndpointManager.js +366 -357
  644. package/dist/commonjs/globalEndpointManager.js.map +7 -1
  645. package/dist/commonjs/globalPartitionEndpointManager.d.ts +2 -1
  646. package/dist/commonjs/globalPartitionEndpointManager.d.ts.map +1 -1
  647. package/dist/commonjs/globalPartitionEndpointManager.js +324 -297
  648. package/dist/commonjs/globalPartitionEndpointManager.js.map +7 -1
  649. package/dist/commonjs/index.d.ts +16 -16
  650. package/dist/commonjs/index.d.ts.map +1 -1
  651. package/dist/commonjs/index.js +178 -96
  652. package/dist/commonjs/index.js.map +7 -1
  653. package/dist/commonjs/plugins/Plugin.js +51 -44
  654. package/dist/commonjs/plugins/Plugin.js.map +7 -1
  655. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js +16 -3
  656. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js.map +7 -1
  657. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +50 -29
  658. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +7 -1
  659. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +47 -26
  660. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +7 -1
  661. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +65 -54
  662. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +7 -1
  663. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +39 -18
  664. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +7 -1
  665. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +47 -29
  666. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +7 -1
  667. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +55 -38
  668. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +7 -1
  669. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +59 -43
  670. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +7 -1
  671. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +35 -14
  672. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +7 -1
  673. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +45 -25
  674. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +7 -1
  675. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts +1 -1
  676. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  677. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +64 -39
  678. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +7 -1
  679. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +182 -166
  680. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +7 -1
  681. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +46 -30
  682. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +7 -1
  683. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +147 -124
  684. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +7 -1
  685. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +71 -65
  686. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +7 -1
  687. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +39 -24
  688. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +7 -1
  689. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js +16 -3
  690. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js.map +7 -1
  691. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +113 -107
  692. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +7 -1
  693. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +118 -107
  694. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +7 -1
  695. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +169 -155
  696. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +7 -1
  697. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +158 -143
  698. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +7 -1
  699. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +85 -64
  700. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +7 -1
  701. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +82 -58
  702. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +7 -1
  703. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +72 -48
  704. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +7 -1
  705. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +61 -42
  706. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +7 -1
  707. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js +31 -13
  708. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js.map +7 -1
  709. package/dist/commonjs/queryExecutionContext/ExecutionContext.js +16 -3
  710. package/dist/commonjs/queryExecutionContext/ExecutionContext.js.map +7 -1
  711. package/dist/commonjs/queryExecutionContext/FetchResult.js +56 -38
  712. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +7 -1
  713. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +62 -55
  714. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +7 -1
  715. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  716. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  717. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +152 -155
  718. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +7 -1
  719. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +94 -102
  720. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +7 -1
  721. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +113 -89
  722. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +7 -1
  723. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +64 -66
  724. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +7 -1
  725. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js +16 -3
  726. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js.map +7 -1
  727. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +220 -191
  728. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +7 -1
  729. package/dist/commonjs/queryExecutionContext/documentProducer.js +286 -276
  730. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +7 -1
  731. package/dist/commonjs/queryExecutionContext/headerUtils.js +95 -89
  732. package/dist/commonjs/queryExecutionContext/headerUtils.js.map +7 -1
  733. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +499 -481
  734. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +7 -1
  735. package/dist/commonjs/queryExecutionContext/index.d.ts +2 -2
  736. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  737. package/dist/commonjs/queryExecutionContext/index.js +62 -29
  738. package/dist/commonjs/queryExecutionContext/index.js.map +7 -1
  739. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js +16 -5
  740. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js.map +7 -1
  741. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js +16 -5
  742. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +7 -1
  743. package/dist/commonjs/queryExecutionContext/orderByComparator.js +107 -113
  744. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +7 -1
  745. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +145 -134
  746. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +7 -1
  747. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +91 -61
  748. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +7 -1
  749. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +86 -68
  750. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +7 -1
  751. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  752. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  753. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +842 -788
  754. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +7 -1
  755. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +36 -24
  756. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +7 -1
  757. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +286 -228
  758. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +7 -1
  759. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +16 -5
  760. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +7 -1
  761. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  762. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  763. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +263 -299
  764. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +7 -1
  765. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  766. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  767. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +94 -98
  768. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +7 -1
  769. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +149 -177
  770. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +7 -1
  771. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +105 -92
  772. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +7 -1
  773. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +16 -5
  774. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +7 -1
  775. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +68 -55
  776. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +7 -1
  777. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +52 -36
  778. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +7 -1
  779. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +16 -5
  780. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +7 -1
  781. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +16 -5
  782. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +7 -1
  783. package/dist/commonjs/queryIterator.js +411 -354
  784. package/dist/commonjs/queryIterator.js.map +7 -1
  785. package/dist/commonjs/queryMetrics/clientSideMetrics.js +49 -29
  786. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +7 -1
  787. package/dist/commonjs/queryMetrics/index.js +53 -19
  788. package/dist/commonjs/queryMetrics/index.js.map +7 -1
  789. package/dist/commonjs/queryMetrics/queryMetrics.js +189 -159
  790. package/dist/commonjs/queryMetrics/queryMetrics.js.map +7 -1
  791. package/dist/commonjs/queryMetrics/queryMetricsConstants.js +75 -57
  792. package/dist/commonjs/queryMetrics/queryMetricsConstants.js.map +7 -1
  793. package/dist/commonjs/queryMetrics/queryMetricsUtils.js +52 -38
  794. package/dist/commonjs/queryMetrics/queryMetricsUtils.js.map +7 -1
  795. package/dist/commonjs/queryMetrics/queryPreparationTime.js +110 -65
  796. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +7 -1
  797. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +120 -68
  798. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +7 -1
  799. package/dist/commonjs/queryMetrics/timeSpan.js +206 -217
  800. package/dist/commonjs/queryMetrics/timeSpan.js.map +7 -1
  801. package/dist/commonjs/request/ErrorResponse.js +46 -27
  802. package/dist/commonjs/request/ErrorResponse.js.map +7 -1
  803. package/dist/commonjs/request/FeedOptions.js +16 -3
  804. package/dist/commonjs/request/FeedOptions.js.map +7 -1
  805. package/dist/commonjs/request/FeedResponse.js +60 -40
  806. package/dist/commonjs/request/FeedResponse.js.map +7 -1
  807. package/dist/commonjs/request/RequestContext.js +16 -3
  808. package/dist/commonjs/request/RequestContext.js.map +7 -1
  809. package/dist/commonjs/request/RequestHandler.js +173 -153
  810. package/dist/commonjs/request/RequestHandler.js.map +7 -1
  811. package/dist/commonjs/request/RequestOptions.js +16 -3
  812. package/dist/commonjs/request/RequestOptions.js.map +7 -1
  813. package/dist/commonjs/request/ResourceResponse.js +49 -27
  814. package/dist/commonjs/request/ResourceResponse.js.map +7 -1
  815. package/dist/commonjs/request/Response.js +16 -3
  816. package/dist/commonjs/request/Response.js.map +7 -1
  817. package/dist/commonjs/request/SharedOptions.js +16 -3
  818. package/dist/commonjs/request/SharedOptions.js.map +7 -1
  819. package/dist/commonjs/request/StatusCodes.js +16 -5
  820. package/dist/commonjs/request/StatusCodes.js.map +7 -1
  821. package/dist/commonjs/request/TimeoutError.js +35 -16
  822. package/dist/commonjs/request/TimeoutError.js.map +7 -1
  823. package/dist/commonjs/request/defaultAgent.js +46 -18
  824. package/dist/commonjs/request/defaultAgent.js.map +7 -1
  825. package/dist/commonjs/request/globalStatistics.js +16 -5
  826. package/dist/commonjs/request/globalStatistics.js.map +7 -1
  827. package/dist/commonjs/request/hybridSearchQueryResult.d.ts +1 -1
  828. package/dist/commonjs/request/hybridSearchQueryResult.d.ts.map +1 -1
  829. package/dist/commonjs/request/hybridSearchQueryResult.js +62 -45
  830. package/dist/commonjs/request/hybridSearchQueryResult.js.map +7 -1
  831. package/dist/commonjs/request/index.d.ts +8 -8
  832. package/dist/commonjs/request/index.d.ts.map +1 -1
  833. package/dist/commonjs/request/index.js +37 -16
  834. package/dist/commonjs/request/index.js.map +7 -1
  835. package/dist/commonjs/request/request.js +188 -186
  836. package/dist/commonjs/request/request.js.map +7 -1
  837. package/dist/commonjs/retry/RetryContext.js +16 -3
  838. package/dist/commonjs/retry/RetryContext.js.map +7 -1
  839. package/dist/commonjs/retry/RetryPolicy.js +16 -3
  840. package/dist/commonjs/retry/RetryPolicy.js.map +7 -1
  841. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +65 -56
  842. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +7 -1
  843. package/dist/commonjs/retry/defaultRetryPolicy.js +68 -115
  844. package/dist/commonjs/retry/defaultRetryPolicy.js.map +7 -1
  845. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  846. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  847. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +98 -73
  848. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +7 -1
  849. package/dist/commonjs/retry/index.d.ts +1 -1
  850. package/dist/commonjs/retry/index.d.ts.map +1 -1
  851. package/dist/commonjs/retry/index.js +30 -12
  852. package/dist/commonjs/retry/index.js.map +7 -1
  853. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +74 -61
  854. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +7 -1
  855. package/dist/commonjs/retry/retryOptions.js +16 -3
  856. package/dist/commonjs/retry/retryOptions.js.map +7 -1
  857. package/dist/commonjs/retry/retryUtility.js +169 -133
  858. package/dist/commonjs/retry/retryUtility.js.map +7 -1
  859. package/dist/commonjs/retry/sessionRetryPolicy.js +84 -73
  860. package/dist/commonjs/retry/sessionRetryPolicy.js.map +7 -1
  861. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  862. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  863. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +124 -119
  864. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +7 -1
  865. package/dist/commonjs/routing/CollectionRoutingMapFactory.js +70 -67
  866. package/dist/commonjs/routing/CollectionRoutingMapFactory.js.map +7 -1
  867. package/dist/commonjs/routing/QueryRange.js +93 -66
  868. package/dist/commonjs/routing/QueryRange.js.map +7 -1
  869. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +112 -84
  870. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +7 -1
  871. package/dist/commonjs/routing/index.js +28 -10
  872. package/dist/commonjs/routing/index.js.map +7 -1
  873. package/dist/commonjs/routing/partitionKeyRangeCache.js +83 -56
  874. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +7 -1
  875. package/dist/commonjs/routing/smartRoutingMapProvider.js +131 -110
  876. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +7 -1
  877. package/dist/commonjs/session/SessionContext.js +16 -3
  878. package/dist/commonjs/session/SessionContext.js.map +7 -1
  879. package/dist/commonjs/session/VectorSessionToken.js +130 -125
  880. package/dist/commonjs/session/VectorSessionToken.js.map +7 -1
  881. package/dist/commonjs/session/sessionContainer.js +135 -127
  882. package/dist/commonjs/session/sessionContainer.js.map +7 -1
  883. package/dist/commonjs/tsdoc-metadata.json +1 -1
  884. package/dist/commonjs/utils/SasToken.js +101 -120
  885. package/dist/commonjs/utils/SasToken.js.map +7 -1
  886. package/dist/commonjs/utils/atob.js +24 -7
  887. package/dist/commonjs/utils/atob.js.map +7 -1
  888. package/dist/commonjs/utils/batch.js +196 -197
  889. package/dist/commonjs/utils/batch.js.map +7 -1
  890. package/dist/commonjs/utils/cachedClient.js +32 -11
  891. package/dist/commonjs/utils/cachedClient.js.map +7 -1
  892. package/dist/commonjs/utils/checkURL.js +34 -14
  893. package/dist/commonjs/utils/checkURL.js.map +7 -1
  894. package/dist/commonjs/utils/diagnostics.js +107 -118
  895. package/dist/commonjs/utils/diagnostics.js.map +7 -1
  896. package/dist/commonjs/utils/digest.js +31 -10
  897. package/dist/commonjs/utils/digest.js.map +7 -1
  898. package/dist/commonjs/utils/encode.js +44 -23
  899. package/dist/commonjs/utils/encode.js.map +7 -1
  900. package/dist/commonjs/utils/envUtils.js +40 -10
  901. package/dist/commonjs/utils/envUtils.js.map +7 -1
  902. package/dist/commonjs/utils/fixedSizePriorityQueue.js +86 -55
  903. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +7 -1
  904. package/dist/commonjs/utils/globalCrypto.js +29 -10
  905. package/dist/commonjs/utils/globalCrypto.js.map +7 -1
  906. package/dist/commonjs/utils/hashObject.js +41 -11
  907. package/dist/commonjs/utils/hashObject.js.map +7 -1
  908. package/dist/commonjs/utils/hashing/encoding/number.js +73 -56
  909. package/dist/commonjs/utils/hashing/encoding/number.js.map +7 -1
  910. package/dist/commonjs/utils/hashing/encoding/prefix.js +50 -29
  911. package/dist/commonjs/utils/hashing/encoding/prefix.js.map +7 -1
  912. package/dist/commonjs/utils/hashing/encoding/string.js +45 -27
  913. package/dist/commonjs/utils/hashing/encoding/string.js.map +7 -1
  914. package/dist/commonjs/utils/hashing/hash.d.ts +1 -1
  915. package/dist/commonjs/utils/hashing/hash.d.ts.map +1 -1
  916. package/dist/commonjs/utils/hashing/hash.js +55 -43
  917. package/dist/commonjs/utils/hashing/hash.js.map +7 -1
  918. package/dist/commonjs/utils/hashing/multiHash.js +29 -11
  919. package/dist/commonjs/utils/hashing/multiHash.js.map +7 -1
  920. package/dist/commonjs/utils/hashing/murmurHash.js +362 -412
  921. package/dist/commonjs/utils/hashing/murmurHash.js.map +7 -1
  922. package/dist/commonjs/utils/hashing/v1.js +101 -71
  923. package/dist/commonjs/utils/hashing/v1.js.map +7 -1
  924. package/dist/commonjs/utils/hashing/v2.js +84 -63
  925. package/dist/commonjs/utils/hashing/v2.js.map +7 -1
  926. package/dist/commonjs/utils/headers.js +45 -33
  927. package/dist/commonjs/utils/headers.js.map +7 -1
  928. package/dist/commonjs/utils/hmac.js +29 -8
  929. package/dist/commonjs/utils/hmac.js.map +7 -1
  930. package/dist/commonjs/utils/nonStreamingOrderByMap.js +64 -52
  931. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +7 -1
  932. package/dist/commonjs/utils/offers.js +36 -13
  933. package/dist/commonjs/utils/offers.js.map +7 -1
  934. package/dist/commonjs/utils/patch.js +33 -12
  935. package/dist/commonjs/utils/patch.js.map +7 -1
  936. package/dist/commonjs/utils/strings.js +28 -7
  937. package/dist/commonjs/utils/strings.js.map +7 -1
  938. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js +37 -16
  939. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js.map +7 -1
  940. package/dist/commonjs/utils/time.js +39 -30
  941. package/dist/commonjs/utils/time.js.map +7 -1
  942. package/dist/commonjs/utils/tracing.js +33 -17
  943. package/dist/commonjs/utils/tracing.js.map +7 -1
  944. package/dist/commonjs/utils/typeChecks.js +50 -60
  945. package/dist/commonjs/utils/typeChecks.js.map +7 -1
  946. package/dist/commonjs/utils/types.js +16 -5
  947. package/dist/commonjs/utils/types.js.map +7 -1
  948. package/dist/commonjs/utils/uint8.js +45 -24
  949. package/dist/commonjs/utils/uint8.js.map +7 -1
  950. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  951. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  952. package/dist/esm/PartitionKeyRangeFailoverInfo.js +0 -2
  953. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -1
  954. package/dist/esm/bulk/index.d.ts +1 -1
  955. package/dist/esm/bulk/index.d.ts.map +1 -1
  956. package/dist/esm/bulk/index.js.map +1 -1
  957. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  958. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  959. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  960. package/dist/esm/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  961. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  962. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  963. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  964. package/dist/esm/client/ChangeFeed/index.d.ts +2 -2
  965. package/dist/esm/client/ChangeFeed/index.d.ts.map +1 -1
  966. package/dist/esm/client/ChangeFeed/index.js.map +1 -1
  967. package/dist/esm/client/ClientUtils.d.ts +1 -1
  968. package/dist/esm/client/ClientUtils.d.ts.map +1 -1
  969. package/dist/esm/client/ClientUtils.js.map +1 -1
  970. package/dist/esm/client/Conflict/index.d.ts +2 -2
  971. package/dist/esm/client/Conflict/index.d.ts.map +1 -1
  972. package/dist/esm/client/Conflict/index.js.map +1 -1
  973. package/dist/esm/client/Container/ContainerDefinition.d.ts +1 -1
  974. package/dist/esm/client/Container/ContainerDefinition.d.ts.map +1 -1
  975. package/dist/esm/client/Container/ContainerDefinition.js.map +1 -1
  976. package/dist/esm/client/Container/index.d.ts +4 -4
  977. package/dist/esm/client/Container/index.d.ts.map +1 -1
  978. package/dist/esm/client/Container/index.js.map +1 -1
  979. package/dist/esm/client/Database/index.d.ts +2 -2
  980. package/dist/esm/client/Database/index.d.ts.map +1 -1
  981. package/dist/esm/client/Database/index.js.map +1 -1
  982. package/dist/esm/client/Item/Items.d.ts.map +1 -1
  983. package/dist/esm/client/Item/Items.js.map +1 -1
  984. package/dist/esm/client/Item/index.d.ts +1 -1
  985. package/dist/esm/client/Item/index.d.ts.map +1 -1
  986. package/dist/esm/client/Item/index.js.map +1 -1
  987. package/dist/esm/client/Offer/index.d.ts +1 -1
  988. package/dist/esm/client/Offer/index.d.ts.map +1 -1
  989. package/dist/esm/client/Offer/index.js.map +1 -1
  990. package/dist/esm/client/Permission/index.d.ts +2 -2
  991. package/dist/esm/client/Permission/index.d.ts.map +1 -1
  992. package/dist/esm/client/Permission/index.js.map +1 -1
  993. package/dist/esm/client/StoredProcedure/index.d.ts +1 -1
  994. package/dist/esm/client/StoredProcedure/index.d.ts.map +1 -1
  995. package/dist/esm/client/StoredProcedure/index.js.map +1 -1
  996. package/dist/esm/client/Trigger/index.d.ts +1 -1
  997. package/dist/esm/client/Trigger/index.d.ts.map +1 -1
  998. package/dist/esm/client/Trigger/index.js.map +1 -1
  999. package/dist/esm/client/User/index.d.ts +1 -1
  1000. package/dist/esm/client/User/index.d.ts.map +1 -1
  1001. package/dist/esm/client/User/index.js.map +1 -1
  1002. package/dist/esm/client/UserDefinedFunction/index.d.ts +1 -1
  1003. package/dist/esm/client/UserDefinedFunction/index.d.ts.map +1 -1
  1004. package/dist/esm/client/UserDefinedFunction/index.js.map +1 -1
  1005. package/dist/esm/client/index.d.ts +1 -1
  1006. package/dist/esm/client/index.d.ts.map +1 -1
  1007. package/dist/esm/client/index.js +0 -1
  1008. package/dist/esm/client/index.js.map +1 -1
  1009. package/dist/esm/common/constants.js +1 -1
  1010. package/dist/esm/common/constants.js.map +1 -1
  1011. package/dist/esm/common/helper.d.ts +4 -4
  1012. package/dist/esm/common/helper.d.ts.map +1 -1
  1013. package/dist/esm/common/helper.js.map +1 -1
  1014. package/dist/esm/common/platform.d.ts +1 -1
  1015. package/dist/esm/common/platform.d.ts.map +1 -1
  1016. package/dist/esm/common/platform.js.map +1 -1
  1017. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1018. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1019. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1020. package/dist/esm/documents/index.d.ts +4 -4
  1021. package/dist/esm/documents/index.d.ts.map +1 -1
  1022. package/dist/esm/documents/index.js +0 -4
  1023. package/dist/esm/documents/index.js.map +1 -1
  1024. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1025. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1026. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1027. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1028. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1029. package/dist/esm/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1030. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1031. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1032. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1033. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1034. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1035. package/dist/esm/encryption/ClientEncryptionKey/index.js.map +1 -1
  1036. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1037. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1038. package/dist/esm/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1039. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1040. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1041. package/dist/esm/encryption/EncryptionQueryBuilder.js.map +1 -1
  1042. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1043. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1044. package/dist/esm/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1045. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1046. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1047. package/dist/esm/encryption/Serializers/FloatSerializer.js.map +1 -1
  1048. package/dist/esm/encryption/Serializers/StringSerializer.d.ts +1 -1
  1049. package/dist/esm/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1050. package/dist/esm/encryption/Serializers/StringSerializer.js.map +1 -1
  1051. package/dist/esm/encryption/Serializers/index.d.ts +1 -1
  1052. package/dist/esm/encryption/Serializers/index.d.ts.map +1 -1
  1053. package/dist/esm/encryption/Serializers/index.js.map +1 -1
  1054. package/dist/esm/encryption/index.d.ts +5 -5
  1055. package/dist/esm/encryption/index.d.ts.map +1 -1
  1056. package/dist/esm/encryption/index.js.map +1 -1
  1057. package/dist/esm/globalPartitionEndpointManager.d.ts +2 -1
  1058. package/dist/esm/globalPartitionEndpointManager.d.ts.map +1 -1
  1059. package/dist/esm/globalPartitionEndpointManager.js.map +1 -1
  1060. package/dist/esm/index.d.ts +16 -16
  1061. package/dist/esm/index.d.ts.map +1 -1
  1062. package/dist/esm/index.js +1 -1
  1063. package/dist/esm/index.js.map +1 -1
  1064. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1065. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1066. package/dist/esm/queryExecutionContext/Aggregators/index.js.map +1 -1
  1067. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1068. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1069. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1070. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1071. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1072. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1073. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1074. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1075. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +13 -12
  1076. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1077. package/dist/esm/queryExecutionContext/index.d.ts +2 -2
  1078. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  1079. package/dist/esm/queryExecutionContext/index.js +0 -2
  1080. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  1081. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1082. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1083. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1084. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1085. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1086. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1087. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1088. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1089. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1090. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1091. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1092. package/dist/esm/request/hybridSearchQueryResult.d.ts +1 -1
  1093. package/dist/esm/request/hybridSearchQueryResult.d.ts.map +1 -1
  1094. package/dist/esm/request/hybridSearchQueryResult.js.map +1 -1
  1095. package/dist/esm/request/index.d.ts +8 -8
  1096. package/dist/esm/request/index.d.ts.map +1 -1
  1097. package/dist/esm/request/index.js +0 -1
  1098. package/dist/esm/request/index.js.map +1 -1
  1099. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1100. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1101. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1102. package/dist/esm/retry/index.d.ts +1 -1
  1103. package/dist/esm/retry/index.d.ts.map +1 -1
  1104. package/dist/esm/retry/index.js +0 -3
  1105. package/dist/esm/retry/index.js.map +1 -1
  1106. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1107. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1108. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1109. package/dist/esm/utils/hashing/hash.d.ts +1 -1
  1110. package/dist/esm/utils/hashing/hash.d.ts.map +1 -1
  1111. package/dist/esm/utils/hashing/hash.js.map +1 -1
  1112. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  1113. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  1114. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +0 -2
  1115. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -1
  1116. package/dist/react-native/bulk/index.d.ts +1 -1
  1117. package/dist/react-native/bulk/index.d.ts.map +1 -1
  1118. package/dist/react-native/bulk/index.js.map +1 -1
  1119. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  1120. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  1121. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  1122. package/dist/react-native/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  1123. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  1124. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  1125. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  1126. package/dist/react-native/client/ChangeFeed/index.d.ts +2 -2
  1127. package/dist/react-native/client/ChangeFeed/index.d.ts.map +1 -1
  1128. package/dist/react-native/client/ChangeFeed/index.js.map +1 -1
  1129. package/dist/react-native/client/ClientUtils.d.ts +1 -1
  1130. package/dist/react-native/client/ClientUtils.d.ts.map +1 -1
  1131. package/dist/react-native/client/ClientUtils.js.map +1 -1
  1132. package/dist/react-native/client/Conflict/index.d.ts +2 -2
  1133. package/dist/react-native/client/Conflict/index.d.ts.map +1 -1
  1134. package/dist/react-native/client/Conflict/index.js.map +1 -1
  1135. package/dist/react-native/client/Container/ContainerDefinition.d.ts +1 -1
  1136. package/dist/react-native/client/Container/ContainerDefinition.d.ts.map +1 -1
  1137. package/dist/react-native/client/Container/ContainerDefinition.js.map +1 -1
  1138. package/dist/react-native/client/Container/index.d.ts +4 -4
  1139. package/dist/react-native/client/Container/index.d.ts.map +1 -1
  1140. package/dist/react-native/client/Container/index.js.map +1 -1
  1141. package/dist/react-native/client/Database/index.d.ts +2 -2
  1142. package/dist/react-native/client/Database/index.d.ts.map +1 -1
  1143. package/dist/react-native/client/Database/index.js.map +1 -1
  1144. package/dist/react-native/client/Item/Items.d.ts.map +1 -1
  1145. package/dist/react-native/client/Item/Items.js.map +1 -1
  1146. package/dist/react-native/client/Item/index.d.ts +1 -1
  1147. package/dist/react-native/client/Item/index.d.ts.map +1 -1
  1148. package/dist/react-native/client/Item/index.js.map +1 -1
  1149. package/dist/react-native/client/Offer/index.d.ts +1 -1
  1150. package/dist/react-native/client/Offer/index.d.ts.map +1 -1
  1151. package/dist/react-native/client/Offer/index.js.map +1 -1
  1152. package/dist/react-native/client/Permission/index.d.ts +2 -2
  1153. package/dist/react-native/client/Permission/index.d.ts.map +1 -1
  1154. package/dist/react-native/client/Permission/index.js.map +1 -1
  1155. package/dist/react-native/client/StoredProcedure/index.d.ts +1 -1
  1156. package/dist/react-native/client/StoredProcedure/index.d.ts.map +1 -1
  1157. package/dist/react-native/client/StoredProcedure/index.js.map +1 -1
  1158. package/dist/react-native/client/Trigger/index.d.ts +1 -1
  1159. package/dist/react-native/client/Trigger/index.d.ts.map +1 -1
  1160. package/dist/react-native/client/Trigger/index.js.map +1 -1
  1161. package/dist/react-native/client/User/index.d.ts +1 -1
  1162. package/dist/react-native/client/User/index.d.ts.map +1 -1
  1163. package/dist/react-native/client/User/index.js.map +1 -1
  1164. package/dist/react-native/client/UserDefinedFunction/index.d.ts +1 -1
  1165. package/dist/react-native/client/UserDefinedFunction/index.d.ts.map +1 -1
  1166. package/dist/react-native/client/UserDefinedFunction/index.js.map +1 -1
  1167. package/dist/react-native/client/index.d.ts +1 -1
  1168. package/dist/react-native/client/index.d.ts.map +1 -1
  1169. package/dist/react-native/client/index.js +0 -1
  1170. package/dist/react-native/client/index.js.map +1 -1
  1171. package/dist/react-native/common/constants.js +1 -1
  1172. package/dist/react-native/common/constants.js.map +1 -1
  1173. package/dist/react-native/common/helper.d.ts +4 -4
  1174. package/dist/react-native/common/helper.d.ts.map +1 -1
  1175. package/dist/react-native/common/helper.js.map +1 -1
  1176. package/dist/react-native/common/platform.d.ts +1 -1
  1177. package/dist/react-native/common/platform.d.ts.map +1 -1
  1178. package/dist/react-native/common/platform.js.map +1 -1
  1179. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1180. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1181. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1182. package/dist/react-native/documents/index.d.ts +4 -4
  1183. package/dist/react-native/documents/index.d.ts.map +1 -1
  1184. package/dist/react-native/documents/index.js +0 -4
  1185. package/dist/react-native/documents/index.js.map +1 -1
  1186. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1187. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1188. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1189. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1190. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1191. package/dist/react-native/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1192. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1193. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1194. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1195. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1196. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1197. package/dist/react-native/encryption/ClientEncryptionKey/index.js.map +1 -1
  1198. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1199. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1200. package/dist/react-native/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1201. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1202. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1203. package/dist/react-native/encryption/EncryptionQueryBuilder.js.map +1 -1
  1204. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1205. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1206. package/dist/react-native/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1207. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1208. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1209. package/dist/react-native/encryption/Serializers/FloatSerializer.js.map +1 -1
  1210. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts +1 -1
  1211. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1212. package/dist/react-native/encryption/Serializers/StringSerializer.js.map +1 -1
  1213. package/dist/react-native/encryption/Serializers/index.d.ts +1 -1
  1214. package/dist/react-native/encryption/Serializers/index.d.ts.map +1 -1
  1215. package/dist/react-native/encryption/Serializers/index.js.map +1 -1
  1216. package/dist/react-native/encryption/index.d.ts +5 -5
  1217. package/dist/react-native/encryption/index.d.ts.map +1 -1
  1218. package/dist/react-native/encryption/index.js.map +1 -1
  1219. package/dist/react-native/globalPartitionEndpointManager.d.ts +2 -1
  1220. package/dist/react-native/globalPartitionEndpointManager.d.ts.map +1 -1
  1221. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -1
  1222. package/dist/react-native/index.d.ts +16 -16
  1223. package/dist/react-native/index.d.ts.map +1 -1
  1224. package/dist/react-native/index.js +1 -1
  1225. package/dist/react-native/index.js.map +1 -1
  1226. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1227. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1228. package/dist/react-native/queryExecutionContext/Aggregators/index.js.map +1 -1
  1229. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1230. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1231. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1232. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1233. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1234. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1235. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1236. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1237. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +13 -12
  1238. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1239. package/dist/react-native/queryExecutionContext/index.d.ts +2 -2
  1240. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  1241. package/dist/react-native/queryExecutionContext/index.js +0 -2
  1242. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  1243. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1244. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1245. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1246. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1247. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1248. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1249. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1250. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1251. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1252. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1253. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1254. package/dist/react-native/request/hybridSearchQueryResult.d.ts +1 -1
  1255. package/dist/react-native/request/hybridSearchQueryResult.d.ts.map +1 -1
  1256. package/dist/react-native/request/hybridSearchQueryResult.js.map +1 -1
  1257. package/dist/react-native/request/index.d.ts +8 -8
  1258. package/dist/react-native/request/index.d.ts.map +1 -1
  1259. package/dist/react-native/request/index.js +0 -1
  1260. package/dist/react-native/request/index.js.map +1 -1
  1261. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1262. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1263. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1264. package/dist/react-native/retry/index.d.ts +1 -1
  1265. package/dist/react-native/retry/index.d.ts.map +1 -1
  1266. package/dist/react-native/retry/index.js +0 -3
  1267. package/dist/react-native/retry/index.js.map +1 -1
  1268. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1269. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1270. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1271. package/dist/react-native/utils/globalCrypto.d.ts +1 -1
  1272. package/dist/react-native/utils/globalCrypto.d.ts.map +1 -0
  1273. package/dist/react-native/utils/globalCrypto.js +1 -1
  1274. package/dist/react-native/utils/globalCrypto.js.map +1 -0
  1275. package/dist/react-native/utils/hashing/hash.d.ts +1 -1
  1276. package/dist/react-native/utils/hashing/hash.d.ts.map +1 -1
  1277. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  1278. package/package.json +6 -23
  1279. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.d.mts.map +0 -1
  1280. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.mjs.map +0 -1
  1281. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.d.mts.map +0 -1
  1282. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.mjs.map +0 -1
  1283. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.d.mts.map +0 -1
  1284. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.mjs.map +0 -1
  1285. package/dist/browser/request/defaultAgent-browser.d.mts.map +0 -1
  1286. package/dist/browser/request/defaultAgent-browser.mjs.map +0 -1
  1287. package/dist/browser/utils/atob-browser.d.mts.map +0 -1
  1288. package/dist/browser/utils/atob-browser.mjs.map +0 -1
  1289. package/dist/browser/utils/digest-browser.d.mts.map +0 -1
  1290. package/dist/browser/utils/digest-browser.mjs.map +0 -1
  1291. package/dist/browser/utils/envUtils-browser.d.mts.map +0 -1
  1292. package/dist/browser/utils/envUtils-browser.mjs.map +0 -1
  1293. package/dist/browser/utils/hmac-browser.d.mts.map +0 -1
  1294. package/dist/browser/utils/hmac-browser.mjs.map +0 -1
  1295. package/dist/react-native/utils/globalCrypto-react-native.d.mts.map +0 -1
  1296. package/dist/react-native/utils/globalCrypto-react-native.mjs.map +0 -1
@@ -1,138 +1,153 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PartitionKeyRangeFailoverInfo = void 0;
4
- const tslib_1 = require("tslib");
5
- // Copyright (c) Microsoft Corporation.
6
- // Licensed under the MIT License.
7
- const index_js_1 = require("./index.js");
8
- const semaphore_1 = tslib_1.__importDefault(require("semaphore"));
9
- /**
10
- * @hidden
11
- * This class manages the failover information for partition key ranges in Cosmos DB.
12
- * It tracks the current endpoint, failed endpoints, and the number of consecutive read/write request failures.
13
- */
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var PartitionKeyRangeFailoverInfo_exports = {};
29
+ __export(PartitionKeyRangeFailoverInfo_exports, {
30
+ PartitionKeyRangeFailoverInfo: () => PartitionKeyRangeFailoverInfo
31
+ });
32
+ module.exports = __toCommonJS(PartitionKeyRangeFailoverInfo_exports);
33
+ var import_index = require("./index.js");
34
+ var import_semaphore = __toESM(require("semaphore"));
14
35
  class PartitionKeyRangeFailoverInfo {
15
- failedEndPoints = [];
16
- currentEndPoint;
17
- consecutiveReadRequestFailureCount = 0;
18
- consecutiveWriteRequestFailureCount = 0;
19
- firstRequestFailureTime = Date.now();
20
- lastRequestFailureTime = Date.now();
21
- failureCountSemaphore;
22
- tryMoveNextLocationSemaphore;
23
- /**
24
- * @internal
25
- */
26
- constructor(currentEndpoint) {
27
- this.currentEndPoint = currentEndpoint;
28
- this.failureCountSemaphore = (0, semaphore_1.default)(1);
29
- this.tryMoveNextLocationSemaphore = (0, semaphore_1.default)(1);
30
- }
31
- /**
32
- * Checks if the circuit breaker can trigger a partition failover based on the failure counts.
33
- * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.
34
- */
35
- async canCircuitBreakerTriggerPartitionFailOver(isReadOnlyRequest) {
36
- const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } = await this.snapshotConsecutiveRequestFailureCount();
37
- return isReadOnlyRequest
38
- ? consecutiveReadRequestFailureCount > index_js_1.Constants.ReadRequestFailureCountThreshold
39
- : consecutiveWriteRequestFailureCount > index_js_1.Constants.WriteRequestFailureCountThreshold;
40
- }
41
- /**
42
- * Increments the failure counts for read or write requests and updates the timestamps.
43
- * If the time since the last failure exceeds the reset window, it resets the failure counts.
44
- */
45
- async incrementRequestFailureCounts(isReadOnlyRequest, currentTimeInMilliseconds) {
46
- return new Promise((resolve, reject) => {
47
- this.failureCountSemaphore.take(async () => {
48
- try {
49
- const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();
50
- if (currentTimeInMilliseconds - lastRequestFailureTime >
51
- index_js_1.Constants.ConsecutiveFailureCountResetIntervalInMS) {
52
- this.consecutiveReadRequestFailureCount = 0;
53
- this.consecutiveWriteRequestFailureCount = 0;
54
- }
55
- if (isReadOnlyRequest) {
56
- this.consecutiveReadRequestFailureCount++;
57
- }
58
- else {
59
- this.consecutiveWriteRequestFailureCount++;
60
- }
61
- this.lastRequestFailureTime = currentTimeInMilliseconds;
62
- return resolve();
63
- }
64
- catch (error) {
65
- reject(error);
66
- }
67
- finally {
68
- // Release the semaphore lock
69
- this.failureCountSemaphore.leave();
70
- }
71
- });
72
- });
73
- }
74
- /**
75
- * Returns a snapshot of the first and last request failure timestamps.
76
- * This method is used to retrieve the current state of failure timestamps without modifying them.
77
- */
78
- async snapshotPartitionFailoverTimestamps() {
79
- return {
80
- firstRequestFailureTime: this.firstRequestFailureTime,
81
- lastRequestFailureTime: this.lastRequestFailureTime,
82
- };
83
- }
84
- /**
85
- * Attempts to move to the next available location for the partition key range.
86
- * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint
87
- * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint
88
- * and returns true. If no new endpoint is found, it returns false.
89
- */
90
- async tryMoveNextLocation(endPoints, failedEndPoint, diagnosticNode, partitionKeyRangeId) {
91
- if (failedEndPoint !== this.currentEndPoint) {
92
- return true;
36
+ failedEndPoints = [];
37
+ currentEndPoint;
38
+ consecutiveReadRequestFailureCount = 0;
39
+ consecutiveWriteRequestFailureCount = 0;
40
+ firstRequestFailureTime = Date.now();
41
+ lastRequestFailureTime = Date.now();
42
+ failureCountSemaphore;
43
+ tryMoveNextLocationSemaphore;
44
+ /**
45
+ * @internal
46
+ */
47
+ constructor(currentEndpoint) {
48
+ this.currentEndPoint = currentEndpoint;
49
+ this.failureCountSemaphore = (0, import_semaphore.default)(1);
50
+ this.tryMoveNextLocationSemaphore = (0, import_semaphore.default)(1);
51
+ }
52
+ /**
53
+ * Checks if the circuit breaker can trigger a partition failover based on the failure counts.
54
+ * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.
55
+ */
56
+ async canCircuitBreakerTriggerPartitionFailOver(isReadOnlyRequest) {
57
+ const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } = await this.snapshotConsecutiveRequestFailureCount();
58
+ return isReadOnlyRequest ? consecutiveReadRequestFailureCount > import_index.Constants.ReadRequestFailureCountThreshold : consecutiveWriteRequestFailureCount > import_index.Constants.WriteRequestFailureCountThreshold;
59
+ }
60
+ /**
61
+ * Increments the failure counts for read or write requests and updates the timestamps.
62
+ * If the time since the last failure exceeds the reset window, it resets the failure counts.
63
+ */
64
+ async incrementRequestFailureCounts(isReadOnlyRequest, currentTimeInMilliseconds) {
65
+ return new Promise((resolve, reject) => {
66
+ this.failureCountSemaphore.take(async () => {
67
+ try {
68
+ const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();
69
+ if (currentTimeInMilliseconds - lastRequestFailureTime > import_index.Constants.ConsecutiveFailureCountResetIntervalInMS) {
70
+ this.consecutiveReadRequestFailureCount = 0;
71
+ this.consecutiveWriteRequestFailureCount = 0;
72
+ }
73
+ if (isReadOnlyRequest) {
74
+ this.consecutiveReadRequestFailureCount++;
75
+ } else {
76
+ this.consecutiveWriteRequestFailureCount++;
77
+ }
78
+ this.lastRequestFailureTime = currentTimeInMilliseconds;
79
+ return resolve();
80
+ } catch (error) {
81
+ reject(error);
82
+ } finally {
83
+ this.failureCountSemaphore.leave();
93
84
  }
94
- return new Promise((resolve, reject) => {
95
- this.tryMoveNextLocationSemaphore.take(() => {
96
- try {
97
- for (const endpoint of endPoints) {
98
- if (this.currentEndPoint === endpoint) {
99
- continue;
100
- }
101
- if (this.failedEndPoints.includes(endpoint)) {
102
- continue;
103
- }
104
- this.failedEndPoints.push(failedEndPoint);
105
- this.currentEndPoint = endpoint;
106
- return resolve(true);
107
- }
108
- diagnosticNode.addData({
109
- partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`,
110
- });
111
- return resolve(false);
112
- }
113
- catch (err) {
114
- reject(err);
115
- }
116
- finally {
117
- this.tryMoveNextLocationSemaphore.leave();
118
- }
119
- });
120
- });
121
- }
122
- /** Returns the current endpoint being used for partition key range operations.*/
123
- getCurrentEndPoint() {
124
- return this.currentEndPoint;
125
- }
126
- /**
127
- * Returns a snapshot of the current consecutive request failure counts for read and write requests.
128
- * This method is used to retrieve the current state of failure counts without modifying them.
129
- */
130
- async snapshotConsecutiveRequestFailureCount() {
131
- return {
132
- consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,
133
- consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount,
134
- };
85
+ });
86
+ });
87
+ }
88
+ /**
89
+ * Returns a snapshot of the first and last request failure timestamps.
90
+ * This method is used to retrieve the current state of failure timestamps without modifying them.
91
+ */
92
+ async snapshotPartitionFailoverTimestamps() {
93
+ return {
94
+ firstRequestFailureTime: this.firstRequestFailureTime,
95
+ lastRequestFailureTime: this.lastRequestFailureTime
96
+ };
97
+ }
98
+ /**
99
+ * Attempts to move to the next available location for the partition key range.
100
+ * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint
101
+ * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint
102
+ * and returns true. If no new endpoint is found, it returns false.
103
+ */
104
+ async tryMoveNextLocation(endPoints, failedEndPoint, diagnosticNode, partitionKeyRangeId) {
105
+ if (failedEndPoint !== this.currentEndPoint) {
106
+ return true;
135
107
  }
108
+ return new Promise((resolve, reject) => {
109
+ this.tryMoveNextLocationSemaphore.take(() => {
110
+ try {
111
+ for (const endpoint of endPoints) {
112
+ if (this.currentEndPoint === endpoint) {
113
+ continue;
114
+ }
115
+ if (this.failedEndPoints.includes(endpoint)) {
116
+ continue;
117
+ }
118
+ this.failedEndPoints.push(failedEndPoint);
119
+ this.currentEndPoint = endpoint;
120
+ return resolve(true);
121
+ }
122
+ diagnosticNode.addData({
123
+ partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`
124
+ });
125
+ return resolve(false);
126
+ } catch (err) {
127
+ reject(err);
128
+ } finally {
129
+ this.tryMoveNextLocationSemaphore.leave();
130
+ }
131
+ });
132
+ });
133
+ }
134
+ /** Returns the current endpoint being used for partition key range operations.*/
135
+ getCurrentEndPoint() {
136
+ return this.currentEndPoint;
137
+ }
138
+ /**
139
+ * Returns a snapshot of the current consecutive request failure counts for read and write requests.
140
+ * This method is used to retrieve the current state of failure counts without modifying them.
141
+ */
142
+ async snapshotConsecutiveRequestFailureCount() {
143
+ return {
144
+ consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,
145
+ consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount
146
+ };
147
+ }
136
148
  }
137
- exports.PartitionKeyRangeFailoverInfo = PartitionKeyRangeFailoverInfo;
138
- //# sourceMappingURL=PartitionKeyRangeFailoverInfo.js.map
149
+ // Annotate the CommonJS export names for ESM import in node:
150
+ 0 && (module.exports = {
151
+ PartitionKeyRangeFailoverInfo
152
+ });
153
+ //# sourceMappingURL=PartitionKeyRangeFailoverInfo.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"PartitionKeyRangeFailoverInfo.js","sourceRoot":"","sources":["../../src/PartitionKeyRangeFailoverInfo.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,yCAA+D;AAC/D,kEAAkC;AAElC;;;;GAIG;AACH,MAAa,6BAA6B;IAChC,eAAe,GAAa,EAAE,CAAC;IAC/B,eAAe,CAAS;IAExB,kCAAkC,GAAW,CAAC,CAAC;IAC/C,mCAAmC,GAAW,CAAC,CAAC;IAChD,uBAAuB,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7C,sBAAsB,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAE5C,qBAAqB,CAAsB;IAC3C,4BAA4B,CAAsB;IAE1D;;OAEG;IACH,YAAY,eAAuB;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,IAAA,mBAAS,EAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,4BAA4B,GAAG,IAAA,mBAAS,EAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,yCAAyC,CACpD,iBAA0B;QAE1B,MAAM,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,GAC/E,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC;QAEtD,OAAO,iBAAiB;YACtB,CAAC,CAAC,kCAAkC,GAAG,oBAAS,CAAC,gCAAgC;YACjF,CAAC,CAAC,mCAAmC,GAAG,oBAAS,CAAC,iCAAiC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,6BAA6B,CACxC,iBAA0B,EAC1B,yBAAiC;QAEjC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACzC,IAAI,CAAC;oBACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;oBAEpF,IACE,yBAAyB,GAAG,sBAAsB;wBAClD,oBAAS,CAAC,wCAAwC,EAClD,CAAC;wBACD,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC;wBAC5C,IAAI,CAAC,mCAAmC,GAAG,CAAC,CAAC;oBAC/C,CAAC;oBAED,IAAI,iBAAiB,EAAE,CAAC;wBACtB,IAAI,CAAC,kCAAkC,EAAE,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,mCAAmC,EAAE,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;oBACxD,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;wBAAS,CAAC;oBACT,6BAA6B;oBAC7B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mCAAmC;QAI9C,OAAO;YACL,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAA4B,EAC5B,cAAsB,EACtB,cAAsC,EACtC,mBAA2B;QAE3B,IAAI,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,IAAI,CAAC;oBACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;4BACtC,SAAS;wBACX,CAAC;wBAED,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5C,SAAS;wBACX,CAAC;wBAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC1C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;wBAChC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBACD,cAAc,CAAC,OAAO,CAAC;wBACrB,6BAA6B,EAAE,wBAAwB,mBAAmB,sBAAsB,IAAI,CAAC,eAAe,kBAAkB,IAAI,CAAC,eAAe,EAAE;qBAC7J,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IAC1E,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sCAAsC;QAIlD,OAAO;YACL,kCAAkC,EAAE,IAAI,CAAC,kCAAkC;YAC3E,mCAAmC,EAAE,IAAI,CAAC,mCAAmC;SAC9E,CAAC;IACJ,CAAC;CACF;AAtJD,sEAsJC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Constants, DiagnosticNodeInternal } from \"./index.js\";\nimport semaphore from \"semaphore\";\n\n/**\n * @hidden\n * This class manages the failover information for partition key ranges in Cosmos DB.\n * It tracks the current endpoint, failed endpoints, and the number of consecutive read/write request failures.\n */\nexport class PartitionKeyRangeFailoverInfo {\n private failedEndPoints: string[] = [];\n private currentEndPoint: string;\n\n private consecutiveReadRequestFailureCount: number = 0;\n private consecutiveWriteRequestFailureCount: number = 0;\n private firstRequestFailureTime: number = Date.now();\n private lastRequestFailureTime: number = Date.now();\n\n private failureCountSemaphore: semaphore.Semaphore;\n private tryMoveNextLocationSemaphore: semaphore.Semaphore;\n\n /**\n * @internal\n */\n constructor(currentEndpoint: string) {\n this.currentEndPoint = currentEndpoint;\n this.failureCountSemaphore = semaphore(1);\n this.tryMoveNextLocationSemaphore = semaphore(1);\n }\n\n /**\n * Checks if the circuit breaker can trigger a partition failover based on the failure counts.\n * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.\n */\n public async canCircuitBreakerTriggerPartitionFailOver(\n isReadOnlyRequest: boolean,\n ): Promise<boolean> {\n const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } =\n await this.snapshotConsecutiveRequestFailureCount();\n\n return isReadOnlyRequest\n ? consecutiveReadRequestFailureCount > Constants.ReadRequestFailureCountThreshold\n : consecutiveWriteRequestFailureCount > Constants.WriteRequestFailureCountThreshold;\n }\n\n /**\n * Increments the failure counts for read or write requests and updates the timestamps.\n * If the time since the last failure exceeds the reset window, it resets the failure counts.\n */\n public async incrementRequestFailureCounts(\n isReadOnlyRequest: boolean,\n currentTimeInMilliseconds: number,\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.failureCountSemaphore.take(async () => {\n try {\n const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();\n\n if (\n currentTimeInMilliseconds - lastRequestFailureTime >\n Constants.ConsecutiveFailureCountResetIntervalInMS\n ) {\n this.consecutiveReadRequestFailureCount = 0;\n this.consecutiveWriteRequestFailureCount = 0;\n }\n\n if (isReadOnlyRequest) {\n this.consecutiveReadRequestFailureCount++;\n } else {\n this.consecutiveWriteRequestFailureCount++;\n }\n this.lastRequestFailureTime = currentTimeInMilliseconds;\n return resolve();\n } catch (error) {\n reject(error);\n } finally {\n // Release the semaphore lock\n this.failureCountSemaphore.leave();\n }\n });\n });\n }\n\n /**\n * Returns a snapshot of the first and last request failure timestamps.\n * This method is used to retrieve the current state of failure timestamps without modifying them.\n */\n public async snapshotPartitionFailoverTimestamps(): Promise<{\n firstRequestFailureTime: number;\n lastRequestFailureTime: number;\n }> {\n return {\n firstRequestFailureTime: this.firstRequestFailureTime,\n lastRequestFailureTime: this.lastRequestFailureTime,\n };\n }\n\n /**\n * Attempts to move to the next available location for the partition key range.\n * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint\n * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint\n * and returns true. If no new endpoint is found, it returns false.\n */\n public async tryMoveNextLocation(\n endPoints: readonly string[],\n failedEndPoint: string,\n diagnosticNode: DiagnosticNodeInternal,\n partitionKeyRangeId: string,\n ): Promise<boolean> {\n if (failedEndPoint !== this.currentEndPoint) {\n return true;\n }\n return new Promise((resolve, reject) => {\n this.tryMoveNextLocationSemaphore.take(() => {\n try {\n for (const endpoint of endPoints) {\n if (this.currentEndPoint === endpoint) {\n continue;\n }\n\n if (this.failedEndPoints.includes(endpoint)) {\n continue;\n }\n\n this.failedEndPoints.push(failedEndPoint);\n this.currentEndPoint = endpoint;\n return resolve(true);\n }\n diagnosticNode.addData({\n partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`,\n });\n return resolve(false);\n } catch (err) {\n reject(err);\n } finally {\n this.tryMoveNextLocationSemaphore.leave();\n }\n });\n });\n }\n\n /** Returns the current endpoint being used for partition key range operations.*/\n public getCurrentEndPoint(): string {\n return this.currentEndPoint;\n }\n\n /**\n * Returns a snapshot of the current consecutive request failure counts for read and write requests.\n * This method is used to retrieve the current state of failure counts without modifying them.\n */\n private async snapshotConsecutiveRequestFailureCount(): Promise<{\n consecutiveReadRequestFailureCount: number;\n consecutiveWriteRequestFailureCount: number;\n }> {\n return {\n consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,\n consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount,\n };\n }\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/PartitionKeyRangeFailoverInfo.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"./index.js\";\nimport { Constants } from \"./index.js\";\nimport semaphore from \"semaphore\";\n\n/**\n * @hidden\n * This class manages the failover information for partition key ranges in Cosmos DB.\n * It tracks the current endpoint, failed endpoints, and the number of consecutive read/write request failures.\n */\nexport class PartitionKeyRangeFailoverInfo {\n private failedEndPoints: string[] = [];\n private currentEndPoint: string;\n\n private consecutiveReadRequestFailureCount: number = 0;\n private consecutiveWriteRequestFailureCount: number = 0;\n private firstRequestFailureTime: number = Date.now();\n private lastRequestFailureTime: number = Date.now();\n\n private failureCountSemaphore: semaphore.Semaphore;\n private tryMoveNextLocationSemaphore: semaphore.Semaphore;\n\n /**\n * @internal\n */\n constructor(currentEndpoint: string) {\n this.currentEndPoint = currentEndpoint;\n this.failureCountSemaphore = semaphore(1);\n this.tryMoveNextLocationSemaphore = semaphore(1);\n }\n\n /**\n * Checks if the circuit breaker can trigger a partition failover based on the failure counts.\n * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.\n */\n public async canCircuitBreakerTriggerPartitionFailOver(\n isReadOnlyRequest: boolean,\n ): Promise<boolean> {\n const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } =\n await this.snapshotConsecutiveRequestFailureCount();\n\n return isReadOnlyRequest\n ? consecutiveReadRequestFailureCount > Constants.ReadRequestFailureCountThreshold\n : consecutiveWriteRequestFailureCount > Constants.WriteRequestFailureCountThreshold;\n }\n\n /**\n * Increments the failure counts for read or write requests and updates the timestamps.\n * If the time since the last failure exceeds the reset window, it resets the failure counts.\n */\n public async incrementRequestFailureCounts(\n isReadOnlyRequest: boolean,\n currentTimeInMilliseconds: number,\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.failureCountSemaphore.take(async () => {\n try {\n const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();\n\n if (\n currentTimeInMilliseconds - lastRequestFailureTime >\n Constants.ConsecutiveFailureCountResetIntervalInMS\n ) {\n this.consecutiveReadRequestFailureCount = 0;\n this.consecutiveWriteRequestFailureCount = 0;\n }\n\n if (isReadOnlyRequest) {\n this.consecutiveReadRequestFailureCount++;\n } else {\n this.consecutiveWriteRequestFailureCount++;\n }\n this.lastRequestFailureTime = currentTimeInMilliseconds;\n return resolve();\n } catch (error) {\n reject(error);\n } finally {\n // Release the semaphore lock\n this.failureCountSemaphore.leave();\n }\n });\n });\n }\n\n /**\n * Returns a snapshot of the first and last request failure timestamps.\n * This method is used to retrieve the current state of failure timestamps without modifying them.\n */\n public async snapshotPartitionFailoverTimestamps(): Promise<{\n firstRequestFailureTime: number;\n lastRequestFailureTime: number;\n }> {\n return {\n firstRequestFailureTime: this.firstRequestFailureTime,\n lastRequestFailureTime: this.lastRequestFailureTime,\n };\n }\n\n /**\n * Attempts to move to the next available location for the partition key range.\n * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint\n * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint\n * and returns true. If no new endpoint is found, it returns false.\n */\n public async tryMoveNextLocation(\n endPoints: readonly string[],\n failedEndPoint: string,\n diagnosticNode: DiagnosticNodeInternal,\n partitionKeyRangeId: string,\n ): Promise<boolean> {\n if (failedEndPoint !== this.currentEndPoint) {\n return true;\n }\n return new Promise((resolve, reject) => {\n this.tryMoveNextLocationSemaphore.take(() => {\n try {\n for (const endpoint of endPoints) {\n if (this.currentEndPoint === endpoint) {\n continue;\n }\n\n if (this.failedEndPoints.includes(endpoint)) {\n continue;\n }\n\n this.failedEndPoints.push(failedEndPoint);\n this.currentEndPoint = endpoint;\n return resolve(true);\n }\n diagnosticNode.addData({\n partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`,\n });\n return resolve(false);\n } catch (err) {\n reject(err);\n } finally {\n this.tryMoveNextLocationSemaphore.leave();\n }\n });\n });\n }\n\n /** Returns the current endpoint being used for partition key range operations.*/\n public getCurrentEndPoint(): string {\n return this.currentEndPoint;\n }\n\n /**\n * Returns a snapshot of the current consecutive request failure counts for read and write requests.\n * This method is used to retrieve the current state of failure counts without modifying them.\n */\n private async snapshotConsecutiveRequestFailureCount(): Promise<{\n consecutiveReadRequestFailureCount: number;\n consecutiveWriteRequestFailureCount: number;\n }> {\n return {\n consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,\n consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount,\n };\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAC1B,uBAAsB;AAOf,MAAM,8BAA8B;AAAA,EACjC,kBAA4B,CAAC;AAAA,EAC7B;AAAA,EAEA,qCAA6C;AAAA,EAC7C,sCAA8C;AAAA,EAC9C,0BAAkC,KAAK,IAAI;AAAA,EAC3C,yBAAiC,KAAK,IAAI;AAAA,EAE1C;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKR,YAAY,iBAAyB;AACnC,SAAK,kBAAkB;AACvB,SAAK,4BAAwB,iBAAAA,SAAU,CAAC;AACxC,SAAK,mCAA+B,iBAAAA,SAAU,CAAC;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,0CACX,mBACkB;AAClB,UAAM,EAAE,oCAAoC,oCAAoC,IAC9E,MAAM,KAAK,uCAAuC;AAEpD,WAAO,oBACH,qCAAqC,uBAAU,mCAC/C,sCAAsC,uBAAU;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,8BACX,mBACA,2BACe;AACf,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,WAAK,sBAAsB,KAAK,YAAY;AAC1C,YAAI;AACF,gBAAM,EAAE,uBAAuB,IAAI,MAAM,KAAK,oCAAoC;AAElF,cACE,4BAA4B,yBAC5B,uBAAU,0CACV;AACA,iBAAK,qCAAqC;AAC1C,iBAAK,sCAAsC;AAAA,UAC7C;AAEA,cAAI,mBAAmB;AACrB,iBAAK;AAAA,UACP,OAAO;AACL,iBAAK;AAAA,UACP;AACA,eAAK,yBAAyB;AAC9B,iBAAO,QAAQ;AAAA,QACjB,SAAS,OAAO;AACd,iBAAO,KAAK;AAAA,QACd,UAAE;AAEA,eAAK,sBAAsB,MAAM;AAAA,QACnC;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,sCAGV;AACD,WAAO;AAAA,MACL,yBAAyB,KAAK;AAAA,MAC9B,wBAAwB,KAAK;AAAA,IAC/B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAa,oBACX,WACA,gBACA,gBACA,qBACkB;AAClB,QAAI,mBAAmB,KAAK,iBAAiB;AAC3C,aAAO;AAAA,IACT;AACA,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,WAAK,6BAA6B,KAAK,MAAM;AAC3C,YAAI;AACF,qBAAW,YAAY,WAAW;AAChC,gBAAI,KAAK,oBAAoB,UAAU;AACrC;AAAA,YACF;AAEA,gBAAI,KAAK,gBAAgB,SAAS,QAAQ,GAAG;AAC3C;AAAA,YACF;AAEA,iBAAK,gBAAgB,KAAK,cAAc;AACxC,iBAAK,kBAAkB;AACvB,mBAAO,QAAQ,IAAI;AAAA,UACrB;AACA,yBAAe,QAAQ;AAAA,YACrB,+BAA+B,wBAAwB,mBAAmB,sBAAsB,KAAK,eAAe,kBAAkB,KAAK,eAAe;AAAA,UAC5J,CAAC;AACD,iBAAO,QAAQ,KAAK;AAAA,QACtB,SAAS,KAAK;AACZ,iBAAO,GAAG;AAAA,QACZ,UAAE;AACA,eAAK,6BAA6B,MAAM;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA,EAGO,qBAA6B;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,yCAGX;AACD,WAAO;AAAA,MACL,oCAAoC,KAAK;AAAA,MACzC,qCAAqC,KAAK;AAAA,IAC5C;AAAA,EACF;AACF;",
6
+ "names": ["semaphore"]
7
+ }
@@ -1,92 +1,100 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setAuthorizationHeader = setAuthorizationHeader;
4
- exports.setAuthorizationTokenHeaderUsingMasterKey = setAuthorizationTokenHeaderUsingMasterKey;
5
- exports.getAuthorizationTokenUsingResourceTokens = getAuthorizationTokenUsingResourceTokens;
6
- // Copyright (c) Microsoft Corporation.
7
- // Licensed under the MIT License.
8
- const headers_js_1 = require("./utils/headers.js");
9
- const index_js_1 = require("./common/index.js");
10
- /**
11
- * @hidden
12
- */
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var auth_exports = {};
19
+ __export(auth_exports, {
20
+ getAuthorizationTokenUsingResourceTokens: () => getAuthorizationTokenUsingResourceTokens,
21
+ setAuthorizationHeader: () => setAuthorizationHeader,
22
+ setAuthorizationTokenHeaderUsingMasterKey: () => setAuthorizationTokenHeaderUsingMasterKey
23
+ });
24
+ module.exports = __toCommonJS(auth_exports);
25
+ var import_headers = require("./utils/headers.js");
26
+ var import_common = require("./common/index.js");
13
27
  async function setAuthorizationHeader(clientOptions, verb, path, resourceId, resourceType, headers) {
14
- if (clientOptions.permissionFeed) {
15
- clientOptions.resourceTokens = {};
16
- for (const permission of clientOptions.permissionFeed) {
17
- const id = (0, index_js_1.getResourceIdFromPath)(permission.resource);
18
- if (!id) {
19
- throw new Error(`authorization error: ${id} \
20
- is an invalid resourceId in permissionFeed`);
21
- }
22
- clientOptions.resourceTokens[id] = permission._token; // TODO: any
23
- }
24
- }
25
- if (clientOptions.key) {
26
- await setAuthorizationTokenHeaderUsingMasterKey(verb, resourceId, resourceType, headers, clientOptions.key);
27
- }
28
- else if (clientOptions.resourceTokens) {
29
- headers[index_js_1.Constants.HttpHeaders.Authorization] = encodeURIComponent(getAuthorizationTokenUsingResourceTokens(clientOptions.resourceTokens, path, resourceId));
30
- }
31
- else if (clientOptions.tokenProvider) {
32
- headers[index_js_1.Constants.HttpHeaders.Authorization] = encodeURIComponent(await clientOptions.tokenProvider({ verb, path, resourceId, resourceType, headers }));
28
+ if (clientOptions.permissionFeed) {
29
+ clientOptions.resourceTokens = {};
30
+ for (const permission of clientOptions.permissionFeed) {
31
+ const id = (0, import_common.getResourceIdFromPath)(permission.resource);
32
+ if (!id) {
33
+ throw new Error(`authorization error: ${id} is an invalid resourceId in permissionFeed`);
34
+ }
35
+ clientOptions.resourceTokens[id] = permission._token;
33
36
  }
37
+ }
38
+ if (clientOptions.key) {
39
+ await setAuthorizationTokenHeaderUsingMasterKey(
40
+ verb,
41
+ resourceId,
42
+ resourceType,
43
+ headers,
44
+ clientOptions.key
45
+ );
46
+ } else if (clientOptions.resourceTokens) {
47
+ headers[import_common.Constants.HttpHeaders.Authorization] = encodeURIComponent(
48
+ getAuthorizationTokenUsingResourceTokens(clientOptions.resourceTokens, path, resourceId)
49
+ );
50
+ } else if (clientOptions.tokenProvider) {
51
+ headers[import_common.Constants.HttpHeaders.Authorization] = encodeURIComponent(
52
+ await clientOptions.tokenProvider({ verb, path, resourceId, resourceType, headers })
53
+ );
54
+ }
34
55
  }
35
- /**
36
- * The default function for setting header token using the masterKey
37
- * @hidden
38
- */
39
56
  async function setAuthorizationTokenHeaderUsingMasterKey(verb, resourceId, resourceType, headers, masterKey) {
40
- // TODO This should live in cosmos-sign
41
- if (resourceType === index_js_1.ResourceType.offer) {
42
- resourceId = resourceId && resourceId.toLowerCase();
43
- }
44
- headers = Object.assign(headers, await (0, headers_js_1.generateHeaders)(masterKey, verb, resourceType, resourceId));
57
+ if (resourceType === import_common.ResourceType.offer) {
58
+ resourceId = resourceId && resourceId.toLowerCase();
59
+ }
60
+ headers = Object.assign(
61
+ headers,
62
+ await (0, import_headers.generateHeaders)(masterKey, verb, resourceType, resourceId)
63
+ );
45
64
  }
46
- /**
47
- * @hidden
48
- */
49
- // TODO: Resource tokens
50
65
  function getAuthorizationTokenUsingResourceTokens(resourceTokens, path, resourceId) {
51
- if (resourceTokens && Object.keys(resourceTokens).length > 0) {
52
- // For database account access(through getDatabaseAccount API), path and resourceId are "",
53
- // so in this case we return the first token to be used for creating the auth header as the
54
- // service will accept any token in this case
55
- if (!path && !resourceId) {
56
- return resourceTokens[Object.keys(resourceTokens)[0]];
57
- }
58
- // If we have exact resource token for the path use it
59
- if (resourceId && resourceTokens[resourceId]) {
60
- return resourceTokens[resourceId];
61
- }
62
- // minimum valid path /dbs
63
- if (!path || path.length < 4) {
64
- // TODO: This should throw an error
65
- return null;
66
- }
67
- path = (0, index_js_1.trimSlashFromLeftAndRight)(path);
68
- const pathSegments = (path && path.split("/")) || [];
69
- // Item path
70
- if (pathSegments.length === 6) {
71
- // Look for a container token matching the item path
72
- const containerPath = pathSegments.slice(0, 4).map(decodeURIComponent).join("/");
73
- if (resourceTokens[containerPath]) {
74
- return resourceTokens[containerPath];
75
- }
76
- }
77
- // TODO remove in v4: This is legacy behavior that lets someone use a resource token pointing ONLY at an ID
78
- // It was used when _rid was exposed by the SDK, but now that we are using user provided ids it is not needed
79
- // However removing it now would be a breaking change
80
- // if it's an incomplete path like /dbs/db1/colls/, start from the parent resource
81
- let index = pathSegments.length % 2 === 0 ? pathSegments.length - 1 : pathSegments.length - 2;
82
- for (; index > 0; index -= 2) {
83
- const id = decodeURI(pathSegments[index]);
84
- if (resourceTokens[id]) {
85
- return resourceTokens[id];
86
- }
87
- }
66
+ if (resourceTokens && Object.keys(resourceTokens).length > 0) {
67
+ if (!path && !resourceId) {
68
+ return resourceTokens[Object.keys(resourceTokens)[0]];
69
+ }
70
+ if (resourceId && resourceTokens[resourceId]) {
71
+ return resourceTokens[resourceId];
72
+ }
73
+ if (!path || path.length < 4) {
74
+ return null;
75
+ }
76
+ path = (0, import_common.trimSlashFromLeftAndRight)(path);
77
+ const pathSegments = path && path.split("/") || [];
78
+ if (pathSegments.length === 6) {
79
+ const containerPath = pathSegments.slice(0, 4).map(decodeURIComponent).join("/");
80
+ if (resourceTokens[containerPath]) {
81
+ return resourceTokens[containerPath];
82
+ }
83
+ }
84
+ let index = pathSegments.length % 2 === 0 ? pathSegments.length - 1 : pathSegments.length - 2;
85
+ for (; index > 0; index -= 2) {
86
+ const id = decodeURI(pathSegments[index]);
87
+ if (resourceTokens[id]) {
88
+ return resourceTokens[id];
89
+ }
88
90
  }
89
- // TODO: This should throw an error
90
- return null;
91
+ }
92
+ return null;
91
93
  }
92
- //# sourceMappingURL=auth.js.map
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ getAuthorizationTokenUsingResourceTokens,
97
+ setAuthorizationHeader,
98
+ setAuthorizationTokenHeaderUsingMasterKey
99
+ });
100
+ //# sourceMappingURL=auth.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":";;AA2BA,wDAsCC;AAMD,8FAeC;AAMD,4FAmDC;AA/ID,uCAAuC;AACvC,kCAAkC;AAClC,mDAAqD;AAErD,gDAK2B;AAe3B;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,aAAkC,EAClC,IAAgB,EAChB,IAAY,EACZ,UAAkB,EAClB,YAA0B,EAC1B,OAAsB;IAEtB,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QACjC,aAAa,CAAC,cAAc,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,EAAE,GAAG,IAAA,gCAAqB,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE;qEACmB,CAAC,CAAC;YACjE,CAAC;YAED,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,GAAI,UAAkB,CAAC,MAAM,CAAC,CAAC,YAAY;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,yCAAyC,CAC7C,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,CAAC,GAAG,CAClB,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,CAAC,oBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAC/D,wCAAwC,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CACzF,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,oBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAC/D,MAAM,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yCAAyC,CAC7D,IAAgB,EAChB,UAAkB,EAClB,YAA0B,EAC1B,OAAsB,EACtB,SAAiB;IAEjB,uCAAuC;IACvC,IAAI,YAAY,KAAK,uBAAY,CAAC,KAAK,EAAE,CAAC;QACxC,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB,OAAO,EACP,MAAM,IAAA,4BAAe,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CACjE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,wBAAwB;AACxB,SAAgB,wCAAwC,CACtD,cAAgD,EAChD,IAAY,EACZ,UAAkB;IAElB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,2FAA2F;QAC3F,2FAA2F;QAC3F,6CAA6C;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,mCAAmC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,GAAG,IAAA,oCAAyB,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAErD,YAAY;QACZ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,oDAAoD;YACpD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,2GAA2G;QAC3G,6GAA6G;QAC7G,qDAAqD;QACrD,kFAAkF;QAClF,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,OAAO,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { generateHeaders } from \"./utils/headers.js\";\nimport type { HTTPMethod } from \"./common/index.js\";\nimport {\n Constants,\n getResourceIdFromPath,\n ResourceType,\n trimSlashFromLeftAndRight,\n} from \"./common/index.js\";\nimport type { CosmosClientOptions } from \"./CosmosClientOptions.js\";\nimport type { CosmosHeaders } from \"./queryExecutionContext/index.js\";\n\n/** @hidden */\nexport interface RequestInfo {\n verb: HTTPMethod;\n path: string;\n resourceId: string;\n resourceType: ResourceType;\n headers: CosmosHeaders;\n}\n\nexport type TokenProvider = (requestInfo: RequestInfo) => Promise<string>;\n\n/**\n * @hidden\n */\nexport async function setAuthorizationHeader(\n clientOptions: CosmosClientOptions,\n verb: HTTPMethod,\n path: string,\n resourceId: string,\n resourceType: ResourceType,\n headers: CosmosHeaders,\n): Promise<void> {\n if (clientOptions.permissionFeed) {\n clientOptions.resourceTokens = {};\n for (const permission of clientOptions.permissionFeed) {\n const id = getResourceIdFromPath(permission.resource);\n if (!id) {\n throw new Error(`authorization error: ${id} \\\n is an invalid resourceId in permissionFeed`);\n }\n\n clientOptions.resourceTokens[id] = (permission as any)._token; // TODO: any\n }\n }\n\n if (clientOptions.key) {\n await setAuthorizationTokenHeaderUsingMasterKey(\n verb,\n resourceId,\n resourceType,\n headers,\n clientOptions.key,\n );\n } else if (clientOptions.resourceTokens) {\n headers[Constants.HttpHeaders.Authorization] = encodeURIComponent(\n getAuthorizationTokenUsingResourceTokens(clientOptions.resourceTokens, path, resourceId),\n );\n } else if (clientOptions.tokenProvider) {\n headers[Constants.HttpHeaders.Authorization] = encodeURIComponent(\n await clientOptions.tokenProvider({ verb, path, resourceId, resourceType, headers }),\n );\n }\n}\n\n/**\n * The default function for setting header token using the masterKey\n * @hidden\n */\nexport async function setAuthorizationTokenHeaderUsingMasterKey(\n verb: HTTPMethod,\n resourceId: string,\n resourceType: ResourceType,\n headers: CosmosHeaders,\n masterKey: string,\n): Promise<void> {\n // TODO This should live in cosmos-sign\n if (resourceType === ResourceType.offer) {\n resourceId = resourceId && resourceId.toLowerCase();\n }\n headers = Object.assign(\n headers,\n await generateHeaders(masterKey, verb, resourceType, resourceId),\n );\n}\n\n/**\n * @hidden\n */\n// TODO: Resource tokens\nexport function getAuthorizationTokenUsingResourceTokens(\n resourceTokens: { [resourceId: string]: string },\n path: string,\n resourceId: string,\n): string {\n if (resourceTokens && Object.keys(resourceTokens).length > 0) {\n // For database account access(through getDatabaseAccount API), path and resourceId are \"\",\n // so in this case we return the first token to be used for creating the auth header as the\n // service will accept any token in this case\n if (!path && !resourceId) {\n return resourceTokens[Object.keys(resourceTokens)[0]];\n }\n\n // If we have exact resource token for the path use it\n if (resourceId && resourceTokens[resourceId]) {\n return resourceTokens[resourceId];\n }\n\n // minimum valid path /dbs\n if (!path || path.length < 4) {\n // TODO: This should throw an error\n return null;\n }\n\n path = trimSlashFromLeftAndRight(path);\n const pathSegments = (path && path.split(\"/\")) || [];\n\n // Item path\n if (pathSegments.length === 6) {\n // Look for a container token matching the item path\n const containerPath = pathSegments.slice(0, 4).map(decodeURIComponent).join(\"/\");\n if (resourceTokens[containerPath]) {\n return resourceTokens[containerPath];\n }\n }\n\n // TODO remove in v4: This is legacy behavior that lets someone use a resource token pointing ONLY at an ID\n // It was used when _rid was exposed by the SDK, but now that we are using user provided ids it is not needed\n // However removing it now would be a breaking change\n // if it's an incomplete path like /dbs/db1/colls/, start from the parent resource\n let index = pathSegments.length % 2 === 0 ? pathSegments.length - 1 : pathSegments.length - 2;\n for (; index > 0; index -= 2) {\n const id = decodeURI(pathSegments[index]);\n if (resourceTokens[id]) {\n return resourceTokens[id];\n }\n }\n }\n\n // TODO: This should throw an error\n return null;\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/auth.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { generateHeaders } from \"./utils/headers.js\";\nimport type { HTTPMethod } from \"./common/index.js\";\nimport {\n Constants,\n getResourceIdFromPath,\n ResourceType,\n trimSlashFromLeftAndRight,\n} from \"./common/index.js\";\nimport type { CosmosClientOptions } from \"./CosmosClientOptions.js\";\nimport type { CosmosHeaders } from \"./queryExecutionContext/index.js\";\n\n/** @hidden */\nexport interface RequestInfo {\n verb: HTTPMethod;\n path: string;\n resourceId: string;\n resourceType: ResourceType;\n headers: CosmosHeaders;\n}\n\nexport type TokenProvider = (requestInfo: RequestInfo) => Promise<string>;\n\n/**\n * @hidden\n */\nexport async function setAuthorizationHeader(\n clientOptions: CosmosClientOptions,\n verb: HTTPMethod,\n path: string,\n resourceId: string,\n resourceType: ResourceType,\n headers: CosmosHeaders,\n): Promise<void> {\n if (clientOptions.permissionFeed) {\n clientOptions.resourceTokens = {};\n for (const permission of clientOptions.permissionFeed) {\n const id = getResourceIdFromPath(permission.resource);\n if (!id) {\n throw new Error(`authorization error: ${id} \\\n is an invalid resourceId in permissionFeed`);\n }\n\n clientOptions.resourceTokens[id] = (permission as any)._token; // TODO: any\n }\n }\n\n if (clientOptions.key) {\n await setAuthorizationTokenHeaderUsingMasterKey(\n verb,\n resourceId,\n resourceType,\n headers,\n clientOptions.key,\n );\n } else if (clientOptions.resourceTokens) {\n headers[Constants.HttpHeaders.Authorization] = encodeURIComponent(\n getAuthorizationTokenUsingResourceTokens(clientOptions.resourceTokens, path, resourceId),\n );\n } else if (clientOptions.tokenProvider) {\n headers[Constants.HttpHeaders.Authorization] = encodeURIComponent(\n await clientOptions.tokenProvider({ verb, path, resourceId, resourceType, headers }),\n );\n }\n}\n\n/**\n * The default function for setting header token using the masterKey\n * @hidden\n */\nexport async function setAuthorizationTokenHeaderUsingMasterKey(\n verb: HTTPMethod,\n resourceId: string,\n resourceType: ResourceType,\n headers: CosmosHeaders,\n masterKey: string,\n): Promise<void> {\n // TODO This should live in cosmos-sign\n if (resourceType === ResourceType.offer) {\n resourceId = resourceId && resourceId.toLowerCase();\n }\n headers = Object.assign(\n headers,\n await generateHeaders(masterKey, verb, resourceType, resourceId),\n );\n}\n\n/**\n * @hidden\n */\n// TODO: Resource tokens\nexport function getAuthorizationTokenUsingResourceTokens(\n resourceTokens: { [resourceId: string]: string },\n path: string,\n resourceId: string,\n): string {\n if (resourceTokens && Object.keys(resourceTokens).length > 0) {\n // For database account access(through getDatabaseAccount API), path and resourceId are \"\",\n // so in this case we return the first token to be used for creating the auth header as the\n // service will accept any token in this case\n if (!path && !resourceId) {\n return resourceTokens[Object.keys(resourceTokens)[0]];\n }\n\n // If we have exact resource token for the path use it\n if (resourceId && resourceTokens[resourceId]) {\n return resourceTokens[resourceId];\n }\n\n // minimum valid path /dbs\n if (!path || path.length < 4) {\n // TODO: This should throw an error\n return null;\n }\n\n path = trimSlashFromLeftAndRight(path);\n const pathSegments = (path && path.split(\"/\")) || [];\n\n // Item path\n if (pathSegments.length === 6) {\n // Look for a container token matching the item path\n const containerPath = pathSegments.slice(0, 4).map(decodeURIComponent).join(\"/\");\n if (resourceTokens[containerPath]) {\n return resourceTokens[containerPath];\n }\n }\n\n // TODO remove in v4: This is legacy behavior that lets someone use a resource token pointing ONLY at an ID\n // It was used when _rid was exposed by the SDK, but now that we are using user provided ids it is not needed\n // However removing it now would be a breaking change\n // if it's an incomplete path like /dbs/db1/colls/, start from the parent resource\n let index = pathSegments.length % 2 === 0 ? pathSegments.length - 1 : pathSegments.length - 2;\n for (; index > 0; index -= 2) {\n const id = decodeURI(pathSegments[index]);\n if (resourceTokens[id]) {\n return resourceTokens[id];\n }\n }\n }\n\n // TODO: This should throw an error\n return null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAAgC;AAEhC,oBAKO;AAkBP,eAAsB,uBACpB,eACA,MACA,MACA,YACA,cACA,SACe;AACf,MAAI,cAAc,gBAAgB;AAChC,kBAAc,iBAAiB,CAAC;AAChC,eAAW,cAAc,cAAc,gBAAgB;AACrD,YAAM,SAAK,qCAAsB,WAAW,QAAQ;AACpD,UAAI,CAAC,IAAI;AACP,cAAM,IAAI,MAAM,wBAAwB,EAAE,uEACmB;AAAA,MAC/D;AAEA,oBAAc,eAAe,EAAE,IAAK,WAAmB;AAAA,IACzD;AAAA,EACF;AAEA,MAAI,cAAc,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAChB;AAAA,EACF,WAAW,cAAc,gBAAgB;AACvC,YAAQ,wBAAU,YAAY,aAAa,IAAI;AAAA,MAC7C,yCAAyC,cAAc,gBAAgB,MAAM,UAAU;AAAA,IACzF;AAAA,EACF,WAAW,cAAc,eAAe;AACtC,YAAQ,wBAAU,YAAY,aAAa,IAAI;AAAA,MAC7C,MAAM,cAAc,cAAc,EAAE,MAAM,MAAM,YAAY,cAAc,QAAQ,CAAC;AAAA,IACrF;AAAA,EACF;AACF;AAMA,eAAsB,0CACpB,MACA,YACA,cACA,SACA,WACe;AAEf,MAAI,iBAAiB,2BAAa,OAAO;AACvC,iBAAa,cAAc,WAAW,YAAY;AAAA,EACpD;AACA,YAAU,OAAO;AAAA,IACf;AAAA,IACA,UAAM,gCAAgB,WAAW,MAAM,cAAc,UAAU;AAAA,EACjE;AACF;AAMO,SAAS,yCACd,gBACA,MACA,YACQ;AACR,MAAI,kBAAkB,OAAO,KAAK,cAAc,EAAE,SAAS,GAAG;AAI5D,QAAI,CAAC,QAAQ,CAAC,YAAY;AACxB,aAAO,eAAe,OAAO,KAAK,cAAc,EAAE,CAAC,CAAC;AAAA,IACtD;AAGA,QAAI,cAAc,eAAe,UAAU,GAAG;AAC5C,aAAO,eAAe,UAAU;AAAA,IAClC;AAGA,QAAI,CAAC,QAAQ,KAAK,SAAS,GAAG;AAE5B,aAAO;AAAA,IACT;AAEA,eAAO,yCAA0B,IAAI;AACrC,UAAM,eAAgB,QAAQ,KAAK,MAAM,GAAG,KAAM,CAAC;AAGnD,QAAI,aAAa,WAAW,GAAG;AAE7B,YAAM,gBAAgB,aAAa,MAAM,GAAG,CAAC,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAC/E,UAAI,eAAe,aAAa,GAAG;AACjC,eAAO,eAAe,aAAa;AAAA,MACrC;AAAA,IACF;AAMA,QAAI,QAAQ,aAAa,SAAS,MAAM,IAAI,aAAa,SAAS,IAAI,aAAa,SAAS;AAC5F,WAAO,QAAQ,GAAG,SAAS,GAAG;AAC5B,YAAM,KAAK,UAAU,aAAa,KAAK,CAAC;AACxC,UAAI,eAAe,EAAE,GAAG;AACtB,eAAO,eAAe,EAAE;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;",
6
+ "names": []
7
+ }