@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
@@ -255,7 +255,8 @@ export class OrderByQueryRangeStrategy {
255
255
  return condition;
256
256
  }
257
257
  /**
258
- * Formats a value for use in SQL condition
258
+ * Formats a value for use in SQL condition.
259
+ * We escape single quotes as \\u0027 to avoid ambiguity with \\\\ followed by '
259
260
  */
260
261
  formatValueForSQL(value) {
261
262
  if (value === null || value === undefined) {
@@ -264,8 +265,8 @@ export class OrderByQueryRangeStrategy {
264
265
  const valueType = typeof value;
265
266
  switch (valueType) {
266
267
  case "string":
267
- // Escape single quotes and wrap in quotes
268
- return `'${value.toString().replace(/'/g, "''")}'`;
268
+ // Escape backslashes first, then single quotes as unicode escape
269
+ return `'${value.toString().replace(/\\/g, "\\\\").replace(/'/g, "\\u0027")}'`;
269
270
  case "number":
270
271
  case "bigint":
271
272
  return value.toString();
@@ -274,9 +275,9 @@ export class OrderByQueryRangeStrategy {
274
275
  default:
275
276
  // For objects and arrays, convert to JSON string
276
277
  if (typeof value === "object") {
277
- return `'${JSON.stringify(value).replace(/'/g, "''")}'`;
278
+ return `'${JSON.stringify(value).replace(/\\/g, "\\\\").replace(/'/g, "\\u0027")}'`;
278
279
  }
279
- return `'${value.toString().replace(/'/g, "''")}'`;
280
+ return `'${value.toString().replace(/\\/g, "\\\\").replace(/'/g, "\\u0027")}'`;
280
281
  }
281
282
  }
282
283
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByQueryRangeStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./TargetPartitionRangeStrategy.js\";\nimport type { PartitionRangeWithContinuationToken } from \"./TargetPartitionRangeManager.js\";\n\n/**\n * Strategy for filtering partition ranges in ORDER BY query execution context\n * Supports resuming from continuation tokens with proper range-token pair management\n * @hidden\n */\nexport class OrderByQueryRangeStrategy implements TargetPartitionRangeStrategy {\n getStrategyType(): string {\n return \"OrderByQuery\";\n }\n\n filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n continuationRanges?: PartitionRangeWithContinuationToken[],\n queryInfo?: Record<string, unknown>,\n ): PartitionRangeFilterResult {\n if (\n !targetRanges ||\n targetRanges.length === 0 ||\n !continuationRanges ||\n continuationRanges.length === 0\n ) {\n return {\n rangeTokenPairs: [],\n };\n }\n\n if (\n !queryInfo?.orderByItems ||\n !Array.isArray(queryInfo.orderByItems) ||\n queryInfo.orderByItems.length === 0\n ) {\n throw new Error(\n \"Unable to resume ORDER BY query from continuation token. orderByItems is required for ORDER BY queries.\",\n );\n }\n\n const result: PartitionRangeFilterResult = {\n rangeTokenPairs: [],\n };\n let filteredRanges: PartitionKeyRange[] = [];\n let resumeRangeFound = false;\n\n if (continuationRanges && continuationRanges.length > 0) {\n resumeRangeFound = true;\n // Find the range to resume from based on the composite token\n const targetRangeMapping = continuationRanges[continuationRanges.length - 1].range;\n // It is assumed that range mapping array is going to contain only range\n const targetRange: PartitionKeyRange = targetRangeMapping;\n\n const targetContinuationToken =\n continuationRanges[continuationRanges.length - 1].continuationToken;\n\n const leftRanges = targetRanges.filter((mapping) =>\n this.isRangeBeforeAnother(mapping.maxExclusive, targetRangeMapping.minInclusive),\n );\n\n const orderByItems = queryInfo.orderByItems;\n\n // Create filtering condition for left ranges based on ORDER BY items and sort orders\n const leftFilter = this.createRangeFilterCondition(orderByItems, queryInfo, \"left\");\n\n const rightRanges = targetRanges.filter((mapping) =>\n this.isRangeAfterAnother(mapping.minInclusive, targetRangeMapping.maxExclusive),\n );\n\n // Create filtering condition for right ranges based on ORDER BY items and sort orders\n const rightFilter = this.createRangeFilterCondition(orderByItems, queryInfo, \"right\");\n\n // Apply filtering logic for left ranges\n if (leftRanges.length > 0) {\n leftRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: leftFilter,\n });\n });\n }\n\n result.rangeTokenPairs.push({\n range: targetRange,\n continuationToken: targetContinuationToken,\n filteringCondition: rightFilter,\n });\n\n // Apply filtering logic for right ranges\n if (rightRanges.length > 0) {\n rightRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: rightFilter,\n });\n });\n }\n }\n\n // If we couldn't find a specific resume point, include all ranges\n // This can happen with certain types of ORDER BY continuation tokens\n if (!resumeRangeFound) {\n filteredRanges = [...targetRanges];\n filteredRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: undefined,\n });\n });\n }\n return result;\n }\n\n /**\n * Creates a filter condition for ranges based on ORDER BY items and sort orders\n * This filter ensures that ranges only return documents based on their position relative to the continuation point\n * @param orderByItems - Array of order by items from the continuation token\n * @param queryInfo - Query information containing sort orders and other metadata\n * @param rangePosition - Whether this is for \"left\" or \"right\" ranges relative to continuation point\n * @returns SQL filter condition string for the specified range position\n */\n private createRangeFilterCondition(\n orderByItems: any[],\n queryInfo: Record<string, unknown> | undefined,\n rangePosition: \"left\" | \"right\",\n ): string {\n // Extract sort orders from query info\n let sortOrders: string[];\n try {\n sortOrders = this.extractSortOrders(queryInfo);\n } catch (error) {\n // If we can't extract sort orders, we cannot create reliable filter conditions\n throw new Error(\n `Unable to resume ORDER BY query from continuation token. The ORDER BY sort direction configuration ` +\n `in the query plan is invalid or missing. This may indicate a client version mismatch or corrupted continuation token. ` +\n `Please retry the query without a continuation token. Original error: ${error}`,\n );\n }\n\n // Extract orderByExpressions from nested structure\n let orderByExpressions: any[] | undefined;\n if (\n queryInfo &&\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n (queryInfo.queryInfo as any).queryInfo.orderByExpressions &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderByExpressions)\n ) {\n orderByExpressions = (queryInfo.queryInfo as any).queryInfo.orderByExpressions;\n }\n\n if (!orderByExpressions || !Array.isArray(orderByExpressions)) {\n throw new Error(\n \"Unable to resume ORDER BY query from continuation token. The ORDER BY field configuration \" +\n \"in the query plan is invalid or missing. This may indicate a client version mismatch or corrupted continuation token. \" +\n \"Please retry the query without a continuation token.\",\n );\n }\n\n const filterConditions: string[] = [];\n\n // Process each order by item to create filter conditions\n for (let i = 0; i < orderByItems.length && i < sortOrders.length; i++) {\n const orderByItem = orderByItems[i];\n const sortOrder = sortOrders[i];\n\n if (!orderByItem || orderByItem.item === undefined) {\n continue;\n }\n\n try {\n // Determine the field path from ORDER BY expressions in query plan\n const fieldPath = this.extractFieldPath(queryInfo, i);\n\n // Create the comparison condition based on sort order and range position\n const condition = this.createComparisonCondition(\n fieldPath,\n orderByItem.item,\n sortOrder,\n rangePosition,\n );\n\n if (condition) {\n filterConditions.push(condition);\n }\n } catch (error) {\n // If we can't extract field path for ORDER BY expressions, we cannot safely resume from continuation token\n // This would lead to incorrect query results, so we must fail the entire request\n throw new Error(\n `Unable to resume ORDER BY query from continuation token. The ORDER BY field configuration ` +\n `in the query plan is invalid or incompatible with the continuation token format. ` +\n `This may indicate a client version mismatch or corrupted continuation token. ` +\n `Please retry the query without a continuation token. Original error: ${error}`,\n );\n }\n }\n\n // Combine multiple conditions with AND for multi-field ORDER BY\n const combinedFilter = filterConditions.length > 0 ? `(${filterConditions.join(\" AND \")})` : \"\";\n return combinedFilter;\n }\n\n /**\n * Extracts sort orders from query info\n * @throws Error if sort order information is missing or invalid\n */\n private extractSortOrders(queryInfo?: Record<string, unknown>): string[] {\n if (!queryInfo) {\n throw new Error(\"Query information is required to determine ORDER BY sort directions\");\n }\n\n // Extract orderBy from the nested structure: queryInfo.queryInfo.queryInfo.orderBy\n let orderBy: any[] | undefined;\n\n if (\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n typeof (queryInfo.queryInfo as any).queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo.orderBy &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderBy)\n ) {\n orderBy = (queryInfo.queryInfo as any).queryInfo.orderBy;\n }\n\n if (!orderBy) {\n throw new Error(\"ORDER BY sort direction information is missing from query plan\");\n }\n\n return orderBy.map((order, index) => {\n if (typeof order === \"string\") {\n return order;\n }\n // Handle object format if needed\n if (order && typeof order === \"object\") {\n const sortOrder =\n (order as any).direction || (order as any).order || (order as any).sortOrder;\n if (sortOrder) {\n return sortOrder;\n }\n }\n throw new Error(\n `ORDER BY sort direction at position ${index + 1} has an invalid format in the query plan`,\n );\n });\n }\n\n /**\n * Extracts field path from ORDER BY expressions in query plan\n * @throws Error if orderByExpressions are not found or index is out of bounds or expression format is invalid\n */\n private extractFieldPath(queryInfo: Record<string, unknown> | undefined, index: number): string {\n // Try multiple paths to find orderByExpressions due to nested structure\n let orderByExpressions: any[] | undefined;\n\n if (queryInfo) {\n // Direct path\n if (queryInfo.orderByExpressions && Array.isArray(queryInfo.orderByExpressions)) {\n orderByExpressions = queryInfo.orderByExpressions;\n }\n // Nested path: queryInfo.queryInfo.queryInfo.orderByExpressions\n else if (\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n (queryInfo.queryInfo as any).queryInfo.orderByExpressions &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderByExpressions)\n ) {\n orderByExpressions = (queryInfo.queryInfo as any).queryInfo.orderByExpressions;\n }\n }\n\n if (!orderByExpressions) {\n throw new Error(\"ORDER BY field information is missing from query plan\");\n }\n\n if (index >= orderByExpressions.length) {\n throw new Error(\n `ORDER BY field configuration mismatch: expected at least ${index + 1} fields but found ${orderByExpressions.length}`,\n );\n }\n\n const expression = orderByExpressions[index];\n\n // Handle different formats of ORDER BY expressions\n if (typeof expression === \"string\") {\n // Simple string expression like \"c.id\" or \"_FullTextScore(...)\"\n return expression;\n }\n\n if (expression && typeof expression === \"object\") {\n // Object format like { expression: \"c.id\", type: \"PropertyRef\" }\n if (expression.expression) {\n return expression.expression;\n }\n if (expression.path) {\n return expression.path.replace(/^\\//, \"\"); // Remove leading slash\n }\n if (expression.field) {\n return expression.field;\n }\n }\n\n throw new Error(\n `ORDER BY field at position ${index + 1} has an unrecognized format in the query plan`,\n );\n }\n\n /**\n * Creates a comparison condition based on the field, value, sort order, and range position\n */\n private createComparisonCondition(\n fieldPath: string,\n value: any,\n sortOrder: string,\n rangePosition: \"left\" | \"right\",\n ): string {\n const isDescending =\n sortOrder.toLowerCase() === \"descending\" || sortOrder.toLowerCase() === \"desc\";\n\n // For left ranges (ranges that come before the target):\n // - In ascending order: field > value (left ranges should seek for larger values)\n // - In descending order: field < value (left ranges should seek for smaller values)\n\n // For right ranges (ranges that come after the target):\n // - In ascending order: field >= value (right ranges have larger values)\n // - In descending order: field <= value (right ranges have smaller values in desc order)\n\n let operator: string;\n\n if (rangePosition === \"left\") {\n operator = isDescending ? \"<\" : \">\";\n } else {\n // right\n operator = isDescending ? \"<=\" : \">=\";\n }\n\n // Format the value based on its type\n const formattedValue = this.formatValueForSQL(value);\n\n // Create the condition with proper field reference\n const condition = `${fieldPath} ${operator} ${formattedValue}`;\n return condition;\n }\n\n /**\n * Formats a value for use in SQL condition\n */\n private formatValueForSQL(value: any): string {\n if (value === null || value === undefined) {\n return \"null\";\n }\n\n const valueType = typeof value;\n\n switch (valueType) {\n case \"string\":\n // Escape single quotes and wrap in quotes\n return `'${value.toString().replace(/'/g, \"''\")}'`;\n case \"number\":\n case \"bigint\":\n return value.toString();\n case \"boolean\":\n return value ? \"true\" : \"false\";\n default:\n // For objects and arrays, convert to JSON string\n if (typeof value === \"object\") {\n return `'${JSON.stringify(value).replace(/'/g, \"''\")}'`;\n }\n return `'${value.toString().replace(/'/g, \"''\")}'`;\n }\n }\n\n /**\n * Compares partition key range boundaries with proper handling for inclusive/exclusive semantics\n * @param boundary1 - First boundary to compare\n * @param boundary2 - Second boundary to compare\n * @returns negative if boundary1 is less than boundary2, positive if boundary1 is greater than boundary2, 0 if equal\n */\n private comparePartitionKeyBoundaries(boundary1: string, boundary2: string): number {\n // Handle empty string cases (empty string represents the minimum boundary)\n if (boundary1 === \"\" && boundary2 === \"\") return 0;\n if (boundary1 === \"\") return -1; // \"\" < \"AA\"\n if (boundary2 === \"\") return 1; // \"AA\" > \"\"\n\n // Use standard lexicographic comparison for non-empty boundaries\n return boundary1.localeCompare(boundary2);\n }\n\n private isRangeBeforeAnother(range1MaxExclusive: string, range2MinInclusive: string): boolean {\n // Since range1.maxExclusive is NOT part of range1, and range2.minInclusive IS part of range2,\n // range1 comes before range2 if range1.maxExclusive <= range2.minInclusive\n return this.comparePartitionKeyBoundaries(range1MaxExclusive, range2MinInclusive) <= 0;\n }\n\n private isRangeAfterAnother(range1MinInclusive: string, range2MaxExclusive: string): boolean {\n // Since range2.maxExclusive is NOT part of range2, and range1.minInclusive IS part of range1,\n // range1 comes after range2 if range1.minInclusive >= range2.maxExclusive\n return this.comparePartitionKeyBoundaries(range1MinInclusive, range2MaxExclusive) >= 0;\n }\n}\n"]}
1
+ {"version":3,"file":"OrderByQueryRangeStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./TargetPartitionRangeStrategy.js\";\nimport type { PartitionRangeWithContinuationToken } from \"./TargetPartitionRangeManager.js\";\n\n/**\n * Strategy for filtering partition ranges in ORDER BY query execution context\n * Supports resuming from continuation tokens with proper range-token pair management\n * @hidden\n */\nexport class OrderByQueryRangeStrategy implements TargetPartitionRangeStrategy {\n getStrategyType(): string {\n return \"OrderByQuery\";\n }\n\n filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n continuationRanges?: PartitionRangeWithContinuationToken[],\n queryInfo?: Record<string, unknown>,\n ): PartitionRangeFilterResult {\n if (\n !targetRanges ||\n targetRanges.length === 0 ||\n !continuationRanges ||\n continuationRanges.length === 0\n ) {\n return {\n rangeTokenPairs: [],\n };\n }\n\n if (\n !queryInfo?.orderByItems ||\n !Array.isArray(queryInfo.orderByItems) ||\n queryInfo.orderByItems.length === 0\n ) {\n throw new Error(\n \"Unable to resume ORDER BY query from continuation token. orderByItems is required for ORDER BY queries.\",\n );\n }\n\n const result: PartitionRangeFilterResult = {\n rangeTokenPairs: [],\n };\n let filteredRanges: PartitionKeyRange[] = [];\n let resumeRangeFound = false;\n\n if (continuationRanges && continuationRanges.length > 0) {\n resumeRangeFound = true;\n // Find the range to resume from based on the composite token\n const targetRangeMapping = continuationRanges[continuationRanges.length - 1].range;\n // It is assumed that range mapping array is going to contain only range\n const targetRange: PartitionKeyRange = targetRangeMapping;\n\n const targetContinuationToken =\n continuationRanges[continuationRanges.length - 1].continuationToken;\n\n const leftRanges = targetRanges.filter((mapping) =>\n this.isRangeBeforeAnother(mapping.maxExclusive, targetRangeMapping.minInclusive),\n );\n\n const orderByItems = queryInfo.orderByItems;\n\n // Create filtering condition for left ranges based on ORDER BY items and sort orders\n const leftFilter = this.createRangeFilterCondition(orderByItems, queryInfo, \"left\");\n\n const rightRanges = targetRanges.filter((mapping) =>\n this.isRangeAfterAnother(mapping.minInclusive, targetRangeMapping.maxExclusive),\n );\n\n // Create filtering condition for right ranges based on ORDER BY items and sort orders\n const rightFilter = this.createRangeFilterCondition(orderByItems, queryInfo, \"right\");\n\n // Apply filtering logic for left ranges\n if (leftRanges.length > 0) {\n leftRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: leftFilter,\n });\n });\n }\n\n result.rangeTokenPairs.push({\n range: targetRange,\n continuationToken: targetContinuationToken,\n filteringCondition: rightFilter,\n });\n\n // Apply filtering logic for right ranges\n if (rightRanges.length > 0) {\n rightRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: rightFilter,\n });\n });\n }\n }\n\n // If we couldn't find a specific resume point, include all ranges\n // This can happen with certain types of ORDER BY continuation tokens\n if (!resumeRangeFound) {\n filteredRanges = [...targetRanges];\n filteredRanges.forEach((range) => {\n result.rangeTokenPairs.push({\n range: range,\n continuationToken: undefined,\n filteringCondition: undefined,\n });\n });\n }\n return result;\n }\n\n /**\n * Creates a filter condition for ranges based on ORDER BY items and sort orders\n * This filter ensures that ranges only return documents based on their position relative to the continuation point\n * @param orderByItems - Array of order by items from the continuation token\n * @param queryInfo - Query information containing sort orders and other metadata\n * @param rangePosition - Whether this is for \"left\" or \"right\" ranges relative to continuation point\n * @returns SQL filter condition string for the specified range position\n */\n private createRangeFilterCondition(\n orderByItems: any[],\n queryInfo: Record<string, unknown> | undefined,\n rangePosition: \"left\" | \"right\",\n ): string {\n // Extract sort orders from query info\n let sortOrders: string[];\n try {\n sortOrders = this.extractSortOrders(queryInfo);\n } catch (error) {\n // If we can't extract sort orders, we cannot create reliable filter conditions\n throw new Error(\n `Unable to resume ORDER BY query from continuation token. The ORDER BY sort direction configuration ` +\n `in the query plan is invalid or missing. This may indicate a client version mismatch or corrupted continuation token. ` +\n `Please retry the query without a continuation token. Original error: ${error}`,\n );\n }\n\n // Extract orderByExpressions from nested structure\n let orderByExpressions: any[] | undefined;\n if (\n queryInfo &&\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n (queryInfo.queryInfo as any).queryInfo.orderByExpressions &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderByExpressions)\n ) {\n orderByExpressions = (queryInfo.queryInfo as any).queryInfo.orderByExpressions;\n }\n\n if (!orderByExpressions || !Array.isArray(orderByExpressions)) {\n throw new Error(\n \"Unable to resume ORDER BY query from continuation token. The ORDER BY field configuration \" +\n \"in the query plan is invalid or missing. This may indicate a client version mismatch or corrupted continuation token. \" +\n \"Please retry the query without a continuation token.\",\n );\n }\n\n const filterConditions: string[] = [];\n\n // Process each order by item to create filter conditions\n for (let i = 0; i < orderByItems.length && i < sortOrders.length; i++) {\n const orderByItem = orderByItems[i];\n const sortOrder = sortOrders[i];\n\n if (!orderByItem || orderByItem.item === undefined) {\n continue;\n }\n\n try {\n // Determine the field path from ORDER BY expressions in query plan\n const fieldPath = this.extractFieldPath(queryInfo, i);\n\n // Create the comparison condition based on sort order and range position\n const condition = this.createComparisonCondition(\n fieldPath,\n orderByItem.item,\n sortOrder,\n rangePosition,\n );\n\n if (condition) {\n filterConditions.push(condition);\n }\n } catch (error) {\n // If we can't extract field path for ORDER BY expressions, we cannot safely resume from continuation token\n // This would lead to incorrect query results, so we must fail the entire request\n throw new Error(\n `Unable to resume ORDER BY query from continuation token. The ORDER BY field configuration ` +\n `in the query plan is invalid or incompatible with the continuation token format. ` +\n `This may indicate a client version mismatch or corrupted continuation token. ` +\n `Please retry the query without a continuation token. Original error: ${error}`,\n );\n }\n }\n\n // Combine multiple conditions with AND for multi-field ORDER BY\n const combinedFilter = filterConditions.length > 0 ? `(${filterConditions.join(\" AND \")})` : \"\";\n return combinedFilter;\n }\n\n /**\n * Extracts sort orders from query info\n * @throws Error if sort order information is missing or invalid\n */\n private extractSortOrders(queryInfo?: Record<string, unknown>): string[] {\n if (!queryInfo) {\n throw new Error(\"Query information is required to determine ORDER BY sort directions\");\n }\n\n // Extract orderBy from the nested structure: queryInfo.queryInfo.queryInfo.orderBy\n let orderBy: any[] | undefined;\n\n if (\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n typeof (queryInfo.queryInfo as any).queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo.orderBy &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderBy)\n ) {\n orderBy = (queryInfo.queryInfo as any).queryInfo.orderBy;\n }\n\n if (!orderBy) {\n throw new Error(\"ORDER BY sort direction information is missing from query plan\");\n }\n\n return orderBy.map((order, index) => {\n if (typeof order === \"string\") {\n return order;\n }\n // Handle object format if needed\n if (order && typeof order === \"object\") {\n const sortOrder =\n (order as any).direction || (order as any).order || (order as any).sortOrder;\n if (sortOrder) {\n return sortOrder;\n }\n }\n throw new Error(\n `ORDER BY sort direction at position ${index + 1} has an invalid format in the query plan`,\n );\n });\n }\n\n /**\n * Extracts field path from ORDER BY expressions in query plan\n * @throws Error if orderByExpressions are not found or index is out of bounds or expression format is invalid\n */\n private extractFieldPath(queryInfo: Record<string, unknown> | undefined, index: number): string {\n // Try multiple paths to find orderByExpressions due to nested structure\n let orderByExpressions: any[] | undefined;\n\n if (queryInfo) {\n // Direct path\n if (queryInfo.orderByExpressions && Array.isArray(queryInfo.orderByExpressions)) {\n orderByExpressions = queryInfo.orderByExpressions;\n }\n // Nested path: queryInfo.queryInfo.queryInfo.orderByExpressions\n else if (\n queryInfo.queryInfo &&\n typeof queryInfo.queryInfo === \"object\" &&\n (queryInfo.queryInfo as any).queryInfo &&\n (queryInfo.queryInfo as any).queryInfo.orderByExpressions &&\n Array.isArray((queryInfo.queryInfo as any).queryInfo.orderByExpressions)\n ) {\n orderByExpressions = (queryInfo.queryInfo as any).queryInfo.orderByExpressions;\n }\n }\n\n if (!orderByExpressions) {\n throw new Error(\"ORDER BY field information is missing from query plan\");\n }\n\n if (index >= orderByExpressions.length) {\n throw new Error(\n `ORDER BY field configuration mismatch: expected at least ${index + 1} fields but found ${orderByExpressions.length}`,\n );\n }\n\n const expression = orderByExpressions[index];\n\n // Handle different formats of ORDER BY expressions\n if (typeof expression === \"string\") {\n // Simple string expression like \"c.id\" or \"_FullTextScore(...)\"\n return expression;\n }\n\n if (expression && typeof expression === \"object\") {\n // Object format like { expression: \"c.id\", type: \"PropertyRef\" }\n if (expression.expression) {\n return expression.expression;\n }\n if (expression.path) {\n return expression.path.replace(/^\\//, \"\"); // Remove leading slash\n }\n if (expression.field) {\n return expression.field;\n }\n }\n\n throw new Error(\n `ORDER BY field at position ${index + 1} has an unrecognized format in the query plan`,\n );\n }\n\n /**\n * Creates a comparison condition based on the field, value, sort order, and range position\n */\n private createComparisonCondition(\n fieldPath: string,\n value: any,\n sortOrder: string,\n rangePosition: \"left\" | \"right\",\n ): string {\n const isDescending =\n sortOrder.toLowerCase() === \"descending\" || sortOrder.toLowerCase() === \"desc\";\n\n // For left ranges (ranges that come before the target):\n // - In ascending order: field > value (left ranges should seek for larger values)\n // - In descending order: field < value (left ranges should seek for smaller values)\n\n // For right ranges (ranges that come after the target):\n // - In ascending order: field >= value (right ranges have larger values)\n // - In descending order: field <= value (right ranges have smaller values in desc order)\n\n let operator: string;\n\n if (rangePosition === \"left\") {\n operator = isDescending ? \"<\" : \">\";\n } else {\n // right\n operator = isDescending ? \"<=\" : \">=\";\n }\n\n // Format the value based on its type\n const formattedValue = this.formatValueForSQL(value);\n\n // Create the condition with proper field reference\n const condition = `${fieldPath} ${operator} ${formattedValue}`;\n return condition;\n }\n\n /**\n * Formats a value for use in SQL condition.\n * We escape single quotes as \\\\u0027 to avoid ambiguity with \\\\\\\\ followed by '\n */\n private formatValueForSQL(value: any): string {\n if (value === null || value === undefined) {\n return \"null\";\n }\n\n const valueType = typeof value;\n\n switch (valueType) {\n case \"string\":\n // Escape backslashes first, then single quotes as unicode escape\n return `'${value.toString().replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\u0027\")}'`;\n case \"number\":\n case \"bigint\":\n return value.toString();\n case \"boolean\":\n return value ? \"true\" : \"false\";\n default:\n // For objects and arrays, convert to JSON string\n if (typeof value === \"object\") {\n return `'${JSON.stringify(value).replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\u0027\")}'`;\n }\n return `'${value.toString().replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\u0027\")}'`;\n }\n }\n\n /**\n * Compares partition key range boundaries with proper handling for inclusive/exclusive semantics\n * @param boundary1 - First boundary to compare\n * @param boundary2 - Second boundary to compare\n * @returns negative if boundary1 is less than boundary2, positive if boundary1 is greater than boundary2, 0 if equal\n */\n private comparePartitionKeyBoundaries(boundary1: string, boundary2: string): number {\n // Handle empty string cases (empty string represents the minimum boundary)\n if (boundary1 === \"\" && boundary2 === \"\") return 0;\n if (boundary1 === \"\") return -1; // \"\" < \"AA\"\n if (boundary2 === \"\") return 1; // \"AA\" > \"\"\n\n // Use standard lexicographic comparison for non-empty boundaries\n return boundary1.localeCompare(boundary2);\n }\n\n private isRangeBeforeAnother(range1MaxExclusive: string, range2MinInclusive: string): boolean {\n // Since range1.maxExclusive is NOT part of range1, and range2.minInclusive IS part of range2,\n // range1 comes before range2 if range1.maxExclusive <= range2.minInclusive\n return this.comparePartitionKeyBoundaries(range1MaxExclusive, range2MinInclusive) <= 0;\n }\n\n private isRangeAfterAnother(range1MinInclusive: string, range2MaxExclusive: string): boolean {\n // Since range2.maxExclusive is NOT part of range2, and range1.minInclusive IS part of range1,\n // range1 comes after range2 if range1.minInclusive >= range2.maxExclusive\n return this.comparePartitionKeyBoundaries(range1MinInclusive, range2MaxExclusive) >= 0;\n }\n}\n"]}
@@ -10,9 +10,5 @@ export declare class ParallelQueryRangeStrategy implements TargetPartitionRangeS
10
10
  getStrategyType(): string;
