@azure/cosmos 4.7.0 → 4.8.0-alpha.20251121.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (814) hide show
  1. package/dist/browser/CosmosClientOptions.d.ts +1 -1
  2. package/dist/browser/CosmosClientOptions.js.map +1 -1
  3. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  4. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  5. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  6. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  7. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  9. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  10. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  11. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  13. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  16. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/changeFeedUtils.js +47 -0
  18. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  19. package/dist/browser/common/constants.d.ts.map +1 -1
  20. package/dist/browser/common/constants.js +16 -1
  21. package/dist/browser/common/constants.js.map +1 -1
  22. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  23. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  24. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  25. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  26. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  27. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  28. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  29. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  30. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  31. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  32. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  33. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  34. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts +4 -0
  35. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  36. package/dist/browser/documents/VectorEmbeddingPolicy.js +4 -0
  37. package/dist/browser/documents/VectorEmbeddingPolicy.js.map +1 -1
  38. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  39. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  40. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  41. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  42. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  43. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  44. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  45. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  46. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  47. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  48. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  49. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  50. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  51. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  52. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  53. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  54. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  55. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  56. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  57. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  58. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  59. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  60. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  61. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  62. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  63. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  64. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  65. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  66. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  67. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  68. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  69. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  70. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  71. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  72. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  73. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  74. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  75. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  76. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  77. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  78. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  79. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  80. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  81. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  82. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  83. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  84. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  85. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  86. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  87. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  89. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  91. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  92. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  93. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  94. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  95. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  96. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  97. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  98. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  99. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  100. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  101. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  102. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  103. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  104. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  105. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  106. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  107. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  108. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  109. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  110. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  111. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  112. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  113. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  114. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  115. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  116. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  117. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  118. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  119. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  120. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  121. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  122. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  123. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  124. package/dist/browser/queryExecutionContext/index.js +4 -0
  125. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  126. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  127. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  128. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  130. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  131. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  132. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  134. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  136. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  138. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  140. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  144. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  145. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  146. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  147. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  148. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  149. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  150. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  152. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  154. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  155. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  156. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  157. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  158. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  160. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  162. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  164. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  166. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  168. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  169. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  170. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  171. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  172. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  173. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  174. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  175. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  176. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  177. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  178. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  179. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  180. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  181. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  182. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  183. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  184. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  185. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  186. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  187. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  188. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  189. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  190. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  191. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  192. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  193. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  194. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  195. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  196. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  197. package/dist/browser/queryIterator.js.map +1 -1
  198. package/dist/browser/request/RequestHandler.d.ts.map +1 -1
  199. package/dist/browser/request/RequestHandler.js +10 -4
  200. package/dist/browser/request/RequestHandler.js.map +1 -1
  201. package/dist/browser/utils/offers.d.ts.map +1 -1
  202. package/dist/browser/utils/offers.js +0 -1
  203. package/dist/browser/utils/offers.js.map +1 -1
  204. package/dist/commonjs/CosmosClientOptions.d.ts +1 -1
  205. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  206. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  207. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +1 -33
  208. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  209. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  210. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +1 -34
  211. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  212. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  213. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  214. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  215. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  216. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  217. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  218. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  219. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  220. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +48 -0
  221. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  222. package/dist/commonjs/common/constants.d.ts.map +1 -1
  223. package/dist/commonjs/common/constants.js +13 -2
  224. package/dist/commonjs/common/constants.js.map +1 -1
  225. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  226. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  227. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  228. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  229. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  230. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  231. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  232. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  233. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  234. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  235. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  236. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  237. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts +4 -0
  238. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  239. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +4 -0
  240. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  241. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  242. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  243. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  244. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  245. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  246. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  247. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  248. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  249. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  250. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  251. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  252. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  253. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  254. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  255. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  256. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  257. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  258. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  259. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  260. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  261. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  262. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  263. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  264. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  265. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  266. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  267. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  269. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  271. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  272. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  274. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  275. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  276. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  278. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  280. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  281. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  282. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  283. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  284. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  285. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  286. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  287. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  288. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  289. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  290. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  292. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  294. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  296. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  298. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  299. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  300. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  301. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  302. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  304. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  306. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  308. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  310. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  312. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  314. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  315. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  316. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  317. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  318. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  319. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  320. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  321. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  322. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  323. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  324. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  325. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  326. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  327. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  328. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  329. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  330. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  331. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  332. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  333. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  334. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  335. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  336. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  337. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  338. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  339. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  340. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  341. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  342. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  343. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  344. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  345. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  346. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  347. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  348. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  349. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  350. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  351. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  352. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  353. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  354. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  355. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  356. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  357. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  358. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  359. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  360. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  361. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  362. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  363. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  364. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  365. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  366. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  367. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  368. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  369. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  370. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  371. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  372. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  373. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  374. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  375. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  376. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  377. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  378. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  379. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  380. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  381. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  382. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  383. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  384. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  385. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  386. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  387. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  388. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  389. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  390. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  391. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  392. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  393. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  394. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  395. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  396. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  397. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  398. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  399. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  400. package/dist/commonjs/queryIterator.js.map +1 -1
  401. package/dist/commonjs/request/RequestHandler.d.ts.map +1 -1
  402. package/dist/commonjs/request/RequestHandler.js +10 -4
  403. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  404. package/dist/commonjs/tsdoc-metadata.json +1 -1
  405. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  406. package/dist/commonjs/utils/offers.js +0 -1
  407. package/dist/commonjs/utils/offers.js.map +1 -1
  408. package/dist/esm/CosmosClientOptions.d.ts +1 -1
  409. package/dist/esm/CosmosClientOptions.js.map +1 -1
  410. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  411. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  412. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  413. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  414. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  415. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  416. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  417. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  418. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  419. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  420. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  421. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  422. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  423. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  424. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +47 -0
  425. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  426. package/dist/esm/common/constants.d.ts.map +1 -1
  427. package/dist/esm/common/constants.js +16 -1
  428. package/dist/esm/common/constants.js.map +1 -1
  429. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  430. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  431. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  432. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  433. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  434. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  435. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  436. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  437. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  438. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  439. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  440. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  441. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts +4 -0
  442. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  443. package/dist/esm/documents/VectorEmbeddingPolicy.js +4 -0
  444. package/dist/esm/documents/VectorEmbeddingPolicy.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  446. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  447. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  448. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  449. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  450. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  451. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  452. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  453. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  454. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  455. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  456. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  457. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  458. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  459. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  460. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  461. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  462. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  463. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  464. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  465. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  466. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  467. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  468. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  469. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  470. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  471. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  472. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  473. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  474. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  475. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  476. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  477. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  478. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  479. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  480. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  481. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  482. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  483. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  484. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  485. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  486. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  487. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  488. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  489. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  490. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  491. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  492. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  493. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  494. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  495. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  496. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  497. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  498. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  500. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  502. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  504. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  506. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  508. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  510. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  512. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  513. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  514. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  515. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  516. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  517. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  518. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  519. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  520. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  521. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  522. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  523. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  524. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  525. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  526. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  527. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  528. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  529. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  530. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  531. package/dist/esm/queryExecutionContext/index.js +4 -0
  532. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  533. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  534. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  535. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  536. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  537. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  538. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  539. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  540. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  541. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  542. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  543. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  544. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  545. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  546. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  547. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  548. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  549. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  550. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  551. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  552. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  553. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  554. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  555. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  556. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  557. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  558. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  559. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  560. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  561. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  562. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  563. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  564. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  565. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  566. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  567. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  568. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  569. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  570. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  571. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  572. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  573. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  574. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  575. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  576. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  577. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  578. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  579. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  580. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  581. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  582. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  583. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  584. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  585. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  586. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  587. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  588. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  589. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  590. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  591. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  592. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  593. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  594. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  595. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  596. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  597. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  598. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  599. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  600. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  601. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  602. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  603. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  604. package/dist/esm/queryIterator.js.map +1 -1
  605. package/dist/esm/request/RequestHandler.d.ts.map +1 -1
  606. package/dist/esm/request/RequestHandler.js +10 -4
  607. package/dist/esm/request/RequestHandler.js.map +1 -1
  608. package/dist/esm/utils/offers.d.ts.map +1 -1
  609. package/dist/esm/utils/offers.js +0 -1
  610. package/dist/esm/utils/offers.js.map +1 -1
  611. package/dist/react-native/CosmosClientOptions.d.ts +1 -1
  612. package/dist/react-native/CosmosClientOptions.js.map +1 -1
  613. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  614. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  615. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  616. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  617. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  618. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  619. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  620. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  621. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  622. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  623. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  624. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  625. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  626. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  627. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +47 -0
  628. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  629. package/dist/react-native/common/constants.d.ts.map +1 -1
  630. package/dist/react-native/common/constants.js +16 -1
  631. package/dist/react-native/common/constants.js.map +1 -1
  632. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  633. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  634. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  635. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  636. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  637. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  638. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  639. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  640. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  641. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  642. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  643. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  644. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts +4 -0
  645. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  646. package/dist/react-native/documents/VectorEmbeddingPolicy.js +4 -0
  647. package/dist/react-native/documents/VectorEmbeddingPolicy.js.map +1 -1
  648. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  649. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  650. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  651. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  652. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  653. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  654. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  655. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  656. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  657. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  658. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  659. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  660. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  661. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  662. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  663. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  664. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  665. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  666. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  667. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  668. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  669. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  670. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  671. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  672. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  673. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  674. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  675. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  676. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  677. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  678. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  679. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  680. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  681. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  682. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  683. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  684. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  685. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  686. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  687. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  688. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  689. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  690. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  691. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  692. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  693. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  694. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  695. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  696. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  697. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  698. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  699. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  700. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  701. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  702. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  703. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  704. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  705. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  706. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  707. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  708. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  709. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  710. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  711. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  712. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  713. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  714. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  715. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  716. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  717. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  718. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  719. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  720. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  721. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  722. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  723. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  724. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  725. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  726. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  727. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  728. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  729. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  730. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  731. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  732. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  733. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  734. package/dist/react-native/queryExecutionContext/index.js +4 -0
  735. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  736. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  737. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  738. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  739. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  740. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  741. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  742. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  743. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  744. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  745. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  746. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  747. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  748. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  749. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  750. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  751. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  752. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  753. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  754. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  755. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  756. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  757. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  758. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  759. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  760. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  761. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  762. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  763. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  764. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  765. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  766. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  767. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  768. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  769. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  770. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  771. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  772. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  773. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  774. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  775. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  776. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  777. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  778. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  779. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  780. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  781. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  782. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  783. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  784. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  785. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  786. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  787. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  788. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  789. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  790. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  791. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  792. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  793. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  794. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  795. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  796. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  797. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  798. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  799. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  800. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  801. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  802. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  803. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  804. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  805. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  806. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  807. package/dist/react-native/queryIterator.js.map +1 -1
  808. package/dist/react-native/request/RequestHandler.d.ts.map +1 -1
  809. package/dist/react-native/request/RequestHandler.js +10 -4
  810. package/dist/react-native/request/RequestHandler.js.map +1 -1
  811. package/dist/react-native/utils/offers.d.ts.map +1 -1
  812. package/dist/react-native/utils/offers.js +0 -1
  813. package/dist/react-native/utils/offers.js.map +1 -1
  814. package/package.json +23 -22
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.calculateOffsetLimitForPartitionRanges = calculateOffsetLimitForPartitionRanges;
6
+ exports.processDistinctQueryAndUpdateRangeMap = processDistinctQueryAndUpdateRangeMap;
7
+ /**
8
+ * Calculates offset/limit values after consuming each partition range sequentially
9
+ * @param partitionKeyRangeMap - Map of range IDs to range mappings
10
+ * @param initialOffset - Initial offset value
11
+ * @param initialLimit - Initial limit value
12
+ * @returns Updated partition key range map with calculated offset/limit values and updated itemCount
13
+ * @hidden
14
+ */
15
+ function calculateOffsetLimitForPartitionRanges(partitionKeyRangeMap, initialOffset, initialLimit) {
16
+ if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {
17
+ return partitionKeyRangeMap;
18
+ }
19
+ const updatedMap = new Map();
20
+ let currentOffset = initialOffset;
21
+ let currentLimit = initialLimit;
22
+ for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {
23
+ const { itemCount } = rangeMapping;
24
+ let offsetAfterThisRange = currentOffset;
25
+ let limitAfterThisRange = currentLimit;
26
+ let updatedItemCount = itemCount;
27
+ if (itemCount > 0) {
28
+ if (currentOffset > 0) {
29
+ // Calculate how much offset this range consumes
30
+ const offsetConsumption = Math.min(currentOffset, itemCount);
31
+ offsetAfterThisRange = currentOffset - offsetConsumption;
32
+ // Calculate remaining items after offset consumption
33
+ const remainingItems = itemCount - offsetConsumption;
34
+ if (remainingItems > 0 && currentLimit > 0) {
35
+ // Apply limit to remaining items
36
+ const limitConsumption = Math.min(currentLimit, remainingItems);
37
+ limitAfterThisRange = currentLimit - limitConsumption;
38
+ // Update item count to reflect actual items that will be returned from this range
39
+ updatedItemCount = limitConsumption;
40
+ }
41
+ else {
42
+ // No items left after offset, or no limit remaining
43
+ updatedItemCount = 0;
44
+ limitAfterThisRange = currentLimit;
45
+ }
46
+ }
47
+ else if (currentLimit > 0) {
48
+ // No offset, but limit applies
49
+ const limitConsumption = Math.min(currentLimit, itemCount);
50
+ limitAfterThisRange = currentLimit - limitConsumption;
51
+ offsetAfterThisRange = 0;
52
+ // Update item count to reflect actual items that will be returned from this range
53
+ updatedItemCount = limitConsumption;
54
+ }
55
+ else {
56
+ // No limit remaining - this range contributes 0 items
57
+ updatedItemCount = 0;
58
+ }
59
+ // Update running totals for next iteration
60
+ currentOffset = offsetAfterThisRange;
61
+ currentLimit = limitAfterThisRange;
62
+ }
63
+ else {
64
+ // Range has no items to begin with
65
+ updatedItemCount = 0;
66
+ }
67
+ updatedMap.set(rangeId, {
68
+ ...rangeMapping,
69
+ offset: offsetAfterThisRange,
70
+ limit: limitAfterThisRange,
71
+ itemCount: updatedItemCount,
72
+ });
73
+ }
74
+ return updatedMap;
75
+ }
76
+ /**
77
+ * Processes distinct query logic and updates partition key range map with hashedLastResult
78
+ * @param originalBuffer - Original buffer containing query results
79
+ * @param partitionKeyRangeMap - Map of partition key ranges
80
+ * @param hashFunction - Hash function for items
81
+ * @returns Updated partition key range map with hashedLastResult for each range
82
+ * @hidden
83
+ */
84
+ async function processDistinctQueryAndUpdateRangeMap(originalBuffer, partitionKeyRangeMap, hashFunction) {
85
+ if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {
86
+ return partitionKeyRangeMap;
87
+ }
88
+ const updatedMap = new Map();
89
+ let bufferIndex = 0;
90
+ for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {
91
+ const { itemCount } = rangeMapping;
92
+ let lastHashForThisRange;
93
+ if (itemCount > 0 && bufferIndex <= originalBuffer.length) {
94
+ const rangeEndIndex = Math.min(bufferIndex + itemCount, originalBuffer.length);
95
+ const lastItemIndex = rangeEndIndex - 1;
96
+ const lastItem = originalBuffer[lastItemIndex];
97
+ if (lastItem) {
98
+ lastHashForThisRange = await hashFunction(lastItem);
99
+ }
100
+ bufferIndex = rangeEndIndex;
101
+ }
102
+ updatedMap.set(rangeId, {
103
+ ...rangeMapping,
104
+ hashedLastResult: lastHashForThisRange,
105
+ });
106
+ }
107
+ return updatedMap;
108
+ }
109
+ //# sourceMappingURL=PartitionRangeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartitionRangeUtils.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/PartitionRangeUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Calculates offset/limit values after consuming each partition range sequentially\n * @param partitionKeyRangeMap - Map of range IDs to range mappings\n * @param initialOffset - Initial offset value\n * @param initialLimit - Initial limit value\n * @returns Updated partition key range map with calculated offset/limit values and updated itemCount\n * @hidden\n */\nexport function calculateOffsetLimitForPartitionRanges(\n partitionKeyRangeMap: Map<string, any>,\n initialOffset: number,\n initialLimit: number,\n): Map<string, any> {\n if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {\n return partitionKeyRangeMap;\n }\n\n const updatedMap = new Map<string, any>();\n let currentOffset = initialOffset;\n let currentLimit = initialLimit;\n\n for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {\n const { itemCount } = rangeMapping;\n\n let offsetAfterThisRange = currentOffset;\n let limitAfterThisRange = currentLimit;\n let updatedItemCount = itemCount;\n\n if (itemCount > 0) {\n if (currentOffset > 0) {\n // Calculate how much offset this range consumes\n const offsetConsumption = Math.min(currentOffset, itemCount);\n offsetAfterThisRange = currentOffset - offsetConsumption;\n\n // Calculate remaining items after offset consumption\n const remainingItems = itemCount - offsetConsumption;\n\n if (remainingItems > 0 && currentLimit > 0) {\n // Apply limit to remaining items\n const limitConsumption = Math.min(currentLimit, remainingItems);\n limitAfterThisRange = currentLimit - limitConsumption;\n // Update item count to reflect actual items that will be returned from this range\n updatedItemCount = limitConsumption;\n } else {\n // No items left after offset, or no limit remaining\n updatedItemCount = 0;\n limitAfterThisRange = currentLimit;\n }\n } else if (currentLimit > 0) {\n // No offset, but limit applies\n const limitConsumption = Math.min(currentLimit, itemCount);\n limitAfterThisRange = currentLimit - limitConsumption;\n offsetAfterThisRange = 0;\n // Update item count to reflect actual items that will be returned from this range\n updatedItemCount = limitConsumption;\n } else {\n // No limit remaining - this range contributes 0 items\n updatedItemCount = 0;\n }\n\n // Update running totals for next iteration\n currentOffset = offsetAfterThisRange;\n currentLimit = limitAfterThisRange;\n } else {\n // Range has no items to begin with\n updatedItemCount = 0;\n }\n\n updatedMap.set(rangeId, {\n ...rangeMapping,\n offset: offsetAfterThisRange,\n limit: limitAfterThisRange,\n itemCount: updatedItemCount,\n });\n }\n\n return updatedMap;\n}\n\n/**\n * Processes distinct query logic and updates partition key range map with hashedLastResult\n * @param originalBuffer - Original buffer containing query results\n * @param partitionKeyRangeMap - Map of partition key ranges\n * @param hashFunction - Hash function for items\n * @returns Updated partition key range map with hashedLastResult for each range\n * @hidden\n */\nexport async function processDistinctQueryAndUpdateRangeMap(\n originalBuffer: any[],\n partitionKeyRangeMap: Map<string, any>,\n hashFunction: (item: any) => Promise<string>,\n): Promise<Map<string, any>> {\n if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {\n return partitionKeyRangeMap;\n }\n\n const updatedMap = new Map<string, any>();\n let bufferIndex = 0;\n\n for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {\n const { itemCount } = rangeMapping;\n\n let lastHashForThisRange: string | undefined;\n if (itemCount > 0 && bufferIndex <= originalBuffer.length) {\n const rangeEndIndex = Math.min(bufferIndex + itemCount, originalBuffer.length);\n const lastItemIndex = rangeEndIndex - 1;\n\n const lastItem = originalBuffer[lastItemIndex];\n if (lastItem) {\n lastHashForThisRange = await hashFunction(lastItem);\n }\n bufferIndex = rangeEndIndex;\n }\n\n updatedMap.set(rangeId, {\n ...rangeMapping,\n hashedLastResult: lastHashForThisRange,\n });\n }\n\n return updatedMap;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import type { Response } from "../request/index.js";
2
+ import type { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
3
+ import type { ExecutionContext } from "./ExecutionContext.js";
4
+ /**
5
+ * Query control enabled fetch implementation with continuation token support
6
+ * @hidden
7
+ */
8
+ export declare class QueryControlFetchImplementation {
9
+ private endpoint;
10
+ private pageSize;
11
+ private readonly continuationTokenManager;
12
+ private readonly querySupportsTokens;
13
+ constructor(endpoint: ExecutionContext, pageSize: number, collectionLink: string, continuationToken: string | undefined, isOrderByQuery: boolean, querySupportsTokens: boolean);
14
+ fetchMore(diagnosticNode: DiagnosticNodeInternal, fetchBuffer: any[]): Promise<Response<any>>;
15
+ private _handleSimpleBufferFetch;
16
+ private _handleQueryFetch;
17
+ private _setContinuationTokenInHeaders;
18
+ private _createEmptyResult;
19
+ }
20
+ //# sourceMappingURL=QueryControlFetchImplementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryControlFetchImplementation.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryControlFetchImplementation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAKvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,+BAA+B;IAMxC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+B;IACxE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAGpC,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,cAAc,EAAE,OAAO,EACvB,mBAAmB,EAAE,OAAO;IAYxB,SAAS,CACb,cAAc,EAAE,sBAAsB,EACtC,WAAW,EAAE,GAAG,EAAE,GACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAaX,wBAAwB;YA6BxB,iBAAiB;IA8C/B,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,kBAAkB;CAI3B"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.QueryControlFetchImplementation = void 0;
6
+ const headerUtils_js_1 = require("./headerUtils.js");
7
+ const ContinuationTokenManagerFactory_js_1 = require("./ContinuationTokenManager/ContinuationTokenManagerFactory.js");
8
+ const index_js_1 = require("../common/index.js");
9
+ /**
10
+ * Query control enabled fetch implementation with continuation token support
11
+ * @hidden
12
+ */
13
+ class QueryControlFetchImplementation {
14
+ endpoint;
15
+ pageSize;
16
+ // Required fields for query control - not optional
17
+ continuationTokenManager;
18
+ querySupportsTokens;
19
+ constructor(endpoint, pageSize, collectionLink, continuationToken, isOrderByQuery, querySupportsTokens) {
20
+ this.endpoint = endpoint;
21
+ this.pageSize = pageSize;
22
+ this.querySupportsTokens = querySupportsTokens;
23
+ // Initialize continuation token manager immediately for query control
24
+ this.continuationTokenManager = ContinuationTokenManagerFactory_js_1.ContinuationTokenManagerFactory.create(collectionLink, continuationToken, isOrderByQuery);
25
+ }
26
+ async fetchMore(diagnosticNode, fetchBuffer) {
27
+ // Initialize headers fresh for each fetchMore call
28
+ const fetchMoreRespHeaders = (0, headerUtils_js_1.getInitialHeader)();
29
+ // Use continuation token logic for supported queries when query control is enabled
30
+ // Otherwise use simplified buffer-only logic
31
+ if (this.querySupportsTokens) {
32
+ return this._handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);
33
+ }
34
+ else {
35
+ return this._handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);
36
+ }
37
+ }
38
+ async _handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders) {
39
+ // Return buffered data if available
40
+ if (fetchBuffer.length > 0) {
41
+ const temp = fetchBuffer.slice(0, this.pageSize);
42
+ fetchBuffer.splice(0, this.pageSize); // Remove items in place
43
+ return { result: temp, headers: fetchMoreRespHeaders };
44
+ }
45
+ // Fetch new data from endpoint
46
+ const response = await this.endpoint.fetchMore(diagnosticNode);
47
+ (0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, response.headers);
48
+ if (!response?.result?.buffer?.length) {
49
+ return this._createEmptyResult(response?.headers);
50
+ }
51
+ // Buffer new data and return up to pageSize
52
+ fetchBuffer.length = 0; // Clear existing items
53
+ fetchBuffer.push(...response.result.buffer); // Add new items
54
+ const temp = fetchBuffer.slice(0, this.pageSize);
55
+ fetchBuffer.splice(0, this.pageSize); // Remove returned items in place
56
+ return { result: temp, headers: fetchMoreRespHeaders };
57
+ }
58
+ async _handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders) {
59
+ if (fetchBuffer.length > 0) {
60
+ const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, false);
61
+ const temp = fetchBuffer.slice(0, endIndex);
62
+ fetchBuffer.splice(0, endIndex); // Remove returned items in place
63
+ this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
64
+ return { result: temp, headers: fetchMoreRespHeaders };
65
+ }
66
+ // Fetch new data from endpoint
67
+ fetchBuffer.length = 0; // Clear existing items in place
68
+ const response = await this.endpoint.fetchMore(diagnosticNode);
69
+ (0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, response.headers);
70
+ if (!response?.result?.buffer || response.result.buffer.length === 0) {
71
+ const { continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, true, // isResponseEmpty = true
72
+ response?.result);
73
+ this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
74
+ return this._createEmptyResult(fetchMoreRespHeaders);
75
+ }
76
+ fetchBuffer.push(...response.result.buffer); // Add new items to existing buffer
77
+ const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, false, // isResponseEmpty = false
78
+ response.result);
79
+ const temp = fetchBuffer.slice(0, endIndex);
80
+ fetchBuffer.splice(0, endIndex); // Remove returned items in place
81
+ this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
82
+ return { result: temp, headers: fetchMoreRespHeaders };
83
+ }
84
+ _setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders) {
85
+ if (continuationToken) {
86
+ Object.assign(fetchMoreRespHeaders, {
87
+ [index_js_1.Constants.HttpHeaders.Continuation]: continuationToken,
88
+ });
89
+ }
90
+ }
91
+ _createEmptyResult(headers) {
92
+ const hdrs = headers || (0, headerUtils_js_1.getInitialHeader)();
93
+ return { result: [], headers: hdrs };
94
+ }
95
+ }
96
+ exports.QueryControlFetchImplementation = QueryControlFetchImplementation;
97
+ //# sourceMappingURL=QueryControlFetchImplementation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryControlFetchImplementation.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryControlFetchImplementation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Response } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { mergeHeaders, getInitialHeader } from \"./headerUtils.js\";\nimport type { BaseContinuationTokenManager } from \"./ContinuationTokenManager/BaseContinuationTokenManager.js\";\nimport { ContinuationTokenManagerFactory } from \"./ContinuationTokenManager/ContinuationTokenManagerFactory.js\";\nimport { Constants } from \"../common/index.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\n\n/**\n * Query control enabled fetch implementation with continuation token support\n * @hidden\n */\nexport class QueryControlFetchImplementation {\n // Required fields for query control - not optional\n private readonly continuationTokenManager: BaseContinuationTokenManager;\n private readonly querySupportsTokens: boolean;\n\n constructor(\n private endpoint: ExecutionContext,\n private pageSize: number,\n collectionLink: string,\n continuationToken: string | undefined,\n isOrderByQuery: boolean,\n querySupportsTokens: boolean,\n ) {\n this.querySupportsTokens = querySupportsTokens;\n\n // Initialize continuation token manager immediately for query control\n this.continuationTokenManager = ContinuationTokenManagerFactory.create(\n collectionLink,\n continuationToken,\n isOrderByQuery,\n );\n }\n\n async fetchMore(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n ): Promise<Response<any>> {\n // Initialize headers fresh for each fetchMore call\n const fetchMoreRespHeaders = getInitialHeader();\n\n // Use continuation token logic for supported queries when query control is enabled\n // Otherwise use simplified buffer-only logic\n if (this.querySupportsTokens) {\n return this._handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n } else {\n return this._handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n }\n }\n\n private async _handleSimpleBufferFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n // Return buffered data if available\n if (fetchBuffer.length > 0) {\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove items in place\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer?.length) {\n return this._createEmptyResult(response?.headers);\n }\n\n // Buffer new data and return up to pageSize\n fetchBuffer.length = 0; // Clear existing items\n fetchBuffer.push(...response.result.buffer); // Add new items\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove returned items in place\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private async _handleQueryFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n if (fetchBuffer.length > 0) {\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false,\n );\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n fetchBuffer.length = 0; // Clear existing items in place\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer || response.result.buffer.length === 0) {\n const { continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n true, // isResponseEmpty = true\n response?.result, // Pass response data for processing\n );\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n return this._createEmptyResult(fetchMoreRespHeaders);\n }\n\n fetchBuffer.push(...response.result.buffer); // Add new items to existing buffer\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false, // isResponseEmpty = false\n response.result, // Pass response data for processing\n );\n\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private _setContinuationTokenInHeaders(\n continuationToken: string | undefined,\n fetchMoreRespHeaders: Record<string, any>,\n ): void {\n if (continuationToken) {\n Object.assign(fetchMoreRespHeaders, {\n [Constants.HttpHeaders.Continuation]: continuationToken,\n });\n }\n }\n\n private _createEmptyResult(headers?: any): Response<any> {\n const hdrs = headers || getInitialHeader();\n return { result: [], headers: hdrs };\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Rejects continuation token usage for unsupported query types
3
+ * @param continuationToken - The continuation token if provided
4
+ * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens
5
+ * @throws ErrorResponse if continuation token is provided for any unsupported query type
6
+ * @hidden
7
+ */
8
+ export declare function rejectContinuationTokenForUnsupportedQueries(continuationToken: string | undefined, unsupportedQueryTypes: UnsupportedQueryType[]): void;
9
+ //# sourceMappingURL=QueryValidationHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidationHelper.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryValidationHelper.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAC1D,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,qBAAqB,EAAE,oBAAoB,EAAE,GAC5C,IAAI,CAWN"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryTypes = void 0;
4
+ exports.rejectContinuationTokenForUnsupportedQueries = rejectContinuationTokenForUnsupportedQueries;
5
+ // Copyright (c) Microsoft Corporation.
6
+ // Licensed under the MIT License.
7
+ const ErrorResponse_js_1 = require("../request/ErrorResponse.js");
8
+ /**
9
+ * Rejects continuation token usage for unsupported query types
10
+ * @param continuationToken - The continuation token if provided
11
+ * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens
12
+ * @throws ErrorResponse if continuation token is provided for any unsupported query type
13
+ * @hidden
14
+ */
15
+ function rejectContinuationTokenForUnsupportedQueries(continuationToken, unsupportedQueryTypes) {
16
+ if (!continuationToken) {
17
+ return;
18
+ }
19
+ // Find the first unsupported query type that is present
20
+ const conflictingQueryType = unsupportedQueryTypes.find((queryType) => queryType.isPresent);
21
+ if (conflictingQueryType) {
22
+ throw new ErrorResponse_js_1.ErrorResponse(conflictingQueryType.errorMessage);
23
+ }
24
+ }
25
+ /**
26
+ * Factory functions for creating unsupported query type descriptors
27
+ * @internal
28
+ */
29
+ exports.QueryTypes = {
30
+ nonStreamingOrderBy: (isPresent) => ({
31
+ name: "NonStreamingOrderBy",
32
+ isPresent,
33
+ errorMessage: "Continuation tokens are not supported for non-streaming ORDER BY queries. " +
34
+ "These queries must process all results to ensure correct ordering and cannot be resumed from an intermediate state. " +
35
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
36
+ }),
37
+ groupBy: (isPresent) => ({
38
+ name: "GroupBy",
39
+ isPresent,
40
+ errorMessage: "Continuation tokens are not supported for GROUP BY queries. " +
41
+ "These queries must process all results to compute aggregations and cannot be resumed from an intermediate state. " +
42
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
43
+ }),
44
+ unorderedDistinct: (isPresent) => ({
45
+ name: "UnorderedDistinct",
46
+ isPresent,
47
+ errorMessage: "Continuation tokens are not supported for unordered DISTINCT queries. " +
48
+ "These queries require tracking large amounts of duplicate data in continuation tokens which is not practical. " +
49
+ "Consider removing the continuation token and using fetchAll() instead, or use ordered DISTINCT queries which are supported.",
50
+ }),
51
+ hybridSearch: (isPresent) => ({
52
+ name: "HybridSearch",
53
+ isPresent,
54
+ errorMessage: "Continuation tokens are not supported for hybrid search queries. " +
55
+ "Hybrid search queries require processing and ranking of all component query results " +
56
+ "to compute accurate Reciprocal Rank Fusion (RRF) scores and cannot be resumed from an intermediate state. " +
57
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
58
+ }),
59
+ // Easy to add new unsupported query types here
60
+ vectorSearch: (isPresent) => ({
61
+ name: "VectorSearch",
62
+ isPresent,
63
+ errorMessage: "Continuation tokens are not supported for vector search queries. " +
64
+ "Vector search queries require processing similarity calculations across all data " +
65
+ "and cannot be resumed from an intermediate state. " +
66
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
67
+ }),
68
+ };
69
+ //# sourceMappingURL=QueryValidationHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidationHelper.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryValidationHelper.ts"],"names":[],"mappings":";;;AAqBA,oGAcC;AAnCD,uCAAuC;AACvC,kCAAkC;AAClC,kEAA4D;AAY5D;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAC1D,iBAAqC,EACrC,qBAA6C;IAE7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE5F,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;GAGG;AACU,QAAA,UAAU,GAAG;IACxB,mBAAmB,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,qBAAqB;QAC3B,SAAS;QACT,YAAY,EACV,4EAA4E;YAC5E,sHAAsH;YACtH,6FAA6F;KAChG,CAAC;IAEF,OAAO,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,SAAS;QACf,SAAS;QACT,YAAY,EACV,8DAA8D;YAC9D,mHAAmH;YACnH,6FAA6F;KAChG,CAAC;IAEF,iBAAiB,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,mBAAmB;QACzB,SAAS;QACT,YAAY,EACV,wEAAwE;YACxE,gHAAgH;YAChH,6HAA6H;KAChI,CAAC;IAEF,YAAY,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,cAAc;QACpB,SAAS;QACT,YAAY,EACV,mEAAmE;YACnE,sFAAsF;YACtF,4GAA4G;YAC5G,6FAA6F;KAChG,CAAC;IAEF,+CAA+C;IAC/C,YAAY,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,cAAc;QACpB,SAAS;QACT,YAAY,EACV,mEAAmE;YACnE,mFAAmF;YACnF,oDAAoD;YACpD,6FAA6F;KAChG,CAAC;CACM,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ErrorResponse } from \"../request/ErrorResponse.js\";\n\n/**\n * Represents a query type that doesn't support continuation tokens\n * @internal\n */\nexport interface UnsupportedQueryType {\n readonly name: string;\n readonly isPresent: boolean;\n readonly errorMessage: string;\n}\n\n/**\n * Rejects continuation token usage for unsupported query types\n * @param continuationToken - The continuation token if provided\n * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens\n * @throws ErrorResponse if continuation token is provided for any unsupported query type\n * @hidden\n */\nexport function rejectContinuationTokenForUnsupportedQueries(\n continuationToken: string | undefined,\n unsupportedQueryTypes: UnsupportedQueryType[],\n): void {\n if (!continuationToken) {\n return;\n }\n\n // Find the first unsupported query type that is present\n const conflictingQueryType = unsupportedQueryTypes.find((queryType) => queryType.isPresent);\n\n if (conflictingQueryType) {\n throw new ErrorResponse(conflictingQueryType.errorMessage);\n }\n}\n\n/**\n * Factory functions for creating unsupported query type descriptors\n * @internal\n */\nexport const QueryTypes = {\n nonStreamingOrderBy: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"NonStreamingOrderBy\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for non-streaming ORDER BY queries. \" +\n \"These queries must process all results to ensure correct ordering and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n groupBy: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"GroupBy\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for GROUP BY queries. \" +\n \"These queries must process all results to compute aggregations and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n unorderedDistinct: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"UnorderedDistinct\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for unordered DISTINCT queries. \" +\n \"These queries require tracking large amounts of duplicate data in continuation tokens which is not practical. \" +\n \"Consider removing the continuation token and using fetchAll() instead, or use ordered DISTINCT queries which are supported.\",\n }),\n\n hybridSearch: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"HybridSearch\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for hybrid search queries. \" +\n \"Hybrid search queries require processing and ranking of all component query results \" +\n \"to compute accurate Reciprocal Rank Fusion (RRF) scores and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n // Easy to add new unsupported query types here\n vectorSearch: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"VectorSearch\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for vector search queries. \" +\n \"Vector search queries require processing similarity calculations across all data \" +\n \"and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n} as const;\n"]}
@@ -11,8 +11,8 @@ export declare class DefaultQueryExecutionContext implements ExecutionContext {
11
11
  private currentPartitionIndex;
12
12
  private fetchFunctions;
13
13
  private options;
14
- continuationToken: string;
15
- get continuation(): string;
14
+ continuationToken: string | undefined;
15
+ get continuation(): string | undefined;
16
16
  private state;
17
17
  private nextFetchFunction;
18
18
  private correlatedActivityId;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,cAAc;AACd,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAS5B,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAU;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,OAAO,CAAc;IACtB,iBAAiB,EAAE,MAAM,CAAC;IACjC,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;gBAED,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EAC/D,oBAAoB,EAAE,MAAM;IAY9B;;OAEG;IACU,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAMrF;;OAEG;IACU,OAAO,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IA6BpF;;;;;OAKG;IACI,cAAc,IAAI,OAAO;IAShC;;OAEG;IACU,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiHtF,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"defaultQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,cAAc;AACd,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAS5B,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAU;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,OAAO,CAAc;IACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IACD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;gBAED,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EAC/D,oBAAoB,EAAE,MAAM;IAa9B;;OAEG;IACU,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAMrF;;OAEG;IACU,OAAO,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IA6BpF;;;;;OAKG;IACI,cAAc,IAAI,OAAO;IAShC;;OAEG;IACU,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiHtF,OAAO,CAAC,aAAa;CAQtB"}