11
11
  validateContinuationToken(continuationToken: string): boolean;
12
12
  filterPartitionRanges(targetRanges: PartitionKeyRange[], continuationRanges?: PartitionRangeWithContinuationToken[]): PartitionRangeFilterResult;
13
- /**
14
- * Checks if a partition is exhausted based on its continuation token
15
- */
16
- private isPartitionExhausted;
17
13
  }
18
14
  //# sourceMappingURL=ParallelQueryRangeStrategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelQueryRangeStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAE5F;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,4BAA4B;IAC7E,eAAe,IAAI,MAAM;IAIzB,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO;IA0B7D,qBAAqB,CACnB,YAAY,EAAE,iBAAiB,EAAE,EACjC,kBAAkB,CAAC,EAAE,mCAAmC,EAAE,GACzD,0BAA0B;IAgE7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAQ7B"}
1
+ {"version":3,"file":"ParallelQueryRangeStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAG5F;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,4BAA4B;IAC7E,eAAe,IAAI,MAAM;IAIzB,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO;IA0B7D,qBAAqB,CACnB,YAAY,EAAE,iBAAiB,EAAE,EACjC,kBAAkB,CAAC,EAAE,mCAAmC,EAAE,GACzD,0BAA0B;CA+D9B"}
@@ -1,5 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ import { isPartitionExhausted } from "../PartitionRangeManager.js";
3
4
  /**
4
5
  * Strategy for filtering partition ranges in parallel query execution context
5
6
  * Supports resuming from composite continuation tokens with multi-range aggregation
@@ -54,7 +55,7 @@ export class ParallelQueryRangeStrategy {
54
55
  for (const range of continuationRanges) {
55
56
  // Always track the last processed range, even if it's exhausted
56
57
  lastProcessedRange = range.range;
57
- if (range && !this.isPartitionExhausted(range.continuationToken)) {
58
+ if (range && !isPartitionExhausted(range.continuationToken)) {
58
59
  rangeTokenPairs.push({
59
60
  range: range.range,
60
61
  continuationToken: range.continuationToken,
@@ -89,14 +90,5 @@ export class ParallelQueryRangeStrategy {
89
90
  rangeTokenPairs,
90
91
  };
91
92
  }
92
- /**
93
- * Checks if a partition is exhausted based on its continuation token
94
- */
95
- isPartitionExhausted(continuationToken) {
96
- return (!continuationToken ||
97
- continuationToken === "" ||
98
- continuationToken === "null" ||
99
- continuationToken.toLowerCase() === "null");
100
- }
101
93
  }
102
94
  //# sourceMappingURL=ParallelQueryRangeStrategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelQueryRangeStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./TargetPartitionRangeStrategy.js\";\nimport type { PartitionRangeWithContinuationToken } from \"./TargetPartitionRangeManager.js\";\n\n/**\n * Strategy for filtering partition ranges in parallel query execution context\n * Supports resuming from composite continuation tokens with multi-range aggregation\n * @hidden\n */\nexport class ParallelQueryRangeStrategy implements TargetPartitionRangeStrategy {\n getStrategyType(): string {\n return \"ParallelQuery\";\n }\n\n validateContinuationToken(continuationToken: string): boolean {\n // Check for null, undefined, or empty string inputs\n if (!continuationToken) {\n return false;\n }\n\n try {\n const parsed = JSON.parse(continuationToken);\n // Check if it's a composite continuation token (has rangeMappings)\n if (!parsed || !Array.isArray(parsed.rangeMappings)) {\n return false;\n }\n\n // Validate each range mapping has a non-null partitionKeyRange\n for (const rangeMapping of parsed.rangeMappings) {\n if (!rangeMapping || !rangeMapping.partitionKeyRange) {\n return false;\n }\n }\n\n return true;\n } catch {\n return false;\n }\n }\n\n filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n continuationRanges?: PartitionRangeWithContinuationToken[],\n ): PartitionRangeFilterResult {\n if (!targetRanges || targetRanges.length === 0) {\n return { rangeTokenPairs: [] };\n }\n\n // If no continuation ranges, return all ranges as range-token pairs\n if (!continuationRanges || continuationRanges.length === 0) {\n const rangeTokenPairs = targetRanges.map((range) => ({\n range,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n }));\n return { rangeTokenPairs };\n }\n\n const rangeTokenPairs: PartitionRangeWithContinuationToken[] = [];\n let lastProcessedRange: PartitionKeyRange | null = null;\n\n // sort continuationRanges in ascending order using their minInclusive values\n continuationRanges.sort((a, b) => {\n return a.range.minInclusive.localeCompare(b.range.minInclusive);\n });\n\n for (const range of continuationRanges) {\n // Always track the last processed range, even if it's exhausted\n lastProcessedRange = range.range;\n\n if (range && !this.isPartitionExhausted(range.continuationToken)) {\n rangeTokenPairs.push({\n range: range.range,\n continuationToken: range.continuationToken,\n filteringCondition: range.filteringCondition,\n });\n }\n }\n\n // Add any new target ranges that come after the last processed range\n if (lastProcessedRange) {\n for (const targetRange of targetRanges) {\n // Only include ranges whose minInclusive value is greater than or equal to maxExclusive of lastProcessedRange\n if (targetRange.minInclusive >= lastProcessedRange.maxExclusive) {\n rangeTokenPairs.push({\n range: targetRange,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n });\n }\n }\n } else {\n // If no ranges were processed from continuation token, add all target ranges\n for (const targetRange of targetRanges) {\n rangeTokenPairs.push({\n range: targetRange,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n });\n }\n }\n\n return {\n rangeTokenPairs,\n };\n }\n\n /**\n * Checks if a partition is exhausted based on its continuation token\n */\n private isPartitionExhausted(continuationToken: string | undefined): boolean {\n return (\n !continuationToken ||\n continuationToken === \"\" ||\n continuationToken === \"null\" ||\n continuationToken.toLowerCase() === \"null\"\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ParallelQueryRangeStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./TargetPartitionRangeStrategy.js\";\nimport type { PartitionRangeWithContinuationToken } from \"./TargetPartitionRangeManager.js\";\nimport { isPartitionExhausted } from \"../PartitionRangeManager.js\";\n\n/**\n * Strategy for filtering partition ranges in parallel query execution context\n * Supports resuming from composite continuation tokens with multi-range aggregation\n * @hidden\n */\nexport class ParallelQueryRangeStrategy implements TargetPartitionRangeStrategy {\n getStrategyType(): string {\n return \"ParallelQuery\";\n }\n\n validateContinuationToken(continuationToken: string): boolean {\n // Check for null, undefined, or empty string inputs\n if (!continuationToken) {\n return false;\n }\n\n try {\n const parsed = JSON.parse(continuationToken);\n // Check if it's a composite continuation token (has rangeMappings)\n if (!parsed || !Array.isArray(parsed.rangeMappings)) {\n return false;\n }\n\n // Validate each range mapping has a non-null partitionKeyRange\n for (const rangeMapping of parsed.rangeMappings) {\n if (!rangeMapping || !rangeMapping.partitionKeyRange) {\n return false;\n }\n }\n\n return true;\n } catch {\n return false;\n }\n }\n\n filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n continuationRanges?: PartitionRangeWithContinuationToken[],\n ): PartitionRangeFilterResult {\n if (!targetRanges || targetRanges.length === 0) {\n return { rangeTokenPairs: [] };\n }\n\n // If no continuation ranges, return all ranges as range-token pairs\n if (!continuationRanges || continuationRanges.length === 0) {\n const rangeTokenPairs = targetRanges.map((range) => ({\n range,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n }));\n return { rangeTokenPairs };\n }\n\n const rangeTokenPairs: PartitionRangeWithContinuationToken[] = [];\n let lastProcessedRange: PartitionKeyRange | null = null;\n\n // sort continuationRanges in ascending order using their minInclusive values\n continuationRanges.sort((a, b) => {\n return a.range.minInclusive.localeCompare(b.range.minInclusive);\n });\n\n for (const range of continuationRanges) {\n // Always track the last processed range, even if it's exhausted\n lastProcessedRange = range.range;\n\n if (range && !isPartitionExhausted(range.continuationToken)) {\n rangeTokenPairs.push({\n range: range.range,\n continuationToken: range.continuationToken,\n filteringCondition: range.filteringCondition,\n });\n }\n }\n\n // Add any new target ranges that come after the last processed range\n if (lastProcessedRange) {\n for (const targetRange of targetRanges) {\n // Only include ranges whose minInclusive value is greater than or equal to maxExclusive of lastProcessedRange\n if (targetRange.minInclusive >= lastProcessedRange.maxExclusive) {\n rangeTokenPairs.push({\n range: targetRange,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n });\n }\n }\n } else {\n // If no ranges were processed from continuation token, add all target ranges\n for (const targetRange of targetRanges) {\n rangeTokenPairs.push({\n range: targetRange,\n continuationToken: undefined as string | undefined,\n filteringCondition: undefined as string | undefined,\n });\n }\n }\n\n return {\n rangeTokenPairs,\n };\n }\n}\n"]}