@@ -48,7 +48,8 @@ class DefaultQueryExecutionContext {
48
48
  this.currentPartitionIndex = 0;
49
49
  this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];
50
50
  this.options = options || {};
51
- this.continuationToken = this.options.continuationToken || this.options.continuation || null;
51
+ this.continuationToken =
52
+ this.options.continuationToken || this.options.continuation || undefined;
52
53
  this.state = DefaultQueryExecutionContext.STATES.start;
53
54
  this.correlatedActivityId = correlatedActivityId;
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaultQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":";;;AAGA,0CAAmD;AACnD,iDAA+C;AAC/C,uDAA2E;AAE3E,qDAAoD;AAGpD,wFAA8E;AAC9E,4DAA6D;AAC7D,0FAAoF;AAEpF,MAAM,MAAM,GAAgB,IAAA,2BAAkB,EAAC,eAAe,CAAC,CAAC;AAQhE,cAAc;AACd,IAAK,MAIJ;AAJD,WAAK,MAAM;IACT,yBAAe,CAAA;IACf,mCAAyB,CAAA;IACzB,yBAAe,CAAA;AACjB,CAAC,EAJI,MAAM,KAAN,MAAM,QAIV;AAED,cAAc;AACd,MAAa,4BAA4B;IAC/B,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAQ,CAAC,sBAAsB;IACxC,YAAY,CAAS;IACrB,qBAAqB,CAAS;IAC9B,cAAc,CAA0B;IACxC,OAAO,CAAc,CAAC,oBAAoB;IAC3C,iBAAiB,CAAS,CAAC,yBAAyB;IAC3D,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACO,KAAK,CAAS;IACd,iBAAiB,CAAyB;IAC1C,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;IACH,YACE,OAAoB,EACpB,cAA+D,EAC/D,oBAA4B;QAE5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAC7F,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,cAAsC;QAC1D,EAAE,IAAI,CAAC,YAAY,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,cAAsC;QACzD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzC,OAAO,EAAE,IAAA,iCAAgB,GAAE;aAC5B,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBACxF,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;oBACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;YACvD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,IAAA,iCAAgB,GAAE;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,cAAc;QACnB,OAAO,CACL,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,KAAK;YACxD,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,cAAsC;QAC3D,OAAO,IAAA,mCAAkB,EACvB,KAAK,EAAE,mBAA2C,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,IAAA,iCAAgB,GAAE;oBAC3B,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAED,sFAAsF;YACtF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAExD,+CAA+C;YAC/C,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,IAAA,iCAAgB,GAAE;oBAC3B,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,CAAC;YACd,IAAI,eAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAyB,CAAC;gBAC9B,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBACjC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CACjD,mBAAmB,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,oBAAoB,CAC1B,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC;gBACzB,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC5B,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,EAAE,oDAAuB,CAAC,WAAW,CAAC,CAAC;gBACtF,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,oBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAC/B,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACtD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACtE,IAAI,CAAC,iBAAiB,GAAG,aAAa;wBACpC,CAAC,CAAC,aAAa,CACX,mBAAmB,EACnB;4BACE,GAAG,IAAI,CAAC,OAAO;4BACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;yBAC1C,EACD,IAAI,CAAC,oBAAoB,CAC1B;wBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;gBACvD,oDAAoD;gBACpD,2EAA2E;gBAC3E,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB,CAAC;YAEjD,4GAA4G;YAC5G,IAAI,oBAAS,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;gBAC1D,MAAM,eAAe,GAAG,eAAe,CAAC,oBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC5E,IAAI,YAAY,GAAG,uBAAY,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;gBAE3E,gGAAgG;gBAChG,IAAI,oBAAS,CAAC,WAAW,CAAC,aAAa,IAAI,eAAe,EAAE,CAAC;oBAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxF,YAAY,GAAG,IAAI,uBAAY,CAC7B,YAAY,CAAC,sBAAsB,EACnC,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,kBAAkB,EAC/B,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,uBAAuB,EACpC,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,gBAAgB,EAC7B,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,iBAAiB,EAC9B,IAAI,4BAAiB,CAAC,aAAa,CAAC,CACrC,CAAC;gBACJ,CAAC;gBAED,kFAAkF;gBAClF,sDAAsD;gBACtD,eAAe,CAAC,oBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACzD,eAAe,CAAC,oBAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC1E,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACzD,CAAC,EACD,cAAc,EACd,8CAAkB,CAAC,kBAAkB,EACrC;YACE,qBAAqB,EAAE,WAAW;SACnC,CACF,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,KAAK;YACxD,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC;YACzF,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;gBACtD,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC;;AA3NH,oEA4NC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { Constants } from \"../common/index.js\";\nimport { ClientSideMetrics, QueryMetrics } from \"../queryMetrics/index.js\";\nimport type { FeedOptions, Response } from \"../request/index.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { ExecutionContext } from \"./index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { addDiagnosticChild } from \"../utils/diagnostics.js\";\nimport { CosmosDbDiagnosticLevel } from \"../diagnostics/CosmosDbDiagnosticLevel.js\";\n\nconst logger: AzureLogger = createClientLogger(\"ClientContext\");\n/** @hidden */\nexport type FetchFunctionCallback = (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n) => Promise<Response<any>>;\n\n/** @hidden */\nenum STATES {\n start = \"start\",\n inProgress = \"inProgress\",\n ended = \"ended\",\n}\n\n/** @hidden */\nexport class DefaultQueryExecutionContext implements ExecutionContext {\n private static readonly STATES = STATES;\n private resources: any[]; // TODO: any resources\n private currentIndex: number;\n private currentPartitionIndex: number;\n private fetchFunctions: FetchFunctionCallback[];\n private options: FeedOptions; // TODO: any options\n public continuationToken: string; // TODO: any continuation\n public get continuation(): string {\n return this.continuationToken;\n }\n private state: STATES;\n private nextFetchFunction: Promise<Response<any>>;\n private correlatedActivityId: string;\n /**\n * Provides the basic Query Execution Context.\n * This wraps the internal logic query execution using provided fetch functions\n *\n * @param clientContext - Is used to read the partitionKeyRanges for split proofing\n * @param query - A SQL query.\n * @param options - Represents the feed options.\n * @param fetchFunctions - A function to retrieve each page of data.\n * An array of functions may be used to query more than one partition.\n * @hidden\n */\n constructor(\n options: FeedOptions,\n fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[],\n correlatedActivityId: string,\n ) {\n this.resources = [];\n this.currentIndex = 0;\n this.currentPartitionIndex = 0;\n this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];\n this.options = options || {};\n this.continuationToken = this.options.continuationToken || this.options.continuation || null;\n this.state = DefaultQueryExecutionContext.STATES.start;\n this.correlatedActivityId = correlatedActivityId;\n }\n\n /**\n * Execute a provided callback on the next element in the execution context.\n */\n public async nextItem(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n ++this.currentIndex;\n const response = await this.current(diagnosticNode);\n return response;\n }\n\n /**\n * Retrieve the current element on the execution context.\n */\n public async current(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.currentIndex < this.resources.length) {\n return {\n result: this.resources[this.currentIndex],\n headers: getInitialHeader(),\n };\n }\n\n if (this._canFetchMore()) {\n const { result: resources, headers } = await this.fetchMore(diagnosticNode);\n this.resources = resources;\n if (this.resources.length === 0) {\n if (!this.continuationToken && this.currentPartitionIndex >= this.fetchFunctions.length) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return { result: undefined, headers };\n } else {\n return this.current(diagnosticNode);\n }\n }\n return { result: this.resources[this.currentIndex], headers };\n } else {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n }\n\n /**\n * Determine if there are still remaining resources to processs based on\n * the value of the continuation token or the elements remaining on the current batch in the execution context.\n *\n * @returns true if there is other elements to process in the DefaultQueryExecutionContext.\n */\n public hasMoreResults(): boolean {\n return (\n this.state === DefaultQueryExecutionContext.STATES.start ||\n this.continuationToken !== undefined ||\n this.currentIndex < this.resources.length - 1 ||\n this.currentPartitionIndex < this.fetchFunctions.length\n );\n }\n\n /**\n * Fetches the next batch of the feed and pass them as an array to a callback\n */\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n return addDiagnosticChild(\n async (childDiagnosticNode: DiagnosticNodeInternal) => {\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n // Keep to the original continuation and to restore the value after fetchFunction call\n const originalContinuation = this.options.continuationToken || this.options.continuation;\n this.options.continuationToken = this.continuationToken;\n\n // Return undefined if there is no more results\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n let resources;\n let responseHeaders;\n try {\n let p: Promise<Response<any>>;\n if (this.nextFetchFunction !== undefined) {\n logger.verbose(\"using prefetch\");\n p = this.nextFetchFunction;\n this.nextFetchFunction = undefined;\n } else {\n logger.verbose(\"using fresh fetch\");\n p = this.fetchFunctions[this.currentPartitionIndex](\n childDiagnosticNode,\n this.options,\n this.correlatedActivityId,\n );\n }\n const response = await p;\n resources = response.result;\n childDiagnosticNode.recordQueryResult(resources, CosmosDbDiagnosticLevel.debugUnsafe);\n responseHeaders = response.headers;\n this.continuationToken = responseHeaders[Constants.HttpHeaders.Continuation];\n if (!this.continuationToken) {\n ++this.currentPartitionIndex;\n }\n\n if (this.options && this.options.bufferItems === true) {\n const fetchFunction = this.fetchFunctions[this.currentPartitionIndex];\n this.nextFetchFunction = fetchFunction\n ? fetchFunction(\n childDiagnosticNode,\n {\n ...this.options,\n continuationToken: this.continuationToken,\n },\n this.correlatedActivityId,\n )\n : undefined;\n }\n } catch (err: any) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n // return callback(err, undefined, responseHeaders);\n // TODO: Error and data being returned is an antipattern, this might broken\n throw err;\n }\n\n this.state = DefaultQueryExecutionContext.STATES.inProgress;\n this.currentIndex = 0;\n this.options.continuationToken = originalContinuation;\n this.options.continuation = originalContinuation;\n\n // deserializing query metrics so that we aren't working with delimited strings in the rest of the code base\n if (Constants.HttpHeaders.QueryMetrics in responseHeaders) {\n const delimitedString = responseHeaders[Constants.HttpHeaders.QueryMetrics];\n let queryMetrics = QueryMetrics.createFromDelimitedString(delimitedString);\n\n // Add the request charge to the query metrics so that we can have per partition request charge.\n if (Constants.HttpHeaders.RequestCharge in responseHeaders) {\n const requestCharge = Number(responseHeaders[Constants.HttpHeaders.RequestCharge]) || 0;\n queryMetrics = new QueryMetrics(\n queryMetrics.retrievedDocumentCount,\n queryMetrics.retrievedDocumentSize,\n queryMetrics.outputDocumentCount,\n queryMetrics.outputDocumentSize,\n queryMetrics.indexHitDocumentCount,\n queryMetrics.totalQueryExecutionTime,\n queryMetrics.queryPreparationTimes,\n queryMetrics.indexLookupTime,\n queryMetrics.documentLoadTime,\n queryMetrics.vmExecutionTime,\n queryMetrics.runtimeExecutionTimes,\n queryMetrics.documentWriteTime,\n new ClientSideMetrics(requestCharge),\n );\n }\n\n // Wraping query metrics in a object where the key is '0' just so single partition\n // and partition queries have the same response schema\n responseHeaders[Constants.HttpHeaders.QueryMetrics] = {};\n responseHeaders[Constants.HttpHeaders.QueryMetrics][\"0\"] = queryMetrics;\n }\n\n return { result: resources, headers: responseHeaders };\n },\n diagnosticNode,\n DiagnosticNodeType.DEFAULT_QUERY_NODE,\n {\n queryMethodIdentifier: \"fetchMore\",\n },\n );\n }\n\n private _canFetchMore(): boolean {\n const res =\n this.state === DefaultQueryExecutionContext.STATES.start ||\n (this.continuationToken && this.state === DefaultQueryExecutionContext.STATES.inProgress) ||\n (this.currentPartitionIndex < this.fetchFunctions.length &&\n this.state === DefaultQueryExecutionContext.STATES.inProgress);\n return res;\n }\n}\n"]}
1
+ {"version":3,"file":"defaultQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { Constants } from \"../common/index.js\";\nimport { ClientSideMetrics, QueryMetrics } from \"../queryMetrics/index.js\";\nimport type { FeedOptions, Response } from \"../request/index.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { ExecutionContext } from \"./index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { addDiagnosticChild } from \"../utils/diagnostics.js\";\nimport { CosmosDbDiagnosticLevel } from \"../diagnostics/CosmosDbDiagnosticLevel.js\";\n\nconst logger: AzureLogger = createClientLogger(\"ClientContext\");\n/** @hidden */\nexport type FetchFunctionCallback = (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n) => Promise<Response<any>>;\n\n/** @hidden */\nenum STATES {\n start = \"start\",\n inProgress = \"inProgress\",\n ended = \"ended\",\n}\n\n/** @hidden */\nexport class DefaultQueryExecutionContext implements ExecutionContext {\n private static readonly STATES = STATES;\n private resources: any[]; // TODO: any resources\n private currentIndex: number;\n private currentPartitionIndex: number;\n private fetchFunctions: FetchFunctionCallback[];\n private options: FeedOptions; // TODO: any options\n public continuationToken: string | undefined; // TODO: any continuation\n public get continuation(): string | undefined {\n return this.continuationToken;\n }\n private state: STATES;\n private nextFetchFunction: Promise<Response<any>>;\n private correlatedActivityId: string;\n /**\n * Provides the basic Query Execution Context.\n * This wraps the internal logic query execution using provided fetch functions\n *\n * @param clientContext - Is used to read the partitionKeyRanges for split proofing\n * @param query - A SQL query.\n * @param options - Represents the feed options.\n * @param fetchFunctions - A function to retrieve each page of data.\n * An array of functions may be used to query more than one partition.\n * @hidden\n */\n constructor(\n options: FeedOptions,\n fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[],\n correlatedActivityId: string,\n ) {\n this.resources = [];\n this.currentIndex = 0;\n this.currentPartitionIndex = 0;\n this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];\n this.options = options || {};\n this.continuationToken =\n this.options.continuationToken || this.options.continuation || undefined;\n this.state = DefaultQueryExecutionContext.STATES.start;\n this.correlatedActivityId = correlatedActivityId;\n }\n\n /**\n * Execute a provided callback on the next element in the execution context.\n */\n public async nextItem(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n ++this.currentIndex;\n const response = await this.current(diagnosticNode);\n return response;\n }\n\n /**\n * Retrieve the current element on the execution context.\n */\n public async current(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.currentIndex < this.resources.length) {\n return {\n result: this.resources[this.currentIndex],\n headers: getInitialHeader(),\n };\n }\n\n if (this._canFetchMore()) {\n const { result: resources, headers } = await this.fetchMore(diagnosticNode);\n this.resources = resources;\n if (this.resources.length === 0) {\n if (!this.continuationToken && this.currentPartitionIndex >= this.fetchFunctions.length) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return { result: undefined, headers };\n } else {\n return this.current(diagnosticNode);\n }\n }\n return { result: this.resources[this.currentIndex], headers };\n } else {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n }\n\n /**\n * Determine if there are still remaining resources to processs based on\n * the value of the continuation token or the elements remaining on the current batch in the execution context.\n *\n * @returns true if there is other elements to process in the DefaultQueryExecutionContext.\n */\n public hasMoreResults(): boolean {\n return (\n this.state === DefaultQueryExecutionContext.STATES.start ||\n this.continuationToken !== undefined ||\n this.currentIndex < this.resources.length - 1 ||\n this.currentPartitionIndex < this.fetchFunctions.length\n );\n }\n\n /**\n * Fetches the next batch of the feed and pass them as an array to a callback\n */\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n return addDiagnosticChild(\n async (childDiagnosticNode: DiagnosticNodeInternal) => {\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n // Keep to the original continuation and to restore the value after fetchFunction call\n const originalContinuation = this.options.continuationToken || this.options.continuation;\n this.options.continuationToken = this.continuationToken;\n\n // Return undefined if there is no more results\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n let resources;\n let responseHeaders;\n try {\n let p: Promise<Response<any>>;\n if (this.nextFetchFunction !== undefined) {\n logger.verbose(\"using prefetch\");\n p = this.nextFetchFunction;\n this.nextFetchFunction = undefined;\n } else {\n logger.verbose(\"using fresh fetch\");\n p = this.fetchFunctions[this.currentPartitionIndex](\n childDiagnosticNode,\n this.options,\n this.correlatedActivityId,\n );\n }\n const response = await p;\n resources = response.result;\n childDiagnosticNode.recordQueryResult(resources, CosmosDbDiagnosticLevel.debugUnsafe);\n responseHeaders = response.headers;\n this.continuationToken = responseHeaders[Constants.HttpHeaders.Continuation];\n if (!this.continuationToken) {\n ++this.currentPartitionIndex;\n }\n\n if (this.options && this.options.bufferItems === true) {\n const fetchFunction = this.fetchFunctions[this.currentPartitionIndex];\n this.nextFetchFunction = fetchFunction\n ? fetchFunction(\n childDiagnosticNode,\n {\n ...this.options,\n continuationToken: this.continuationToken,\n },\n this.correlatedActivityId,\n )\n : undefined;\n }\n } catch (err: any) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n // return callback(err, undefined, responseHeaders);\n // TODO: Error and data being returned is an antipattern, this might broken\n throw err;\n }\n\n this.state = DefaultQueryExecutionContext.STATES.inProgress;\n this.currentIndex = 0;\n this.options.continuationToken = originalContinuation;\n this.options.continuation = originalContinuation;\n\n // deserializing query metrics so that we aren't working with delimited strings in the rest of the code base\n if (Constants.HttpHeaders.QueryMetrics in responseHeaders) {\n const delimitedString = responseHeaders[Constants.HttpHeaders.QueryMetrics];\n let queryMetrics = QueryMetrics.createFromDelimitedString(delimitedString);\n\n // Add the request charge to the query metrics so that we can have per partition request charge.\n if (Constants.HttpHeaders.RequestCharge in responseHeaders) {\n const requestCharge = Number(responseHeaders[Constants.HttpHeaders.RequestCharge]) || 0;\n queryMetrics = new QueryMetrics(\n queryMetrics.retrievedDocumentCount,\n queryMetrics.retrievedDocumentSize,\n queryMetrics.outputDocumentCount,\n queryMetrics.outputDocumentSize,\n queryMetrics.indexHitDocumentCount,\n queryMetrics.totalQueryExecutionTime,\n queryMetrics.queryPreparationTimes,\n queryMetrics.indexLookupTime,\n queryMetrics.documentLoadTime,\n queryMetrics.vmExecutionTime,\n queryMetrics.runtimeExecutionTimes,\n queryMetrics.documentWriteTime,\n new ClientSideMetrics(requestCharge),\n );\n }\n\n // Wraping query metrics in a object where the key is '0' just so single partition\n // and partition queries have the same response schema\n responseHeaders[Constants.HttpHeaders.QueryMetrics] = {};\n responseHeaders[Constants.HttpHeaders.QueryMetrics][\"0\"] = queryMetrics;\n }\n\n return { result: resources, headers: responseHeaders };\n },\n diagnosticNode,\n DiagnosticNodeType.DEFAULT_QUERY_NODE,\n {\n queryMethodIdentifier: \"fetchMore\",\n },\n );\n }\n\n private _canFetchMore(): boolean {\n const res =\n this.state === DefaultQueryExecutionContext.STATES.start ||\n (this.continuationToken && this.state === DefaultQueryExecutionContext.STATES.inProgress) ||\n (this.currentPartitionIndex < this.fetchFunctions.length &&\n this.state === DefaultQueryExecutionContext.STATES.inProgress);\n return res;\n }\n}\n"]}
@@ -6,7 +6,7 @@ import type { Response } from "../request/index.js";
6
6
  import type { FetchFunctionCallback } from "./defaultQueryExecutionContext.js";
7
7
  import { FetchResult } from "./FetchResult.js";
8
8
  import type { CosmosHeaders } from "./headerUtils.js";
9
- import type { SqlQuerySpec } from "./index.js";
9
+ import type { SqlQuerySpec, FilterStrategy } from "./index.js";
10
10
  /** @hidden */
11
11
  export declare class DocumentProducer {
12
12
  private clientContext;
@@ -23,6 +23,8 @@ export declare class DocumentProducer {
23
23
  startEpk: string;
24
24
  endEpk: string;
25
25
  populateEpkRangeHeaders: boolean;
26
+ private filter?;
27
+ private queryExecutionInfo?;
26
28
  /**
27
29
  * Provides the Target Partition Range Query Execution Context.
28
30
  * @param clientContext - The service endpoint to use to create the client.
@@ -31,7 +33,7 @@ export declare class DocumentProducer {
31
33
  * @param targetPartitionKeyRange - Query Target Partition key Range
32
34
  * @hidden
33
35
  */
34
- constructor(clientContext: ClientContext, collectionLink: string, query: SqlQuerySpec, targetPartitionKeyRange: PartitionKeyRange, options: FeedOptions, correlatedActivityId: string, startEpk?: string, endEpk?: string, populateEpkRangeHeaders?: boolean);
36
+ constructor(clientContext: ClientContext, collectionLink: string, query: SqlQuerySpec, targetPartitionKeyRange: PartitionKeyRange, options: FeedOptions, correlatedActivityId: string, startEpk?: string, endEpk?: string, populateEpkRangeHeaders?: boolean, filter?: FilterStrategy);
35
37
  peekBufferedItems(): any[];
36
38
  fetchFunction: FetchFunctionCallback;
37
39
  hasMoreResults(): boolean;
@@ -42,7 +44,7 @@ export declare class DocumentProducer {
42
44
  * Fetches and bufferes the next page of results in internal buffer
43
45
  */
44
46
  bufferMore(diagnosticNode: DiagnosticNodeInternal): Promise<CosmosHeaders>;
45
- getTargetParitionKeyRange(): PartitionKeyRange;
47
+ getTargetPartitionKeyRange(): PartitionKeyRange;
46
48
  /**
47
49
  * Peak the next item in the buffer
48
50
  */
@@ -59,5 +61,9 @@ export declare class DocumentProducer {
59
61
  * Retrieve the current element on the DocumentProducer.
60
62
  */
61
63
  private current;
64
+ getQueryExecutionInfo(): {
65
+ reverseRidEnabled: boolean;
66
+ reverseIndexScan: boolean;
67
+ } | undefined;
62
68
  }
63
69
  //# sourceMappingURL=documentProducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentProducer.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,cAAc;AACd,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,aAAa;IAvBvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAwB;IAC9B,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAQ;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAK;IAC9B,OAAO,CAAC,wBAAwB,CAA+B;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,OAAO,CAAC;IAExC;;;;;;;OAOG;gBAEO,aAAa,EAAE,aAAa,EACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EACnB,uBAAuB,EAAE,iBAAiB,EAC1C,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,uBAAuB,GAAE,OAAe;IAuBnC,iBAAiB,IAAI,GAAG,EAAE;IAmB1B,aAAa,EAAE,qBAAqB,CAwBzC;IAEK,cAAc,IAAI,OAAO;IAIzB,QAAQ,IAAI,OAAO;IAY1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,MAAM,CAAC,kCAAkC;IASjD;;OAEG;IACU,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkDhF,yBAAyB,IAAI,iBAAiB;IAGrD;;OAEG;IACI,YAAY,IAAI,GAAG;IAqB1B;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAoBpD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IA6B3D;;OAEG;IACH,OAAO,CAAC,OAAO;CAiChB"}
1
+ {"version":3,"file":"documentProducer.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D,cAAc;AACd,qBAAa,gBAAgB;IA0BzB,OAAO,CAAC,aAAa;IAzBvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAwB;IAC9B,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAQ;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAK;IAC9B,OAAO,CAAC,wBAAwB,CAA+B;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,OAAO,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAA4D;IAEvF;;;;;;;OAOG;gBAEO,aAAa,EAAE,aAAa,EACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EACnB,uBAAuB,EAAE,iBAAiB,EAC1C,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,uBAAuB,GAAE,OAAe,EACxC,MAAM,CAAC,EAAE,cAAc;IAwBlB,iBAAiB,IAAI,GAAG,EAAE;IAmB1B,aAAa,EAAE,qBAAqB,CAwBzC;IAEK,cAAc,IAAI,OAAO;IAIzB,QAAQ,IAAI,OAAO;IAY1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,MAAM,CAAC,kCAAkC;IASjD;;OAEG;IACU,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2DhF,0BAA0B,IAAI,iBAAiB;IAGtD;;OAEG;IACI,YAAY,IAAI,GAAG;IAqB1B;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAoBpD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IA6B3D;;OAEG;IACH,OAAO,CAAC,OAAO;IAkCR,qBAAqB,IACxB;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,GACzD,SAAS;CAGd"}
@@ -21,6 +21,8 @@ class DocumentProducer {
21
21
  startEpk;
22
22
  endEpk;
23
23
  populateEpkRangeHeaders;
24
+ filter;
25
+ queryExecutionInfo;
24
26
  /**
25
27
  * Provides the Target Partition Range Query Execution Context.
26
28
  * @param clientContext - The service endpoint to use to create the client.
@@ -29,7 +31,7 @@ class DocumentProducer {
29
31
  * @param targetPartitionKeyRange - Query Target Partition key Range
30
32
  * @hidden
31
33
  */
32
- constructor(clientContext, collectionLink, query, targetPartitionKeyRange, options, correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders = false) {
34
+ constructor(clientContext, collectionLink, query, targetPartitionKeyRange, options, correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders = false, filter) {
33
35
  this.clientContext = clientContext;
34
36
  // TODO: any options
35
37
  this.collectionLink = collectionLink;
@@ -44,6 +46,7 @@ class DocumentProducer {
44
46
  this.startEpk = startEpk;
45
47
  this.endEpk = endEpk;
46
48
  this.populateEpkRangeHeaders = populateEpkRangeHeaders;
49
+ this.filter = filter;
47
50
  }
48
51
  peekBufferedItems() {
49
52
  const bufferedResults = [];
@@ -126,9 +129,16 @@ class DocumentProducer {
126
129
  throw this.err;
127
130
  }
128
131
  try {
129
- const { result: resources, headers: headerResponse } = await this.internalExecutionContext.fetchMore(diagnosticNode);
132
+ const { result: resourcesResult, headers: headerResponse } = await this.internalExecutionContext.fetchMore(diagnosticNode);
133
+ let resources = resourcesResult;
130
134
  ++this.generation;
131
135
  this._updateStates(undefined, resources === undefined);
136
+ if (headerResponse && headerResponse["x-ms-cosmos-query-execution-info"]) {
137
+ this.queryExecutionInfo = JSON.parse(headerResponse["x-ms-cosmos-query-execution-info"]);
138
+ }
139
+ if (this.filter && resources) {
140
+ resources = this.filter.applyFilter(resources);
141
+ }
132
142
  if (resources !== undefined) {
133
143
  // add fetched header to the 1st element in the buffer
134
144
  let addHeaderToFetchResult = true;
@@ -162,7 +172,7 @@ class DocumentProducer {
162
172
  }
163
173
  }
164
174
  }
165
- getTargetParitionKeyRange() {
175
+ getTargetPartitionKeyRange() {
166
176
  return this.targetPartitionKeyRange;
167
177
  }
168
178
  /**
@@ -202,7 +212,7 @@ class DocumentProducer {
202
212
  if (result === undefined || result.length === 0) {
203
213
  return { result: undefined, headers };
204
214
  }
205
- return { result, headers }; //
215
+ return { result, headers };
206
216
  }
207
217
  catch (err) {
208
218
  this._updateStates(err, err.item === undefined);
@@ -276,6 +286,9 @@ class DocumentProducer {
276
286
  // If the internal buffer is empty, return empty result
277
287
  return { result: [], headers: (0, headerUtils_js_1.getInitialHeader)() };
278
288
  }
289
+ getQueryExecutionInfo() {
290
+ return this.queryExecutionInfo;
291
+ }
279
292
  }
280
293
  exports.DocumentProducer = DocumentProducer;
281
294
  //# sourceMappingURL=documentProducer.js.map