@@ -7,4 +7,4 @@ export declare let defaultHttpAgent: Agent;
7
7
  * @hidden
8
8
  */
9
9
  export declare let defaultHttpsAgent: Agent;
10
- //# sourceMappingURL=defaultAgent-browser.d.mts.map
10
+ //# sourceMappingURL=defaultAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultAgent.d.ts","sourceRoot":"","sources":["../../../src/request/defaultAgent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC;;GAEG;AACH,eAAO,IAAI,gBAAgB,EAAE,KAAK,CAAC;AACnC;;GAEG;AACH,eAAO,IAAI,iBAAiB,EAAE,KAAK,CAAC"}
@@ -6,4 +6,4 @@ export let defaultHttpAgent;
6
6
  * @hidden
7
7
  */
8
8
  export let defaultHttpsAgent;
9
- //# sourceMappingURL=defaultAgent-browser.mjs.map
9
+ //# sourceMappingURL=defaultAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultAgent.js","sourceRoot":"","sources":["../../../src/request/defaultAgent.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,IAAI,gBAAuB,CAAC;AACnC;;GAEG;AACH,MAAM,CAAC,IAAI,iBAAwB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { Agent } from \"node:http\";\n/**\n * @hidden\n */\nexport let defaultHttpAgent: Agent;\n/**\n * @hidden\n */\nexport let defaultHttpsAgent: Agent;\n"]}
@@ -1,4 +1,4 @@
1
- import { ItemDefinition } from "../client/index.js";
1
+ import type { ItemDefinition } from "../client/index.js";
2
2
  export declare class HybridSearchQueryResult {
3
3
  rid: string;
4
4
  componentScores: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"hybridSearchQueryResult.d.ts","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,qBAAa,uBAAuB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEJ,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;WAMnE,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,uBAAuB;CA8BrF"}
1
+ {"version":3,"file":"hybridSearchQueryResult.d.ts","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD,qBAAa,uBAAuB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEJ,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;WAMnE,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,uBAAuB;CA8BrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"hybridSearchQueryResult.js","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,OAAO,uBAAuB;IAClC,GAAG,CAAS;IACZ,eAAe,CAAW;IAC1B,IAAI,CAAM;IACV,KAAK,CAAS;IACd,KAAK,CAAW;IAEhB,YAAY,GAAW,EAAE,eAAyB,EAAE,IAA6B;QAC/E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM,CAA2B,QAAW;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,eAAyB,CAAC;QAC9B,IAAI,IAA6B,CAAC;QAElC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,+CAA+C;YAC/C,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ItemDefinition } from \"../client/index.js\";\n\nconst FieldNames = {\n Rid: \"_rid\",\n Payload: \"payload\",\n ComponentScores: \"componentScores\",\n};\n\nexport class HybridSearchQueryResult {\n rid: string;\n componentScores: number[];\n data: any;\n score: number;\n ranks: number[];\n\n constructor(rid: string, componentScores: number[], data: Record<string, unknown>) {\n this.rid = rid;\n this.componentScores = componentScores;\n this.data = data;\n }\n\n public static create<T extends ItemDefinition>(document: T): HybridSearchQueryResult {\n const rid = document[FieldNames.Rid];\n if (!rid) {\n throw new Error(`${FieldNames.Rid} must exist.`);\n }\n\n const outerPayload = document[FieldNames.Payload];\n let componentScores: number[];\n let data: Record<string, unknown>;\n\n if (!outerPayload || typeof outerPayload !== \"object\") {\n throw new Error(`${FieldNames.Payload} must exist.`);\n }\n\n const innerPayload = outerPayload[FieldNames.Payload];\n\n if (innerPayload && typeof innerPayload === \"object\") {\n // older format without query plan optimization\n componentScores = outerPayload[FieldNames.ComponentScores];\n data = innerPayload;\n } else {\n // newer format with the optimization\n componentScores = document[FieldNames.ComponentScores];\n data = outerPayload;\n }\n if (!Array.isArray(componentScores)) {\n throw new Error(`${FieldNames.ComponentScores} must exist.`);\n }\n return new HybridSearchQueryResult(rid, componentScores, data);\n }\n}\n"]}
1
+ {"version":3,"file":"hybridSearchQueryResult.js","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,OAAO,uBAAuB;IAClC,GAAG,CAAS;IACZ,eAAe,CAAW;IAC1B,IAAI,CAAM;IACV,KAAK,CAAS;IACd,KAAK,CAAW;IAEhB,YAAY,GAAW,EAAE,eAAyB,EAAE,IAA6B;QAC/E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM,CAA2B,QAAW;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,eAAyB,CAAC;QAC9B,IAAI,IAA6B,CAAC;QAElC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,+CAA+C;YAC/C,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ItemDefinition } from \"../client/index.js\";\n\nconst FieldNames = {\n Rid: \"_rid\",\n Payload: \"payload\",\n ComponentScores: \"componentScores\",\n};\n\nexport class HybridSearchQueryResult {\n rid: string;\n componentScores: number[];\n data: any;\n score: number;\n ranks: number[];\n\n constructor(rid: string, componentScores: number[], data: Record<string, unknown>) {\n this.rid = rid;\n this.componentScores = componentScores;\n this.data = data;\n }\n\n public static create<T extends ItemDefinition>(document: T): HybridSearchQueryResult {\n const rid = document[FieldNames.Rid];\n if (!rid) {\n throw new Error(`${FieldNames.Rid} must exist.`);\n }\n\n const outerPayload = document[FieldNames.Payload];\n let componentScores: number[];\n let data: Record<string, unknown>;\n\n if (!outerPayload || typeof outerPayload !== \"object\") {\n throw new Error(`${FieldNames.Payload} must exist.`);\n }\n\n const innerPayload = outerPayload[FieldNames.Payload];\n\n if (innerPayload && typeof innerPayload === \"object\") {\n // older format without query plan optimization\n componentScores = outerPayload[FieldNames.ComponentScores];\n data = innerPayload;\n } else {\n // newer format with the optimization\n componentScores = document[FieldNames.ComponentScores];\n data = outerPayload;\n }\n if (!Array.isArray(componentScores)) {\n throw new Error(`${FieldNames.ComponentScores} must exist.`);\n }\n return new HybridSearchQueryResult(rid, componentScores, data);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
- export { ErrorResponse, ErrorBody, PartitionedQueryExecutionInfo, QueryInfo, QueryRange, AggregateType, GroupByExpressions, GroupByAliasToAggregateType, HybridSearchQueryInfo, } from "./ErrorResponse.js";
2
- export { FeedOptions } from "./FeedOptions.js";
3
- export { RequestOptions } from "./RequestOptions.js";
4
- export { Response } from "./Response.js";
1
+ export { ErrorResponse, type ErrorBody, type PartitionedQueryExecutionInfo, type QueryInfo, type QueryRange, type AggregateType, type GroupByExpressions, type GroupByAliasToAggregateType, type HybridSearchQueryInfo, } from "./ErrorResponse.js";
2
+ export type { FeedOptions } from "./FeedOptions.js";
3
+ export type { RequestOptions } from "./RequestOptions.js";
4
+ export type { Response } from "./Response.js";
5
5
  export { ResourceResponse } from "./ResourceResponse.js";
6
- export { SharedOptions } from "./SharedOptions.js";
7
- export { StatusCode, SubStatusCode } from "./StatusCodes.js";
6
+ export type { SharedOptions } from "./SharedOptions.js";
7
+ export type { StatusCode, SubStatusCode } from "./StatusCodes.js";
8
8
  export { FeedResponse } from "./FeedResponse.js";
9
- export { RequestContext } from "./RequestContext.js";
9
+ export type { RequestContext } from "./RequestContext.js";
10
10
  export { TimeoutError } from "./TimeoutError.js";
11
- export * from "./globalStatistics.js";
11
+ export type * from "./globalStatistics.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,SAAS,EACT,6BAA6B,EAC7B,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,6BAA6B,EAClC,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,mBAAmB,uBAAuB,CAAC"}
@@ -4,5 +4,4 @@ export { ErrorResponse, } from "./ErrorResponse.js";
4
4
  export { ResourceResponse } from "./ResourceResponse.js";
5
5
  export { FeedResponse } from "./FeedResponse.js";
6
6
  export { TimeoutError } from "./TimeoutError.js";
7
- export * from "./globalStatistics.js";
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EACL,aAAa,GASd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,uBAAuB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport {\n ErrorResponse,\n ErrorBody,\n PartitionedQueryExecutionInfo,\n QueryInfo,\n QueryRange,\n AggregateType,\n GroupByExpressions,\n GroupByAliasToAggregateType,\n HybridSearchQueryInfo,\n} from \"./ErrorResponse.js\";\nexport { FeedOptions } from \"./FeedOptions.js\";\nexport { RequestOptions } from \"./RequestOptions.js\";\nexport { Response } from \"./Response.js\";\nexport { ResourceResponse } from \"./ResourceResponse.js\";\nexport { SharedOptions } from \"./SharedOptions.js\";\nexport { StatusCode, SubStatusCode } from \"./StatusCodes.js\";\nexport { FeedResponse } from \"./FeedResponse.js\";\nexport { RequestContext } from \"./RequestContext.js\";\nexport { TimeoutError } from \"./TimeoutError.js\";\nexport * from \"./globalStatistics.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EACL,aAAa,GASd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport {\n ErrorResponse,\n type ErrorBody,\n type PartitionedQueryExecutionInfo,\n type QueryInfo,\n type QueryRange,\n type AggregateType,\n type GroupByExpressions,\n type GroupByAliasToAggregateType,\n type HybridSearchQueryInfo,\n} from \"./ErrorResponse.js\";\nexport type { FeedOptions } from \"./FeedOptions.js\";\nexport type { RequestOptions } from \"./RequestOptions.js\";\nexport type { Response } from \"./Response.js\";\nexport { ResourceResponse } from \"./ResourceResponse.js\";\nexport type { SharedOptions } from \"./SharedOptions.js\";\nexport type { StatusCode, SubStatusCode } from \"./StatusCodes.js\";\nexport { FeedResponse } from \"./FeedResponse.js\";\nexport type { RequestContext } from \"./RequestContext.js\";\nexport { TimeoutError } from \"./TimeoutError.js\";\nexport type * from \"./globalStatistics.js\";\n"]}
@@ -4,7 +4,7 @@ import type { GlobalEndpointManager } from "../globalEndpointManager.js";
4
4
  import type { ErrorResponse, RequestContext } from "../request/index.js";
5
5
  import type { RetryContext } from "./RetryContext.js";
6
6
  import type { RetryPolicy } from "./RetryPolicy.js";
7
- import { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
7
+ import type { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
8
8
  /**
9
9
  * This class implements the retry policy for endpoint discovery.
10
10
  * @hidden
@@ -1 +1 @@
1
- {"version":3,"file":"endpointDiscoveryRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAe5D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,8BAA8B,CAAC;IAjBzC,mCAAmC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACxC,sCAAsC;IAC/B,cAAc,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C;;OAEG;gBAEO,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,8BAA8B,CAAC,EAAE,8BAA8B;IAOzE;;;OAGG;IACU,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAoDxC"}
1
+ {"version":3,"file":"endpointDiscoveryRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAe5D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,8BAA8B,CAAC;IAjBzC,mCAAmC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACxC,sCAAsC;IAC/B,cAAc,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C;;OAEG;gBAEO,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,8BAA8B,CAAC,EAAE,8BAA8B;IAOzE;;;OAGG;IACU,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAoDxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpointDiscoveryRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAe7B;IACA;IACA;IACA;IAjBV,mCAAmC;IAC5B,wBAAwB,CAAS;IACxC,sCAAsC;IAC/B,cAAc,CAAS;IAE9B,+CAA+C;IACvC,QAAQ,CAAS;IACjB,MAAM,CAAU,QAAQ,GAAG,GAAG,CAAC,CAAC,kBAAkB;IAClD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YACU,qBAA4C,EAC5C,YAA0B,EAC1B,aAA4B,EAC5B,8BAA+D;QAH/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mCAA8B,GAA9B,8BAA8B,CAAiC;QAEvE,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC,cAAc,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CACtB,GAAkB,EAClB,cAAsC,EACtC,YAA2B,EAC3B,gBAAyB,EACzB,cAA+B;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,yBAAyB,CACrF,cAAc,EACd,cAAc,CACf,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACxD,YAAY,CAAC,6BAA6B,GAAG,KAAK,CAAC;QACnD,YAAY,CAAC,gCAAgC,GAAG,KAAK,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,2FAA2F;QAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,qCAAqC,CACpE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,sCAAsC,CACrE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { OperationType, ResourceType } from \"../common/index.js\";\nimport { isReadRequest } from \"../common/helper.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class implements the retry policy for endpoint discovery.\n * @hidden\n */\nexport class EndpointDiscoveryRetryPolicy implements RetryPolicy {\n /** Current retry attempt count. */\n public currentRetryAttemptCount: number;\n /** Retry interval in milliseconds. */\n public retryAfterInMs: number;\n\n /** Max number of retry attempts to perform. */\n private maxTries: number;\n private static readonly maxTries = 120; // TODO: Constant?\n private static readonly retryAfterInMs = 1000;\n\n /**\n * @param globalEndpointManager - The GlobalEndpointManager instance.\n */\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {\n this.maxTries = EndpointDiscoveryRetryPolicy.maxTries;\n this.currentRetryAttemptCount = 0;\n this.retryAfterInMs = EndpointDiscoveryRetryPolicy.retryAfterInMs;\n }\n\n /**\n * Determines whether the request should be retried or not.\n * @param err - Error returned by the request.\n */\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean | [boolean, string]> {\n if (!err) {\n return false;\n }\n\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n\n if (!this.globalEndpointManager.enableEndpointDiscovery) {\n return false;\n }\n\n if (this.globalPartitionEndpointManager) {\n const didFailover = await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n if (didFailover) {\n return true;\n }\n }\n\n if (this.currentRetryAttemptCount >= this.maxTries) {\n return false;\n }\n\n this.currentRetryAttemptCount++;\n retryContext.retryCount = this.currentRetryAttemptCount;\n retryContext.clearSessionTokenNotAvailable = false;\n retryContext.retryRequestOnPreferredLocations = false;\n diagnosticNode.addData({ successfulRetryPolicy: \"endpointDiscovery\" });\n\n // check if this is a readDatabaseAccount call\n // If yes, then simply return true (avoid recursive call triggered for readDatabaseAccount)\n if (this.resourceType === ResourceType.none && this.operationType === OperationType.Read) {\n return true;\n }\n\n if (isReadRequest(this.operationType)) {\n await this.globalEndpointManager.markCurrentLocationUnavailableForRead(\n diagnosticNode,\n locationEndpoint,\n );\n } else {\n await this.globalEndpointManager.markCurrentLocationUnavailableForWrite(\n diagnosticNode,\n locationEndpoint,\n );\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"endpointDiscoveryRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAe7B;IACA;IACA;IACA;IAjBV,mCAAmC;IAC5B,wBAAwB,CAAS;IACxC,sCAAsC;IAC/B,cAAc,CAAS;IAE9B,+CAA+C;IACvC,QAAQ,CAAS;IACjB,MAAM,CAAU,QAAQ,GAAG,GAAG,CAAC,CAAC,kBAAkB;IAClD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YACU,qBAA4C,EAC5C,YAA0B,EAC1B,aAA4B,EAC5B,8BAA+D;QAH/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mCAA8B,GAA9B,8BAA8B,CAAiC;QAEvE,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC,cAAc,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CACtB,GAAkB,EAClB,cAAsC,EACtC,YAA2B,EAC3B,gBAAyB,EACzB,cAA+B;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,yBAAyB,CACrF,cAAc,EACd,cAAc,CACf,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACxD,YAAY,CAAC,6BAA6B,GAAG,KAAK,CAAC;QACnD,YAAY,CAAC,gCAAgC,GAAG,KAAK,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,2FAA2F;QAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,qCAAqC,CACpE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,sCAAsC,CACrE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { OperationType, ResourceType } from \"../common/index.js\";\nimport { isReadRequest } from \"../common/helper.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport type { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class implements the retry policy for endpoint discovery.\n * @hidden\n */\nexport class EndpointDiscoveryRetryPolicy implements RetryPolicy {\n /** Current retry attempt count. */\n public currentRetryAttemptCount: number;\n /** Retry interval in milliseconds. */\n public retryAfterInMs: number;\n\n /** Max number of retry attempts to perform. */\n private maxTries: number;\n private static readonly maxTries = 120; // TODO: Constant?\n private static readonly retryAfterInMs = 1000;\n\n /**\n * @param globalEndpointManager - The GlobalEndpointManager instance.\n */\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {\n this.maxTries = EndpointDiscoveryRetryPolicy.maxTries;\n this.currentRetryAttemptCount = 0;\n this.retryAfterInMs = EndpointDiscoveryRetryPolicy.retryAfterInMs;\n }\n\n /**\n * Determines whether the request should be retried or not.\n * @param err - Error returned by the request.\n */\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean | [boolean, string]> {\n if (!err) {\n return false;\n }\n\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n\n if (!this.globalEndpointManager.enableEndpointDiscovery) {\n return false;\n }\n\n if (this.globalPartitionEndpointManager) {\n const didFailover = await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n if (didFailover) {\n return true;\n }\n }\n\n if (this.currentRetryAttemptCount >= this.maxTries) {\n return false;\n }\n\n this.currentRetryAttemptCount++;\n retryContext.retryCount = this.currentRetryAttemptCount;\n retryContext.clearSessionTokenNotAvailable = false;\n retryContext.retryRequestOnPreferredLocations = false;\n diagnosticNode.addData({ successfulRetryPolicy: \"endpointDiscovery\" });\n\n // check if this is a readDatabaseAccount call\n // If yes, then simply return true (avoid recursive call triggered for readDatabaseAccount)\n if (this.resourceType === ResourceType.none && this.operationType === OperationType.Read) {\n return true;\n }\n\n if (isReadRequest(this.operationType)) {\n await this.globalEndpointManager.markCurrentLocationUnavailableForRead(\n diagnosticNode,\n locationEndpoint,\n );\n } else {\n await this.globalEndpointManager.markCurrentLocationUnavailableForWrite(\n diagnosticNode,\n locationEndpoint,\n );\n }\n return true;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- export * from "./retryOptions.js";
1
+ export type * from "./retryOptions.js";
2
2
  export * from "./endpointDiscoveryRetryPolicy.js";
3
3
  export * from "./resourceThrottleRetryPolicy.js";
4
4
  export * from "./sessionRetryPolicy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,mBAAmB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
@@ -1,6 +1,3 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- export * from "./retryOptions.js";
4
1
  export * from "./endpointDiscoveryRetryPolicy.js";
5
2
  export * from "./resourceThrottleRetryPolicy.js";
6
3
  export * from "./sessionRetryPolicy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport * from \"./retryOptions.js\";\nexport * from \"./endpointDiscoveryRetryPolicy.js\";\nexport * from \"./resourceThrottleRetryPolicy.js\";\nexport * from \"./sessionRetryPolicy.js\";\nexport * from \"./retryUtility.js\";\nexport * from \"./timeoutFailoverRetryPolicy.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAGA,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport type * from \"./retryOptions.js\";\nexport * from \"./endpointDiscoveryRetryPolicy.js\";\nexport * from \"./resourceThrottleRetryPolicy.js\";\nexport * from \"./sessionRetryPolicy.js\";\nexport * from \"./retryUtility.js\";\nexport * from \"./timeoutFailoverRetryPolicy.js\";\n"]}
@@ -6,7 +6,7 @@ import type { RetryContext } from "./RetryContext.js";
6
6
  import type { CosmosHeaders } from "../queryExecutionContext/CosmosHeaders.js";
7
7
  import type { ErrorResponse, RequestContext } from "../request/index.js";
8
8
  import type { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
9
- import { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
9
+ import type { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
10
10
  /**
11
11
  * This class TimeoutFailoverRetryPolicy handles retries for read operations
12
12
  * (including data plane,metadata, and query plan) in case of request timeouts
@@ -1 +1 @@
1
- {"version":3,"file":"timeoutFailoverRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,WAAW;IAS1D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,8BAA8B,CAAC;IAdzC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,+BAA+B,CAAK;IACrC,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC;gBAGnB,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,OAAO,EAChC,8BAA8B,CAAC,EAAE,8BAA8B;IAGzE;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IASxB,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,CAAC;IAsDnB;;;;OAIG;YACW,iBAAiB;CAyBhC"}
1
+ {"version":3,"file":"timeoutFailoverRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,WAAW;IAS1D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,8BAA8B,CAAC;IAdzC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,+BAA+B,CAAK;IACrC,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC;gBAGnB,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,OAAO,EAChC,8BAA8B,CAAC,EAAE,8BAA8B;IAGzE;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IASxB,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,CAAC;IAsDnB;;;;OAIG;YACW,iBAAiB;CAyBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeoutFailoverRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { StatusCodes } from \"../common/statusCodes.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport { HTTPMethod, isReadRequest } from \"../common/index.js\";\nimport type { OperationType, ResourceType } from \"../common/constants.js\";\nimport { Constants } from \"../common/constants.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport { TimeoutErrorCode } from \"../request/TimeoutError.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class TimeoutFailoverRetryPolicy handles retries for read operations\n * (including data plane,metadata, and query plan) in case of request timeouts\n * (TimeoutError) or service unavailability (503 status code) by performing failover\n * and retrying on other regions.\n * @hidden\n */\nexport class TimeoutFailoverRetryPolicy implements RetryPolicy {\n private maxRetryAttemptCount = 120;\n private maxServiceUnavailableRetryCount = 1;\n public retryAfterInMs = 0;\n public failoverRetryCount = 0;\n public request: any;\n public locationEndpoint: any;\n\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private headers: CosmosHeaders,\n private methodType: HTTPMethod,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private enableEndPointDiscovery: boolean,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {}\n\n /**\n * Checks if a timeout request is valid for the timeout failover retry policy.\n * A valid request should be a data plane, metadata, or query plan request.\n * @returns\n */\n private isValidRequestForTimeoutError(): boolean {\n const isQuery = Constants.HttpHeaders.IsQuery in this.headers;\n const isQueryPlan = Constants.HttpHeaders.IsQueryPlan in this.headers;\n if (this.methodType === HTTPMethod.get || isQuery || isQueryPlan) {\n return true;\n }\n return false;\n }\n\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean> {\n if (!err) {\n return false;\n }\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n if (!this.enableEndPointDiscovery) {\n return false;\n }\n // Mark the partition as unavailable.\n // Let the Retry logic decide if the request should be retried\n if (requestContext && this.globalPartitionEndpointManager) {\n await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n }\n // Check if the error is a timeout error (TimeoutErrorCode) and if it is not a valid HTTP network timeout request\n if (err.code === TimeoutErrorCode && !this.isValidRequestForTimeoutError()) {\n return false;\n }\n if (\n err.code === StatusCodes.ServiceUnavailable &&\n this.failoverRetryCount >= this.maxServiceUnavailableRetryCount\n ) {\n return false;\n }\n if (this.failoverRetryCount >= this.maxRetryAttemptCount) {\n return false;\n }\n const canUseMultipleWriteLocations = this.globalEndpointManager.canUseMultipleWriteLocations(\n this.resourceType,\n this.operationType,\n );\n const readRequest = isReadRequest(this.operationType);\n\n if (\n !canUseMultipleWriteLocations &&\n !readRequest &&\n !this.globalPartitionEndpointManager?.isPartitionLevelAutomaticFailoverEnabled()\n ) {\n // Write requests on single master cannot be retried if partition level failover is disabled.\n // This means there are no other regions available to serve the writes.\n return false;\n }\n this.failoverRetryCount++;\n // Setting the retryLocationIndex to the next available location for retry.\n // The retryLocationIndex is determined based on the failoverRetryCount, starting from zero.\n retryContext.retryLocationServerIndex = await this.findEndpointIndex(this.failoverRetryCount);\n diagnosticNode.addData({ successfulRetryPolicy: \"timeout-failover\" });\n return true;\n }\n\n /**\n * Determines index of endpoint to be used for retry based upon failoverRetryCount and avalable locations\n * @param failoverRetryCount - count of failovers\n * @returns\n */\n private async findEndpointIndex(failoverRetryCount: number): Promise<number> {\n // count of preferred locations specified by user\n const preferredLocationsCount = this.globalEndpointManager.preferredLocationsCount;\n const readRequest = isReadRequest(this.operationType);\n let endpointIndex = 0;\n // If preferredLocationsCount is not zero, it indicates that the user has specified preferred locations.\n if (preferredLocationsCount !== 0) {\n // The endpointIndex is set based on the preferred location and the failover retry count.\n endpointIndex = failoverRetryCount % preferredLocationsCount;\n } else {\n // In the absence of preferred locations, the endpoint selection is based on the failover count and the number of available locations.\n if (readRequest) {\n const getReadEndpoints = await this.globalEndpointManager.getReadEndpoints();\n if (getReadEndpoints && getReadEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getReadEndpoints.length;\n }\n } else {\n const getWriteEndpoints = await this.globalEndpointManager.getWriteEndpoints();\n if (getWriteEndpoints && getWriteEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getWriteEndpoints.length;\n }\n }\n }\n return endpointIndex;\n }\n}\n"]}
1
+ {"version":3,"file":"timeoutFailoverRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { StatusCodes } from \"../common/statusCodes.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport { HTTPMethod, isReadRequest } from \"../common/index.js\";\nimport type { OperationType, ResourceType } from \"../common/constants.js\";\nimport { Constants } from \"../common/constants.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport { TimeoutErrorCode } from \"../request/TimeoutError.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class TimeoutFailoverRetryPolicy handles retries for read operations\n * (including data plane,metadata, and query plan) in case of request timeouts\n * (TimeoutError) or service unavailability (503 status code) by performing failover\n * and retrying on other regions.\n * @hidden\n */\nexport class TimeoutFailoverRetryPolicy implements RetryPolicy {\n private maxRetryAttemptCount = 120;\n private maxServiceUnavailableRetryCount = 1;\n public retryAfterInMs = 0;\n public failoverRetryCount = 0;\n public request: any;\n public locationEndpoint: any;\n\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private headers: CosmosHeaders,\n private methodType: HTTPMethod,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private enableEndPointDiscovery: boolean,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {}\n\n /**\n * Checks if a timeout request is valid for the timeout failover retry policy.\n * A valid request should be a data plane, metadata, or query plan request.\n * @returns\n */\n private isValidRequestForTimeoutError(): boolean {\n const isQuery = Constants.HttpHeaders.IsQuery in this.headers;\n const isQueryPlan = Constants.HttpHeaders.IsQueryPlan in this.headers;\n if (this.methodType === HTTPMethod.get || isQuery || isQueryPlan) {\n return true;\n }\n return false;\n }\n\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean> {\n if (!err) {\n return false;\n }\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n if (!this.enableEndPointDiscovery) {\n return false;\n }\n // Mark the partition as unavailable.\n // Let the Retry logic decide if the request should be retried\n if (requestContext && this.globalPartitionEndpointManager) {\n await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n }\n // Check if the error is a timeout error (TimeoutErrorCode) and if it is not a valid HTTP network timeout request\n if (err.code === TimeoutErrorCode && !this.isValidRequestForTimeoutError()) {\n return false;\n }\n if (\n err.code === StatusCodes.ServiceUnavailable &&\n this.failoverRetryCount >= this.maxServiceUnavailableRetryCount\n ) {\n return false;\n }\n if (this.failoverRetryCount >= this.maxRetryAttemptCount) {\n return false;\n }\n const canUseMultipleWriteLocations = this.globalEndpointManager.canUseMultipleWriteLocations(\n this.resourceType,\n this.operationType,\n );\n const readRequest = isReadRequest(this.operationType);\n\n if (\n !canUseMultipleWriteLocations &&\n !readRequest &&\n !this.globalPartitionEndpointManager?.isPartitionLevelAutomaticFailoverEnabled()\n ) {\n // Write requests on single master cannot be retried if partition level failover is disabled.\n // This means there are no other regions available to serve the writes.\n return false;\n }\n this.failoverRetryCount++;\n // Setting the retryLocationIndex to the next available location for retry.\n // The retryLocationIndex is determined based on the failoverRetryCount, starting from zero.\n retryContext.retryLocationServerIndex = await this.findEndpointIndex(this.failoverRetryCount);\n diagnosticNode.addData({ successfulRetryPolicy: \"timeout-failover\" });\n return true;\n }\n\n /**\n * Determines index of endpoint to be used for retry based upon failoverRetryCount and avalable locations\n * @param failoverRetryCount - count of failovers\n * @returns\n */\n private async findEndpointIndex(failoverRetryCount: number): Promise<number> {\n // count of preferred locations specified by user\n const preferredLocationsCount = this.globalEndpointManager.preferredLocationsCount;\n const readRequest = isReadRequest(this.operationType);\n let endpointIndex = 0;\n // If preferredLocationsCount is not zero, it indicates that the user has specified preferred locations.\n if (preferredLocationsCount !== 0) {\n // The endpointIndex is set based on the preferred location and the failover retry count.\n endpointIndex = failoverRetryCount % preferredLocationsCount;\n } else {\n // In the absence of preferred locations, the endpoint selection is based on the failover count and the number of available locations.\n if (readRequest) {\n const getReadEndpoints = await this.globalEndpointManager.getReadEndpoints();\n if (getReadEndpoints && getReadEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getReadEndpoints.length;\n }\n } else {\n const getWriteEndpoints = await this.globalEndpointManager.getWriteEndpoints();\n if (getWriteEndpoints && getWriteEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getWriteEndpoints.length;\n }\n }\n }\n return endpointIndex;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  declare let safeatob: (data: string) => string;
2
2
  export default safeatob;
3
- //# sourceMappingURL=atob-browser.d.mts.map
3
+ //# sourceMappingURL=atob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atob.d.ts","sourceRoot":"","sources":["../../../src/utils/atob.ts"],"names":[],"mappings":"AAGA,QAAA,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AA8CvC,eAAe,QAAQ,CAAC"}
@@ -41,4 +41,4 @@ else {
41
41
  safeatob = atob;
42
42
  }
43
43
  export default safeatob;
44
- //# sourceMappingURL=atob-browser.mjs.map
44
+ //# sourceMappingURL=atob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atob.js","sourceRoot":"","sources":["../../../src/utils/atob.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,IAAI,QAAkC,CAAC;AAEvC,mDAAmD;AACnD,MAAM,GAAG,GAAG,mEAAmE,CAAC;AAChF,2EAA2E;AAC3E,MAAM,KAAK,GAAG,sEAAsE,CAAC;AAErF,IAAI,UAAU,KAAK,OAAO,IAAI,EAAE,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE;QACjC,6EAA6E;QAC7E,0DAA0D;QAC1D,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAI,CAAC;YAC7B,MAAM;gBACJ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE3C,MAAM;gBACJ,EAAE,KAAK,EAAE;oBACP,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;oBAC3C,CAAC,CAAC,EAAE,KAAK,EAAE;wBACT,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;wBAChE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;KAAM,CAAC;IACN,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,eAAe,QAAQ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nlet safeatob: (data: string) => string;\n\n// base64 character set, plus padding character (=)\nconst b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n// Regular expression to check formal correctness of base64 encoded strings\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\n\nif (\"function\" !== typeof atob) {\n // atob implementation for React Native\n safeatob = (str: string): string => {\n // atob can work with strings with whitespaces, even inside the encoded part,\n // but only \\t, \\n, \\f, \\r and ' ', which can be stripped.\n let fixedStr = String(str).replace(/[\\t\\n\\f\\r ]+/g, \"\");\n if (!b64re.test(str)) {\n throw new TypeError(\n \"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\",\n );\n }\n\n // Adding the padding if missing, for simplicity\n fixedStr += \"==\".slice(2 - (fixedStr.length & 3));\n let bitmap;\n let result = \"\";\n let r1;\n let r2;\n let i = 0;\n for (; i < fixedStr.length; ) {\n bitmap =\n (b64.indexOf(fixedStr.charAt(i++)) << 18) |\n (b64.indexOf(fixedStr.charAt(i++)) << 12) |\n ((r1 = b64.indexOf(fixedStr.charAt(i++))) << 6) |\n (r2 = b64.indexOf(fixedStr.charAt(i++)));\n\n result +=\n r1 === 64\n ? String.fromCharCode((bitmap >> 16) & 255)\n : r2 === 64\n ? String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255)\n : String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255, bitmap & 255);\n }\n return result;\n };\n} else {\n safeatob = atob;\n}\n\nexport default safeatob;\n"]}
@@ -1,2 +1,2 @@
1
1
  export declare function digest(str: string): Promise<string>;
2
- //# sourceMappingURL=digest-browser.d.mts.map
2
+ //# sourceMappingURL=digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../../src/utils/digest.ts"],"names":[],"mappings":"AAMA,wBAAsB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzD"}
@@ -12,4 +12,4 @@ function bufferToHex(buffer) {
12
12
  .call(new Uint8Array(buffer), (item) => ("00" + item.toString(16)).slice(-2))
13
13
  .join("");
14
14
  }
15
- //# sourceMappingURL=digest-browser.mjs.map
15
+ //# sourceMappingURL=digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../../src/utils/digest.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG;SACvB,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACpF,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { encodeUTF8 } from \"./encode.js\";\nimport { globalCrypto } from \"./globalCrypto.js\";\n\nexport async function digest(str: string): Promise<string> {\n const data = encodeUTF8(str);\n const hash = await globalCrypto.subtle.digest(\"SHA-256\", data);\n return bufferToHex(hash);\n}\n\nfunction bufferToHex(buffer: ArrayBuffer): string {\n return Array.prototype.map\n .call(new Uint8Array(buffer), (item: number) => (\"00\" + item.toString(16)).slice(-2))\n .join(\"\");\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export declare const diagnosticLevelFromEnv: string | undefined;
2
- //# sourceMappingURL=envUtils-browser.d.mts.map
2
+ //# sourceMappingURL=envUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/envUtils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,EAAE,MAAM,GAAG,SAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  export const diagnosticLevelFromEnv = undefined;
4
- //# sourceMappingURL=envUtils-browser.mjs.map
4
+ //# sourceMappingURL=envUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envUtils.js","sourceRoot":"","sources":["../../../src/utils/envUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,sBAAsB,GAAuB,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const diagnosticLevelFromEnv: string | undefined = undefined;\n"]}
@@ -1,4 +1,4 @@
1
- import { PartitionKeyRange } from "../../client/index.js";
1
+ import type { PartitionKeyRange } from "../../client/index.js";
2
2
  import type { PartitionKeyDefinition, PrimitivePartitionKeyValue } from "../../documents/index.js";
3
3
  /**
4
4
  * Generate hash of a PartitonKey based on it PartitionKeyDefinition.
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAOnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,0BAA0B,EAAE,EAC1C,mBAAmB,EAAE,sBAAsB,GAC1C,MAAM,CAYR;AAED,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,SAAS,CAiBpB"}
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAOnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,0BAA0B,EAAE,EAC1C,mBAAmB,EAAE,sBAAsB,GAC1C,MAAM,CAYR;AAED,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,SAAS,CAiBpB"}