@azure/cosmos 4.9.2 → 4.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/dist/browser/common/constants.js +1 -1
  2. package/dist/browser/common/constants.js.map +1 -1
  3. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  4. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  5. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  6. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  7. package/dist/commonjs/ChangeFeedIterator.js +6 -0
  8. package/dist/commonjs/ChangeFeedIterator.js.map +2 -2
  9. package/dist/commonjs/ChangeFeedOptions.js +1 -0
  10. package/dist/commonjs/ChangeFeedOptions.js.map +1 -1
  11. package/dist/commonjs/ChangeFeedResponse.js +5 -0
  12. package/dist/commonjs/ChangeFeedResponse.js.map +2 -2
  13. package/dist/commonjs/ClientContext.js +6 -0
  14. package/dist/commonjs/ClientContext.js.map +2 -2
  15. package/dist/commonjs/CosmosClient.js +1 -0
  16. package/dist/commonjs/CosmosClient.js.map +1 -1
  17. package/dist/commonjs/CosmosClientOptions.js +1 -0
  18. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  19. package/dist/commonjs/CosmosDiagnostics.js +1 -0
  20. package/dist/commonjs/CosmosDiagnostics.js.map +1 -1
  21. package/dist/commonjs/GlobalEndpointManagerOptions.js +1 -0
  22. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +1 -1
  23. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +1 -0
  24. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +1 -1
  25. package/dist/commonjs/auth.js +1 -0
  26. package/dist/commonjs/auth.js.map +1 -1
  27. package/dist/commonjs/bulk/Batcher.js +1 -0
  28. package/dist/commonjs/bulk/Batcher.js.map +1 -1
  29. package/dist/commonjs/bulk/BulkHelper.js +1 -0
  30. package/dist/commonjs/bulk/BulkHelper.js.map +1 -1
  31. package/dist/commonjs/bulk/BulkResponse.js +1 -0
  32. package/dist/commonjs/bulk/BulkResponse.js.map +1 -1
  33. package/dist/commonjs/bulk/CongestionAlgorithm.js +1 -0
  34. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +1 -1
  35. package/dist/commonjs/bulk/HelperPerPartition.js +1 -0
  36. package/dist/commonjs/bulk/HelperPerPartition.js.map +1 -1
  37. package/dist/commonjs/bulk/ItemOperation.js +1 -0
  38. package/dist/commonjs/bulk/ItemOperation.js.map +1 -1
  39. package/dist/commonjs/bulk/ItemOperationContext.js +1 -0
  40. package/dist/commonjs/bulk/ItemOperationContext.js.map +1 -1
  41. package/dist/commonjs/bulk/Limiter.js +1 -0
  42. package/dist/commonjs/bulk/Limiter.js.map +1 -1
  43. package/dist/commonjs/bulk/PartitionMetric.js +1 -0
  44. package/dist/commonjs/bulk/PartitionMetric.js.map +1 -1
  45. package/dist/commonjs/bulk/index.js +1 -0
  46. package/dist/commonjs/bulk/index.js.map +1 -1
  47. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js +1 -0
  48. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js.map +1 -1
  49. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +9 -0
  50. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +2 -2
  51. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +7 -0
  52. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +2 -2
  53. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +5 -0
  54. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +2 -2
  55. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js +1 -0
  56. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  57. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +6 -0
  58. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +2 -2
  59. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js +1 -0
  60. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js.map +1 -1
  61. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  62. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  63. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js +1 -0
  64. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js.map +1 -1
  65. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +1 -0
  66. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  67. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  68. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  69. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js +1 -0
  70. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js.map +1 -1
  71. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  72. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  73. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  74. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  75. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  76. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  77. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +1 -0
  78. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  79. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +1 -0
  80. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  81. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +1 -0
  82. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  83. package/dist/commonjs/client/ChangeFeed/FeedRange.js +1 -0
  84. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +1 -1
  85. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +1 -0
  86. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  87. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js +1 -0
  88. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  89. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js +1 -0
  90. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  91. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +1 -0
  92. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  93. package/dist/commonjs/client/ChangeFeed/index.js +1 -0
  94. package/dist/commonjs/client/ChangeFeed/index.js.map +1 -1
  95. package/dist/commonjs/client/ClientUtils.js +1 -0
  96. package/dist/commonjs/client/ClientUtils.js.map +1 -1
  97. package/dist/commonjs/client/Conflict/Conflict.js +5 -0
  98. package/dist/commonjs/client/Conflict/Conflict.js.map +2 -2
  99. package/dist/commonjs/client/Conflict/ConflictDefinition.js +1 -0
  100. package/dist/commonjs/client/Conflict/ConflictDefinition.js.map +1 -1
  101. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js +1 -0
  102. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js.map +1 -1
  103. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js +1 -0
  104. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js.map +1 -1
  105. package/dist/commonjs/client/Conflict/ConflictResponse.js +1 -0
  106. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +1 -1
  107. package/dist/commonjs/client/Conflict/Conflicts.js +3 -0
  108. package/dist/commonjs/client/Conflict/Conflicts.js.map +2 -2
  109. package/dist/commonjs/client/Conflict/index.js +1 -0
  110. package/dist/commonjs/client/Conflict/index.js.map +1 -1
  111. package/dist/commonjs/client/Container/Container.js +5 -0
  112. package/dist/commonjs/client/Container/Container.js.map +2 -2
  113. package/dist/commonjs/client/Container/ContainerDefinition.js +1 -0
  114. package/dist/commonjs/client/Container/ContainerDefinition.js.map +1 -1
  115. package/dist/commonjs/client/Container/ContainerRequest.js +1 -0
  116. package/dist/commonjs/client/Container/ContainerRequest.js.map +1 -1
  117. package/dist/commonjs/client/Container/ContainerResponse.js +1 -0
  118. package/dist/commonjs/client/Container/ContainerResponse.js.map +1 -1
  119. package/dist/commonjs/client/Container/Containers.js +4 -0
  120. package/dist/commonjs/client/Container/Containers.js.map +2 -2
  121. package/dist/commonjs/client/Container/PartitionKeyRange.js +1 -0
  122. package/dist/commonjs/client/Container/PartitionKeyRange.js.map +1 -1
  123. package/dist/commonjs/client/Container/UniqueKeyPolicy.js +1 -0
  124. package/dist/commonjs/client/Container/UniqueKeyPolicy.js.map +1 -1
  125. package/dist/commonjs/client/Container/index.js +1 -0
  126. package/dist/commonjs/client/Container/index.js.map +1 -1
  127. package/dist/commonjs/client/Database/Database.js +5 -0
  128. package/dist/commonjs/client/Database/Database.js.map +2 -2
  129. package/dist/commonjs/client/Database/DatabaseDefinition.js +1 -0
  130. package/dist/commonjs/client/Database/DatabaseDefinition.js.map +1 -1
  131. package/dist/commonjs/client/Database/DatabaseRequest.js +1 -0
  132. package/dist/commonjs/client/Database/DatabaseRequest.js.map +1 -1
  133. package/dist/commonjs/client/Database/DatabaseResponse.js +1 -0
  134. package/dist/commonjs/client/Database/DatabaseResponse.js.map +1 -1
  135. package/dist/commonjs/client/Database/Databases.js +4 -0
  136. package/dist/commonjs/client/Database/Databases.js.map +2 -2
  137. package/dist/commonjs/client/Database/index.js +1 -0
  138. package/dist/commonjs/client/Database/index.js.map +1 -1
  139. package/dist/commonjs/client/Item/Item.js +4 -0
  140. package/dist/commonjs/client/Item/Item.js.map +2 -2
  141. package/dist/commonjs/client/Item/ItemDefinition.js +1 -0
  142. package/dist/commonjs/client/Item/ItemDefinition.js.map +1 -1
  143. package/dist/commonjs/client/Item/ItemResponse.js +1 -0
  144. package/dist/commonjs/client/Item/ItemResponse.js.map +1 -1
  145. package/dist/commonjs/client/Item/Items.js +3 -0
  146. package/dist/commonjs/client/Item/Items.js.map +2 -2
  147. package/dist/commonjs/client/Item/index.js +1 -0
  148. package/dist/commonjs/client/Item/index.js.map +1 -1
  149. package/dist/commonjs/client/Offer/Offer.js +4 -0
  150. package/dist/commonjs/client/Offer/Offer.js.map +2 -2
  151. package/dist/commonjs/client/Offer/OfferDefinition.js +1 -0
  152. package/dist/commonjs/client/Offer/OfferDefinition.js.map +1 -1
  153. package/dist/commonjs/client/Offer/OfferResponse.js +1 -0
  154. package/dist/commonjs/client/Offer/OfferResponse.js.map +1 -1
  155. package/dist/commonjs/client/Offer/Offers.js +3 -0
  156. package/dist/commonjs/client/Offer/Offers.js.map +2 -2
  157. package/dist/commonjs/client/Offer/index.js +1 -0
  158. package/dist/commonjs/client/Offer/index.js.map +1 -1
  159. package/dist/commonjs/client/Permission/Permission.js +4 -0
  160. package/dist/commonjs/client/Permission/Permission.js.map +2 -2
  161. package/dist/commonjs/client/Permission/PermissionBody.js +1 -0
  162. package/dist/commonjs/client/Permission/PermissionBody.js.map +1 -1
  163. package/dist/commonjs/client/Permission/PermissionDefinition.js +1 -0
  164. package/dist/commonjs/client/Permission/PermissionDefinition.js.map +1 -1
  165. package/dist/commonjs/client/Permission/PermissionResponse.js +1 -0
  166. package/dist/commonjs/client/Permission/PermissionResponse.js.map +1 -1
  167. package/dist/commonjs/client/Permission/Permissions.js +3 -0
  168. package/dist/commonjs/client/Permission/Permissions.js.map +2 -2
  169. package/dist/commonjs/client/Permission/index.js +1 -0
  170. package/dist/commonjs/client/Permission/index.js.map +1 -1
  171. package/dist/commonjs/client/Resource.js +1 -0
  172. package/dist/commonjs/client/Resource.js.map +1 -1
  173. package/dist/commonjs/client/SasToken/PermissionScopeValues.js +1 -0
  174. package/dist/commonjs/client/SasToken/PermissionScopeValues.js.map +1 -1
  175. package/dist/commonjs/client/SasToken/SasTokenProperties.js +1 -0
  176. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +1 -1
  177. package/dist/commonjs/client/Script/Scripts.js +3 -0
  178. package/dist/commonjs/client/Script/Scripts.js.map +2 -2
  179. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +4 -0
  180. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +2 -2
  181. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js +1 -0
  182. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js.map +1 -1
  183. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +1 -0
  184. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  185. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +3 -0
  186. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +2 -2
  187. package/dist/commonjs/client/StoredProcedure/index.js +1 -0
  188. package/dist/commonjs/client/StoredProcedure/index.js.map +1 -1
  189. package/dist/commonjs/client/Trigger/Trigger.js +4 -0
  190. package/dist/commonjs/client/Trigger/Trigger.js.map +2 -2
  191. package/dist/commonjs/client/Trigger/TriggerDefinition.js +1 -0
  192. package/dist/commonjs/client/Trigger/TriggerDefinition.js.map +1 -1
  193. package/dist/commonjs/client/Trigger/TriggerResponse.js +1 -0
  194. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +1 -1
  195. package/dist/commonjs/client/Trigger/Triggers.js +3 -0
  196. package/dist/commonjs/client/Trigger/Triggers.js.map +2 -2
  197. package/dist/commonjs/client/Trigger/index.js +1 -0
  198. package/dist/commonjs/client/Trigger/index.js.map +1 -1
  199. package/dist/commonjs/client/User/User.js +4 -0
  200. package/dist/commonjs/client/User/User.js.map +2 -2
  201. package/dist/commonjs/client/User/UserDefinition.js +1 -0
  202. package/dist/commonjs/client/User/UserDefinition.js.map +1 -1
  203. package/dist/commonjs/client/User/UserResponse.js +1 -0
  204. package/dist/commonjs/client/User/UserResponse.js.map +1 -1
  205. package/dist/commonjs/client/User/Users.js +3 -0
  206. package/dist/commonjs/client/User/Users.js.map +2 -2
  207. package/dist/commonjs/client/User/index.js +1 -0
  208. package/dist/commonjs/client/User/index.js.map +1 -1
  209. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +4 -0
  210. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +2 -2
  211. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js +1 -0
  212. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js.map +1 -1
  213. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +1 -0
  214. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  215. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +3 -0
  216. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +2 -2
  217. package/dist/commonjs/client/UserDefinedFunction/index.js +1 -0
  218. package/dist/commonjs/client/UserDefinedFunction/index.js.map +1 -1
  219. package/dist/commonjs/client/index.js +1 -0
  220. package/dist/commonjs/client/index.js.map +1 -1
  221. package/dist/commonjs/common/constants.js +2 -1
  222. package/dist/commonjs/common/constants.js.map +2 -2
  223. package/dist/commonjs/common/helper.js +1 -0
  224. package/dist/commonjs/common/helper.js.map +1 -1
  225. package/dist/commonjs/common/index.js +1 -0
  226. package/dist/commonjs/common/index.js.map +1 -1
  227. package/dist/commonjs/common/logger.js +1 -0
  228. package/dist/commonjs/common/logger.js.map +1 -1
  229. package/dist/commonjs/common/partitionKeys.js +1 -0
  230. package/dist/commonjs/common/partitionKeys.js.map +1 -1
  231. package/dist/commonjs/common/platform.js +1 -0
  232. package/dist/commonjs/common/platform.js.map +1 -1
  233. package/dist/commonjs/common/statusCodes.js +1 -0
  234. package/dist/commonjs/common/statusCodes.js.map +1 -1
  235. package/dist/commonjs/common/uriFactory.js +1 -0
  236. package/dist/commonjs/common/uriFactory.js.map +1 -1
  237. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js +1 -0
  238. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js.map +1 -1
  239. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +1 -0
  240. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  241. package/dist/commonjs/diagnostics/DiagnosticFormatter.js +1 -0
  242. package/dist/commonjs/diagnostics/DiagnosticFormatter.js.map +1 -1
  243. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +1 -0
  244. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  245. package/dist/commonjs/diagnostics/DiagnosticWriter.js +1 -0
  246. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +1 -1
  247. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js +1 -0
  248. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js.map +1 -1
  249. package/dist/commonjs/diagnostics/index.js +1 -0
  250. package/dist/commonjs/diagnostics/index.js.map +1 -1
  251. package/dist/commonjs/documents/ComputedProperty.js +1 -0
  252. package/dist/commonjs/documents/ComputedProperty.js.map +1 -1
  253. package/dist/commonjs/documents/ConnectionMode.js +1 -0
  254. package/dist/commonjs/documents/ConnectionMode.js.map +1 -1
  255. package/dist/commonjs/documents/ConnectionPolicy.js +1 -0
  256. package/dist/commonjs/documents/ConnectionPolicy.js.map +1 -1
  257. package/dist/commonjs/documents/ConsistencyLevel.js +1 -0
  258. package/dist/commonjs/documents/ConsistencyLevel.js.map +1 -1
  259. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +1 -0
  260. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -1
  261. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +1 -0
  262. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -1
  263. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +1 -0
  264. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -1
  265. package/dist/commonjs/documents/DataType.js +1 -0
  266. package/dist/commonjs/documents/DataType.js.map +1 -1
  267. package/dist/commonjs/documents/DatabaseAccount.js +1 -0
  268. package/dist/commonjs/documents/DatabaseAccount.js.map +1 -1
  269. package/dist/commonjs/documents/Document.js +1 -0
  270. package/dist/commonjs/documents/Document.js.map +1 -1
  271. package/dist/commonjs/documents/FullTextPolicy.js +1 -0
  272. package/dist/commonjs/documents/FullTextPolicy.js.map +1 -1
  273. package/dist/commonjs/documents/GeospatialType.js +1 -0
  274. package/dist/commonjs/documents/GeospatialType.js.map +1 -1
  275. package/dist/commonjs/documents/IndexKind.js +1 -0
  276. package/dist/commonjs/documents/IndexKind.js.map +1 -1
  277. package/dist/commonjs/documents/IndexingMode.js +1 -0
  278. package/dist/commonjs/documents/IndexingMode.js.map +1 -1
  279. package/dist/commonjs/documents/IndexingPolicy.js +1 -0
  280. package/dist/commonjs/documents/IndexingPolicy.js.map +1 -1
  281. package/dist/commonjs/documents/PartitionKey.js +1 -0
  282. package/dist/commonjs/documents/PartitionKey.js.map +1 -1
  283. package/dist/commonjs/documents/PartitionKeyDefinition.js +1 -0
  284. package/dist/commonjs/documents/PartitionKeyDefinition.js.map +1 -1
  285. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js +1 -0
  286. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js.map +1 -1
  287. package/dist/commonjs/documents/PartitionKeyInternal.js +1 -0
  288. package/dist/commonjs/documents/PartitionKeyInternal.js.map +1 -1
  289. package/dist/commonjs/documents/PartitionKeyKind.js +1 -0
  290. package/dist/commonjs/documents/PartitionKeyKind.js.map +1 -1
  291. package/dist/commonjs/documents/PermissionMode.js +1 -0
  292. package/dist/commonjs/documents/PermissionMode.js.map +1 -1
  293. package/dist/commonjs/documents/PriorityLevel.js +1 -0
  294. package/dist/commonjs/documents/PriorityLevel.js.map +1 -1
  295. package/dist/commonjs/documents/TriggerOperation.js +1 -0
  296. package/dist/commonjs/documents/TriggerOperation.js.map +1 -1
  297. package/dist/commonjs/documents/TriggerType.js +1 -0
  298. package/dist/commonjs/documents/TriggerType.js.map +1 -1
  299. package/dist/commonjs/documents/UserDefinedFunctionType.js +1 -0
  300. package/dist/commonjs/documents/UserDefinedFunctionType.js.map +1 -1
  301. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +1 -0
  302. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  303. package/dist/commonjs/documents/index.js +1 -0
  304. package/dist/commonjs/documents/index.js.map +1 -1
  305. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +1 -0
  306. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  307. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js +1 -0
  308. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js.map +1 -1
  309. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +1 -0
  310. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  311. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +1 -0
  312. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  313. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +1 -0
  314. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  315. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +2 -0
  316. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +2 -2
  317. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js +1 -0
  318. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  319. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js +1 -0
  320. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js.map +1 -1
  321. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js +1 -0
  322. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js.map +1 -1
  323. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +1 -0
  324. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  325. package/dist/commonjs/encryption/ClientEncryptionKey/index.js +1 -0
  326. package/dist/commonjs/encryption/ClientEncryptionKey/index.js.map +1 -1
  327. package/dist/commonjs/encryption/ClientEncryptionOptions.js +1 -0
  328. package/dist/commonjs/encryption/ClientEncryptionOptions.js.map +1 -1
  329. package/dist/commonjs/encryption/ClientEncryptionPolicy.js +1 -0
  330. package/dist/commonjs/encryption/ClientEncryptionPolicy.js.map +1 -1
  331. package/dist/commonjs/encryption/CosmosEncryptedNumber.js +1 -0
  332. package/dist/commonjs/encryption/CosmosEncryptedNumber.js.map +1 -1
  333. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +1 -0
  334. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +1 -1
  335. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +1 -0
  336. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  337. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +1 -0
  338. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  339. package/dist/commonjs/encryption/EncryptionKey/index.js +1 -0
  340. package/dist/commonjs/encryption/EncryptionKey/index.js.map +1 -1
  341. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +1 -0
  342. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  343. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js +1 -0
  344. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js.map +1 -1
  345. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js +1 -0
  346. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js.map +1 -1
  347. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +3 -0
  348. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +2 -2
  349. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js +1 -0
  350. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js.map +1 -1
  351. package/dist/commonjs/encryption/EncryptionManager.js +1 -0
  352. package/dist/commonjs/encryption/EncryptionManager.js.map +1 -1
  353. package/dist/commonjs/encryption/EncryptionProcessor.js +6 -0
  354. package/dist/commonjs/encryption/EncryptionProcessor.js.map +2 -2
  355. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +1 -0
  356. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +1 -1
  357. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +1 -0
  358. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +1 -1
  359. package/dist/commonjs/encryption/EncryptionSettings.js +1 -0
  360. package/dist/commonjs/encryption/EncryptionSettings.js.map +1 -1
  361. package/dist/commonjs/encryption/KeyEncryptionKey.js +1 -0
  362. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +1 -1
  363. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js +1 -0
  364. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js.map +1 -1
  365. package/dist/commonjs/encryption/Serializers/FloatSerializer.js +1 -0
  366. package/dist/commonjs/encryption/Serializers/FloatSerializer.js.map +1 -1
  367. package/dist/commonjs/encryption/Serializers/NumberSerializer.js +1 -0
  368. package/dist/commonjs/encryption/Serializers/NumberSerializer.js.map +1 -1
  369. package/dist/commonjs/encryption/Serializers/Serializer.js +1 -0
  370. package/dist/commonjs/encryption/Serializers/Serializer.js.map +1 -1
  371. package/dist/commonjs/encryption/Serializers/StringSerializer.js +1 -0
  372. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +1 -1
  373. package/dist/commonjs/encryption/Serializers/index.js +1 -0
  374. package/dist/commonjs/encryption/Serializers/index.js.map +1 -1
  375. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js +1 -0
  376. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js.map +1 -1
  377. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js +1 -0
  378. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js.map +1 -1
  379. package/dist/commonjs/encryption/enums/EncryptionType.js +1 -0
  380. package/dist/commonjs/encryption/enums/EncryptionType.js.map +1 -1
  381. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js +1 -0
  382. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js.map +1 -1
  383. package/dist/commonjs/encryption/enums/TypeMarker.js +1 -0
  384. package/dist/commonjs/encryption/enums/TypeMarker.js.map +1 -1
  385. package/dist/commonjs/encryption/enums/index.js +1 -0
  386. package/dist/commonjs/encryption/enums/index.js.map +1 -1
  387. package/dist/commonjs/encryption/index.js +1 -0
  388. package/dist/commonjs/encryption/index.js.map +1 -1
  389. package/dist/commonjs/extractPartitionKey.js +1 -0
  390. package/dist/commonjs/extractPartitionKey.js.map +1 -1
  391. package/dist/commonjs/globalEndpointManager.js +2 -0
  392. package/dist/commonjs/globalEndpointManager.js.map +2 -2
  393. package/dist/commonjs/globalPartitionEndpointManager.js +2 -0
  394. package/dist/commonjs/globalPartitionEndpointManager.js.map +2 -2
  395. package/dist/commonjs/index.js +1 -0
  396. package/dist/commonjs/index.js.map +1 -1
  397. package/dist/commonjs/plugins/Plugin.js +1 -0
  398. package/dist/commonjs/plugins/Plugin.js.map +1 -1
  399. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js +1 -0
  400. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js.map +1 -1
  401. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +1 -0
  402. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  403. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  404. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  405. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  406. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  407. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  408. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  409. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  410. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  411. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +1 -0
  412. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  413. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +1 -0
  414. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  415. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  416. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  417. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  418. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  419. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +1 -0
  420. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +1 -1
  421. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +1 -0
  422. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  423. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +1 -0
  424. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -1
  425. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +1 -0
  426. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  427. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +1 -0
  428. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  429. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +1 -0
  430. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -1
  431. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js +1 -0
  432. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js.map +1 -1
  433. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +3 -0
  434. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +2 -2
  435. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +3 -0
  436. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +2 -2
  437. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +5 -0
  438. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +2 -2
  439. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +6 -0
  440. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +2 -2
  441. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +4 -0
  442. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +2 -2
  443. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +3 -0
  444. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +2 -2
  445. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  446. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +2 -2
  447. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  448. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +2 -2
  449. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js +1 -0
  450. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js.map +1 -1
  451. package/dist/commonjs/queryExecutionContext/ExecutionContext.js +1 -0
  452. package/dist/commonjs/queryExecutionContext/ExecutionContext.js.map +1 -1
  453. package/dist/commonjs/queryExecutionContext/FetchResult.js +1 -0
  454. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +1 -1
  455. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +3 -0
  456. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +2 -2
  457. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +1 -0
  458. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  459. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +1 -0
  460. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -1
  461. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +3 -0
  462. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +2 -2
  463. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +1 -0
  464. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -1
  465. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js +1 -0
  466. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js.map +1 -1
  467. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +1 -0
  468. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  469. package/dist/commonjs/queryExecutionContext/documentProducer.js +2 -0
  470. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +2 -2
  471. package/dist/commonjs/queryExecutionContext/headerUtils.js +1 -0
  472. package/dist/commonjs/queryExecutionContext/headerUtils.js.map +1 -1
  473. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +8 -0
  474. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +2 -2
  475. package/dist/commonjs/queryExecutionContext/index.js +1 -0
  476. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  477. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js +1 -0
  478. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js.map +1 -1
  479. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js +1 -0
  480. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  481. package/dist/commonjs/queryExecutionContext/orderByComparator.js +2 -0
  482. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +2 -2
  483. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +2 -0
  484. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +2 -2
  485. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  486. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  487. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +1 -0
  488. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  489. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +10 -0
  490. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +2 -2
  491. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +1 -0
  492. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -1
  493. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +8 -0
  494. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +2 -2
  495. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +1 -0
  496. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -1
  497. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  498. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  499. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -4
  500. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +3 -3
  501. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +1 -0
  502. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  503. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +2 -0
  504. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +2 -2
  505. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +1 -0
  506. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -1
  507. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +1 -0
  508. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -1
  509. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +2 -0
  510. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +2 -2
  511. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +1 -0
  512. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -1
  513. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +1 -0
  514. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -1
  515. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +1 -0
  516. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -1
  517. package/dist/commonjs/queryIterator.js +7 -0
  518. package/dist/commonjs/queryIterator.js.map +2 -2
  519. package/dist/commonjs/queryMetrics/clientSideMetrics.js +2 -0
  520. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +2 -2
  521. package/dist/commonjs/queryMetrics/index.js +1 -0
  522. package/dist/commonjs/queryMetrics/index.js.map +1 -1
  523. package/dist/commonjs/queryMetrics/queryMetrics.js +14 -0
  524. package/dist/commonjs/queryMetrics/queryMetrics.js.map +2 -2
  525. package/dist/commonjs/queryMetrics/queryMetricsConstants.js +1 -0
  526. package/dist/commonjs/queryMetrics/queryMetricsConstants.js.map +1 -1
  527. package/dist/commonjs/queryMetrics/queryMetricsUtils.js +1 -0
  528. package/dist/commonjs/queryMetrics/queryMetricsUtils.js.map +1 -1
  529. package/dist/commonjs/queryMetrics/queryPreparationTime.js +5 -0
  530. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +2 -2
  531. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +4 -0
  532. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +2 -2
  533. package/dist/commonjs/queryMetrics/timeSpan.js +1 -0
  534. package/dist/commonjs/queryMetrics/timeSpan.js.map +1 -1
  535. package/dist/commonjs/request/ErrorResponse.js +1 -0
  536. package/dist/commonjs/request/ErrorResponse.js.map +1 -1
  537. package/dist/commonjs/request/FeedOptions.js +1 -0
  538. package/dist/commonjs/request/FeedOptions.js.map +1 -1
  539. package/dist/commonjs/request/FeedResponse.js +5 -0
  540. package/dist/commonjs/request/FeedResponse.js.map +2 -2
  541. package/dist/commonjs/request/RequestContext.js +1 -0
  542. package/dist/commonjs/request/RequestContext.js.map +1 -1
  543. package/dist/commonjs/request/RequestHandler.js +1 -0
  544. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  545. package/dist/commonjs/request/RequestOptions.js +1 -0
  546. package/dist/commonjs/request/RequestOptions.js.map +1 -1
  547. package/dist/commonjs/request/ResourceResponse.js +6 -0
  548. package/dist/commonjs/request/ResourceResponse.js.map +2 -2
  549. package/dist/commonjs/request/Response.js +1 -0
  550. package/dist/commonjs/request/Response.js.map +1 -1
  551. package/dist/commonjs/request/SharedOptions.js +1 -0
  552. package/dist/commonjs/request/SharedOptions.js.map +1 -1
  553. package/dist/commonjs/request/StatusCodes.js +1 -0
  554. package/dist/commonjs/request/StatusCodes.js.map +1 -1
  555. package/dist/commonjs/request/TimeoutError.js +1 -0
  556. package/dist/commonjs/request/TimeoutError.js.map +1 -1
  557. package/dist/commonjs/request/defaultAgent.js +1 -0
  558. package/dist/commonjs/request/defaultAgent.js.map +1 -1
  559. package/dist/commonjs/request/globalStatistics.js +1 -0
  560. package/dist/commonjs/request/globalStatistics.js.map +1 -1
  561. package/dist/commonjs/request/hybridSearchQueryResult.js +1 -0
  562. package/dist/commonjs/request/hybridSearchQueryResult.js.map +1 -1
  563. package/dist/commonjs/request/index.js +1 -0
  564. package/dist/commonjs/request/index.js.map +1 -1
  565. package/dist/commonjs/request/request.js +1 -0
  566. package/dist/commonjs/request/request.js.map +1 -1
  567. package/dist/commonjs/retry/RetryContext.js +1 -0
  568. package/dist/commonjs/retry/RetryContext.js.map +1 -1
  569. package/dist/commonjs/retry/RetryPolicy.js +1 -0
  570. package/dist/commonjs/retry/RetryPolicy.js.map +1 -1
  571. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +1 -0
  572. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +1 -1
  573. package/dist/commonjs/retry/defaultRetryPolicy.js +2 -0
  574. package/dist/commonjs/retry/defaultRetryPolicy.js.map +2 -2
  575. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +5 -0
  576. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +2 -2
  577. package/dist/commonjs/retry/index.js +1 -0
  578. package/dist/commonjs/retry/index.js.map +1 -1
  579. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +1 -0
  580. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +1 -1
  581. package/dist/commonjs/retry/retryOptions.js +1 -0
  582. package/dist/commonjs/retry/retryOptions.js.map +1 -1
  583. package/dist/commonjs/retry/retryUtility.js +1 -0
  584. package/dist/commonjs/retry/retryUtility.js.map +1 -1
  585. package/dist/commonjs/retry/sessionRetryPolicy.js +5 -0
  586. package/dist/commonjs/retry/sessionRetryPolicy.js.map +2 -2
  587. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +8 -0
  588. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +2 -2
  589. package/dist/commonjs/routing/CollectionRoutingMapFactory.js +1 -0
  590. package/dist/commonjs/routing/CollectionRoutingMapFactory.js.map +1 -1
  591. package/dist/commonjs/routing/QueryRange.js +1 -0
  592. package/dist/commonjs/routing/QueryRange.js.map +1 -1
  593. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +1 -0
  594. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  595. package/dist/commonjs/routing/index.js +1 -0
  596. package/dist/commonjs/routing/index.js.map +1 -1
  597. package/dist/commonjs/routing/partitionKeyRangeCache.js +2 -0
  598. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +2 -2
  599. package/dist/commonjs/routing/smartRoutingMapProvider.js +1 -0
  600. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +1 -1
  601. package/dist/commonjs/session/SessionContext.js +1 -0
  602. package/dist/commonjs/session/SessionContext.js.map +1 -1
  603. package/dist/commonjs/session/VectorSessionToken.js +5 -0
  604. package/dist/commonjs/session/VectorSessionToken.js.map +2 -2
  605. package/dist/commonjs/session/sessionContainer.js +3 -0
  606. package/dist/commonjs/session/sessionContainer.js.map +2 -2
  607. package/dist/commonjs/tsdoc-metadata.json +1 -1
  608. package/dist/commonjs/utils/SasToken.js +1 -0
  609. package/dist/commonjs/utils/SasToken.js.map +1 -1
  610. package/dist/commonjs/utils/atob.js +1 -0
  611. package/dist/commonjs/utils/atob.js.map +1 -1
  612. package/dist/commonjs/utils/batch.js +1 -0
  613. package/dist/commonjs/utils/batch.js.map +1 -1
  614. package/dist/commonjs/utils/cachedClient.js +1 -0
  615. package/dist/commonjs/utils/cachedClient.js.map +1 -1
  616. package/dist/commonjs/utils/checkURL.js +1 -0
  617. package/dist/commonjs/utils/checkURL.js.map +1 -1
  618. package/dist/commonjs/utils/diagnostics.js +1 -0
  619. package/dist/commonjs/utils/diagnostics.js.map +1 -1
  620. package/dist/commonjs/utils/digest.js +1 -0
  621. package/dist/commonjs/utils/digest.js.map +1 -1
  622. package/dist/commonjs/utils/encode.js +1 -0
  623. package/dist/commonjs/utils/encode.js.map +1 -1
  624. package/dist/commonjs/utils/envUtils.js +1 -0
  625. package/dist/commonjs/utils/envUtils.js.map +1 -1
  626. package/dist/commonjs/utils/fixedSizePriorityQueue.js +1 -0
  627. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +1 -1
  628. package/dist/commonjs/utils/globalCrypto.js +1 -0
  629. package/dist/commonjs/utils/globalCrypto.js.map +1 -1
  630. package/dist/commonjs/utils/hashObject.js +1 -0
  631. package/dist/commonjs/utils/hashObject.js.map +1 -1
  632. package/dist/commonjs/utils/hashing/encoding/number.js +1 -0
  633. package/dist/commonjs/utils/hashing/encoding/number.js.map +1 -1
  634. package/dist/commonjs/utils/hashing/encoding/prefix.js +1 -0
  635. package/dist/commonjs/utils/hashing/encoding/prefix.js.map +1 -1
  636. package/dist/commonjs/utils/hashing/encoding/string.js +1 -0
  637. package/dist/commonjs/utils/hashing/encoding/string.js.map +1 -1
  638. package/dist/commonjs/utils/hashing/hash.js +1 -0
  639. package/dist/commonjs/utils/hashing/hash.js.map +1 -1
  640. package/dist/commonjs/utils/hashing/multiHash.js +1 -0
  641. package/dist/commonjs/utils/hashing/multiHash.js.map +1 -1
  642. package/dist/commonjs/utils/hashing/murmurHash.js +1 -0
  643. package/dist/commonjs/utils/hashing/murmurHash.js.map +1 -1
  644. package/dist/commonjs/utils/hashing/v1.js +1 -0
  645. package/dist/commonjs/utils/hashing/v1.js.map +1 -1
  646. package/dist/commonjs/utils/hashing/v2.js +1 -0
  647. package/dist/commonjs/utils/hashing/v2.js.map +1 -1
  648. package/dist/commonjs/utils/headers.js +1 -0
  649. package/dist/commonjs/utils/headers.js.map +1 -1
  650. package/dist/commonjs/utils/hmac.js +1 -0
  651. package/dist/commonjs/utils/hmac.js.map +1 -1
  652. package/dist/commonjs/utils/nonStreamingOrderByMap.js +1 -0
  653. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +1 -1
  654. package/dist/commonjs/utils/offers.js +1 -0
  655. package/dist/commonjs/utils/offers.js.map +1 -1
  656. package/dist/commonjs/utils/patch.js +1 -0
  657. package/dist/commonjs/utils/patch.js.map +1 -1
  658. package/dist/commonjs/utils/strings.js +1 -0
  659. package/dist/commonjs/utils/strings.js.map +1 -1
  660. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js +1 -0
  661. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js.map +1 -1
  662. package/dist/commonjs/utils/time.js +1 -0
  663. package/dist/commonjs/utils/time.js.map +1 -1
  664. package/dist/commonjs/utils/tracing.js +1 -0
  665. package/dist/commonjs/utils/tracing.js.map +1 -1
  666. package/dist/commonjs/utils/typeChecks.js +1 -0
  667. package/dist/commonjs/utils/typeChecks.js.map +1 -1
  668. package/dist/commonjs/utils/types.js +1 -0
  669. package/dist/commonjs/utils/types.js.map +1 -1
  670. package/dist/commonjs/utils/uint8.js +1 -0
  671. package/dist/commonjs/utils/uint8.js.map +1 -1
  672. package/dist/esm/common/constants.js +1 -1
  673. package/dist/esm/common/constants.js.map +1 -1
  674. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  675. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  676. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  677. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  678. package/dist/react-native/common/constants.js +1 -1
  679. package/dist/react-native/common/constants.js.map +1 -1
  680. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  681. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  682. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  683. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  684. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/EncryptionQueryBuilder.ts"],
3
+ "sources": ["../../../src/encryption/EncryptionQueryBuilder.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n SqlQuerySpec,\n SqlParameter,\n JSONArray,\n JSONObject,\n JSONValue,\n} from \"../queryExecutionContext/index.js\";\nimport { TypeMarker } from \"./enums/TypeMarker.js\";\nimport type { CosmosEncryptedNumber } from \"./CosmosEncryptedNumber.js\";\nimport { CosmosEncryptedNumberType } from \"./CosmosEncryptedNumber.js\";\n\nexport interface EncryptionSqlParameter extends SqlParameter {\n type?: TypeMarker;\n path: string;\n}\n\n/**\n * Represents a builder class for building encrypted parameters in parametrized query.\n */\nexport class EncryptionQueryBuilder {\n private query: string;\n private parameters?: EncryptionSqlParameter[];\n\n constructor(query: string) {\n this.query = query;\n this.parameters = [];\n }\n /**\n * Adds parameter to query\n */\n public addParameter(\n name: string,\n value: boolean | string | null | JSONArray | JSONObject | Date | CosmosEncryptedNumber,\n path: string,\n ): void {\n if (value === null) {\n this.parameters.push({ name: name, value: null, path: path });\n return;\n }\n switch (true) {\n case typeof value === \"boolean\":\n this.parameters.push({\n name,\n value,\n type: TypeMarker.Boolean,\n path,\n });\n break;\n case typeof value === \"string\":\n this.parameters.push({\n name,\n value,\n type: TypeMarker.String,\n path,\n });\n break;\n case value instanceof Date: {\n const date = value.toISOString();\n this.parameters.push({\n name: name,\n value: date,\n type: TypeMarker.String,\n path: path,\n });\n break;\n }\n case isCosmosEncryptedNumber(value): {\n const num = value.value;\n if (value.numberType === CosmosEncryptedNumberType.Integer) {\n this.parameters.push({\n name,\n value: num,\n type: TypeMarker.Long,\n path,\n });\n } else if (value.numberType === CosmosEncryptedNumberType.Float) {\n this.parameters.push({\n name,\n value: num,\n type: TypeMarker.Double,\n path,\n });\n }\n break;\n }\n case Array.isArray(value):\n this.parameters.push({ name, value, path });\n break;\n case typeof value === \"object\":\n this.parameters.push({ name, value, path });\n break;\n default:\n throw new Error(`Unsupported parameter type for parameter \"${name}\": ${typeof value}`);\n }\n }\n\n /** Adds unencrypted parameter to query */\n public addUnencryptedParameter(name: string, value: JSONValue, path: string): void {\n this.parameters.push({ name: name, value: value, path: path });\n }\n\n /*\n * @internal\n */\n public toEncryptionSqlQuerySpec(): SqlQuerySpec {\n return {\n query: this.query,\n parameters: this.parameters,\n };\n }\n}\n\nfunction isCosmosEncryptedNumber(val: any): val is CosmosEncryptedNumber {\n return (\n val !== null &&\n typeof val === \"object\" &&\n typeof val.value === \"number\" &&\n typeof val.numberType === \"string\" &&\n (val.numberType === CosmosEncryptedNumberType.Integer ||\n val.numberType === CosmosEncryptedNumberType.Float)\n );\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,wBAA2B;AAE3B,mCAA0C;AAUnC,MAAM,uBAAuB;AAAA,EAC1B;AAAA,EACA;AAAA,EAER,YAAY,OAAe;AACzB,SAAK,QAAQ;AACb,SAAK,aAAa,CAAC;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAIO,aACL,MACA,OACA,MACM;AACN,QAAI,UAAU,MAAM;AAClB,WAAK,WAAW,KAAK,EAAE,MAAY,OAAO,MAAM,KAAW,CAAC;AAC5D;AAAA,IACF;AACA,YAAQ,MAAM;AAAA,MACZ,KAAK,OAAO,UAAU;AACpB,aAAK,WAAW,KAAK;AAAA,UACnB;AAAA,UACA;AAAA,UACA,MAAM,6BAAW;AAAA,UACjB;AAAA,QACF,CAAC;AACD;AAAA,MACF,KAAK,OAAO,UAAU;AACpB,aAAK,WAAW,KAAK;AAAA,UACnB;AAAA,UACA;AAAA,UACA,MAAM,6BAAW;AAAA,UACjB;AAAA,QACF,CAAC;AACD;AAAA,MACF,KAAK,iBAAiB,MAAM;AAC1B,cAAM,OAAO,MAAM,YAAY;AAC/B,aAAK,WAAW,KAAK;AAAA,UACnB;AAAA,UACA,OAAO;AAAA,UACP,MAAM,6BAAW;AAAA,UACjB;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAAA,MACA,KAAK,wBAAwB,KAAK,GAAG;AACnC,cAAM,MAAM,MAAM;AAClB,YAAI,MAAM,eAAe,uDAA0B,SAAS;AAC1D,eAAK,WAAW,KAAK;AAAA,YACnB;AAAA,YACA,OAAO;AAAA,YACP,MAAM,6BAAW;AAAA,YACjB;AAAA,UACF,CAAC;AAAA,QACH,WAAW,MAAM,eAAe,uDAA0B,OAAO;AAC/D,eAAK,WAAW,KAAK;AAAA,YACnB;AAAA,YACA,OAAO;AAAA,YACP,MAAM,6BAAW;AAAA,YACjB;AAAA,UACF,CAAC;AAAA,QACH;AACA;AAAA,MACF;AAAA,MACA,KAAK,MAAM,QAAQ,KAAK;AACtB,aAAK,WAAW,KAAK,EAAE,MAAM,OAAO,KAAK,CAAC;AAC1C;AAAA,MACF,KAAK,OAAO,UAAU;AACpB,aAAK,WAAW,KAAK,EAAE,MAAM,OAAO,KAAK,CAAC;AAC1C;AAAA,MACF;AACE,cAAM,IAAI,MAAM,6CAA6C,IAAI,MAAM,OAAO,KAAK,EAAE;AAAA,IACzF;AAAA,EACF;AAAA;AAAA,EAGO,wBAAwB,MAAc,OAAkB,MAAoB;AACjF,SAAK,WAAW,KAAK,EAAE,MAAY,OAAc,KAAW,CAAC;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA,EAKO,2BAAyC;AAC9C,WAAO;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,IACnB;AAAA,EACF;AACF;AAEA,SAAS,wBAAwB,KAAwC;AACvE,SACE,QAAQ,QACR,OAAO,QAAQ,YACf,OAAO,IAAI,UAAU,YACrB,OAAO,IAAI,eAAe,aACzB,IAAI,eAAe,uDAA0B,WAC5C,IAAI,eAAe,uDAA0B;AAEnD;",
6
6
  "names": []
@@ -64,3 +64,4 @@ class EncryptionSettingForProperty {
64
64
  0 && (module.exports = {
65
65
  EncryptionSettingForProperty
66
66
  });
67
+ //# sourceMappingURL=EncryptionSettingForProperty.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/EncryptionSettingForProperty.ts"],
3
+ "sources": ["../../../src/encryption/EncryptionSettingForProperty.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientEncryptionIncludedPath } from \"./ClientEncryptionIncludedPath.js\";\nimport type { ClientEncryptionKeyProperties } from \"./ClientEncryptionKey/index.js\";\nimport type { EncryptionAlgorithm, EncryptionType } from \"./enums/index.js\";\nimport { AeadAes256CbcHmacSha256Algorithm } from \"./AeadAes256CbcHmacSha256Algorithm/index.js\";\nimport type { ProtectedDataEncryptionKey } from \"./EncryptionKey/index.js\";\nimport type { EncryptionManager } from \"./EncryptionManager.js\";\n\n/**\n * Represents the encryption setting for a specific property in an item.\n * @hidden\n */\nexport class EncryptionSettingForProperty {\n // client encryption key id.\n encryptionKeyId: string;\n // encryption type - Deterministic/Randomized.\n encryptionType: EncryptionType;\n // encryption algorithm - AEAD_AES_256_CBC_HMAC_SHA256\n encryptionAlgorithm: EncryptionAlgorithm;\n\n constructor(clientEncryptionIncludedPath: ClientEncryptionIncludedPath) {\n this.encryptionKeyId = clientEncryptionIncludedPath.clientEncryptionKeyId;\n this.encryptionType = clientEncryptionIncludedPath.encryptionType;\n this.encryptionAlgorithm = clientEncryptionIncludedPath.encryptionAlgorithm;\n }\n\n public async buildEncryptionAlgorithm(\n clientEncryptionKeyProperties: ClientEncryptionKeyProperties,\n encryptionManager: EncryptionManager,\n forceRefresh?: boolean,\n ): Promise<AeadAes256CbcHmacSha256Algorithm> {\n const protectedDataEncryptionKey = await this.buildProtectedDataEncryptionKey(\n clientEncryptionKeyProperties,\n encryptionManager,\n forceRefresh,\n );\n const encryptionAlgorithm = new AeadAes256CbcHmacSha256Algorithm(\n protectedDataEncryptionKey,\n this.encryptionType,\n );\n\n return encryptionAlgorithm;\n }\n\n private async buildProtectedDataEncryptionKey(\n clientEncryptionKeyProperties: ClientEncryptionKeyProperties,\n encryptionManager: EncryptionManager,\n forceRefresh?: boolean,\n ): Promise<ProtectedDataEncryptionKey> {\n const keyEncryptionKey = encryptionManager.keyEncryptionKeyCache.getOrCreate(\n clientEncryptionKeyProperties.encryptionKeyWrapMetadata.name,\n clientEncryptionKeyProperties.encryptionKeyWrapMetadata.value,\n encryptionManager.encryptionKeyStoreProvider,\n );\n const protectedDataEncryptionKey =\n await encryptionManager.protectedDataEncryptionKeyCache.getOrCreate(\n this.encryptionKeyId,\n keyEncryptionKey,\n clientEncryptionKeyProperties.wrappedDataEncryptionKey,\n forceRefresh,\n );\n\n return protectedDataEncryptionKey;\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,8CAAiD;AAQ1C,MAAM,6BAA6B;AAAA;AAAA,EAExC;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAEA,YAAY,8BAA4D;AACtE,SAAK,kBAAkB,6BAA6B;AACpD,SAAK,iBAAiB,6BAA6B;AACnD,SAAK,sBAAsB,6BAA6B;AAAA,EAC1D;AAAA,EAEA,MAAa,yBACX,+BACA,mBACA,cAC2C;AAC3C,UAAM,6BAA6B,MAAM,KAAK;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,sBAAsB,IAAI;AAAA,MAC9B;AAAA,MACA,KAAK;AAAA,IACP;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,gCACZ,+BACA,mBACA,cACqC;AACrC,UAAM,mBAAmB,kBAAkB,sBAAsB;AAAA,MAC/D,8BAA8B,0BAA0B;AAAA,MACxD,8BAA8B,0BAA0B;AAAA,MACxD,kBAAkB;AAAA,IACpB;AACA,UAAM,6BACJ,MAAM,kBAAkB,gCAAgC;AAAA,MACtD,KAAK;AAAA,MACL;AAAA,MACA,8BAA8B;AAAA,MAC9B;AAAA,IACF;AAEF,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
@@ -45,3 +45,4 @@ class EncryptionSettings {
45
45
  0 && (module.exports = {
46
46
  EncryptionSettings
47
47
  });
48
+ //# sourceMappingURL=EncryptionSettings.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/EncryptionSettings.ts"],
3
+ "sources": ["../../../src/encryption/EncryptionSettings.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { EncryptionSettingForProperty } from \"./EncryptionSettingForProperty.js\";\n\n/**\n * stores partitionKeyPaths, all the pathsToEncrypt, and encryption settings (cekId, encryption type, and algorithm) for each property.\n * see {@link EncryptionSettingForProperty}\n * @hidden\n */\nexport class EncryptionSettings {\n public id: string; // databaseRid + '/' + containerRid\n\n public containerRid: string;\n\n public partitionKeyPaths: string[];\n\n public pathsToEncrypt: string[] = [];\n\n // key is property path\n private encryptionSettingForProperties: { [key: string]: EncryptionSettingForProperty } = {};\n\n // getContainerRid\n public constructor(id: string, containerRid: string, partitionKeyPaths: string[]) {\n this.id = id;\n this.containerRid = containerRid;\n this.partitionKeyPaths = partitionKeyPaths;\n }\n\n public setEncryptionSettingForProperty(\n key: string,\n encryptionSettingForProperty: EncryptionSettingForProperty,\n ): void {\n this.encryptionSettingForProperties[key] = encryptionSettingForProperty;\n }\n\n public getEncryptionSettingForProperty(propertyName: string): EncryptionSettingForProperty {\n return this.encryptionSettingForProperties[propertyName];\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,mBAAmB;AAAA,EACvB;AAAA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,iBAA2B,CAAC;AAAA;AAAA,EAG3B,iCAAkF,CAAC;AAAA;AAAA,EAGpF,YAAY,IAAY,cAAsB,mBAA6B;AAChF,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAEO,gCACL,KACA,8BACM;AACN,SAAK,+BAA+B,GAAG,IAAI;AAAA,EAC7C;AAAA,EAEO,gCAAgC,cAAoD;AACzF,WAAO,KAAK,+BAA+B,YAAY;AAAA,EACzD;AACF;",
6
6
  "names": []
@@ -51,3 +51,4 @@ class KeyEncryptionKey {
51
51
  0 && (module.exports = {
52
52
  KeyEncryptionKey
53
53
  });
54
+ //# sourceMappingURL=KeyEncryptionKey.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/KeyEncryptionKey.ts"],
3
+ "sources": ["../../../src/encryption/KeyEncryptionKey.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { KeyEncryptionAlgorithm } from \"./enums/KeyEncryptionAlgorithm.js\";\nimport type { EncryptionKeyStoreProvider } from \"./EncryptionKeyStoreProvider.js\";\n/**\n * A wrapper class containing the info about the key-protecting key stored in an external key provider\n * and provides interface to wrap and unwrap the key.\n */\nexport class KeyEncryptionKey {\n private encryptionAlgorithm: KeyEncryptionAlgorithm;\n\n public name: string;\n\n public path: string;\n\n public keyStoreProvider: EncryptionKeyStoreProvider;\n\n constructor(name: string, path: string, keyStoreProvider: EncryptionKeyStoreProvider) {\n this.name = name;\n this.path = path;\n this.keyStoreProvider = keyStoreProvider;\n this.encryptionAlgorithm = KeyEncryptionAlgorithm.RSA_OAEP;\n }\n\n public async wrapEncryptionKey(plainTextEncryptionKey: Buffer): Promise<Buffer> {\n return this.keyStoreProvider.wrapKey(\n this.path,\n this.encryptionAlgorithm,\n plainTextEncryptionKey,\n );\n }\n\n public async unwrapEncryptionKey(wrappedEncryptionKey: Buffer): Promise<Buffer> {\n return this.keyStoreProvider.unwrapKey(\n this.path,\n this.encryptionAlgorithm,\n wrappedEncryptionKey,\n );\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oCAAuC;AAMhC,MAAM,iBAAiB;AAAA,EACpB;AAAA,EAED;AAAA,EAEA;AAAA,EAEA;AAAA,EAEP,YAAY,MAAc,MAAc,kBAA8C;AACpF,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,mBAAmB;AACxB,SAAK,sBAAsB,qDAAuB;AAAA,EACpD;AAAA,EAEA,MAAa,kBAAkB,wBAAiD;AAC9E,WAAO,KAAK,iBAAiB;AAAA,MAC3B,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAa,oBAAoB,sBAA+C;AAC9E,WAAO,KAAK,iBAAiB;AAAA,MAC3B,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
@@ -38,3 +38,4 @@ class BooleanSerializer {
38
38
  0 && (module.exports = {
39
39
  BooleanSerializer
40
40
  });
41
+ //# sourceMappingURL=BooleanSerializer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/BooleanSerializer.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/BooleanSerializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Serializer } from \"./Serializer.js\";\n\nexport class BooleanSerializer implements Serializer {\n serialize(value: boolean): Buffer {\n const numValue = value ? 1 : 0;\n const buffer = Buffer.alloc(8);\n buffer.writeBigInt64LE(BigInt(numValue), 0);\n return buffer;\n }\n\n deserialize(bytes: Buffer): boolean {\n if (!bytes || bytes.length < 1) {\n throw new Error(\"Invalid byte array for deserialization\");\n }\n return !!bytes[0];\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,kBAAwC;AAAA,EACnD,UAAU,OAAwB;AAChC,UAAM,WAAW,QAAQ,IAAI;AAC7B,UAAM,SAAS,OAAO,MAAM,CAAC;AAC7B,WAAO,gBAAgB,OAAO,QAAQ,GAAG,CAAC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,OAAwB;AAClC,QAAI,CAAC,SAAS,MAAM,SAAS,GAAG;AAC9B,YAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AACA,WAAO,CAAC,CAAC,MAAM,CAAC;AAAA,EAClB;AACF;",
6
6
  "names": []
@@ -41,3 +41,4 @@ class FloatSerializer {
41
41
  0 && (module.exports = {
42
42
  FloatSerializer
43
43
  });
44
+ //# sourceMappingURL=FloatSerializer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/FloatSerializer.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/FloatSerializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Serializer } from \"./Serializer.js\";\n\nexport class FloatSerializer implements Serializer {\n deserialize(bytes: Buffer): number {\n if (!bytes || bytes.length < 8) {\n throw new Error(\"Invalid byte array for deserialization\");\n }\n const res = bytes.readDoubleLE(0);\n return res;\n }\n\n serialize(value: number): Buffer {\n if (!Number.isFinite(value)) {\n throw new Error(\"Value is out of range\");\n }\n const buffer = Buffer.alloc(8);\n buffer.writeDoubleLE(value, 0);\n return buffer;\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,gBAAsC;AAAA,EACjD,YAAY,OAAuB;AACjC,QAAI,CAAC,SAAS,MAAM,SAAS,GAAG;AAC9B,YAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AACA,UAAM,MAAM,MAAM,aAAa,CAAC;AAChC,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,OAAuB;AAC/B,QAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAC3B,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACzC;AACA,UAAM,SAAS,OAAO,MAAM,CAAC;AAC7B,WAAO,cAAc,OAAO,CAAC;AAC7B,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
@@ -39,3 +39,4 @@ class NumberSerializer {
39
39
  0 && (module.exports = {
40
40
  NumberSerializer
41
41
  });
42
+ //# sourceMappingURL=NumberSerializer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/NumberSerializer.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/NumberSerializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Serializer } from \"./Serializer.js\";\n\nexport class NumberSerializer implements Serializer {\n deserialize(bytes: Buffer): number {\n if (!bytes || bytes.length < 8) {\n throw new Error(\"Invalid byte array for deserialization\");\n }\n const num = Number(bytes.readBigInt64LE(0));\n return num;\n }\n\n serialize(value: number): Buffer {\n const newValue = BigInt(value);\n const buffer = Buffer.alloc(8);\n buffer.writeBigInt64LE(newValue, 0);\n return buffer;\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,iBAAuC;AAAA,EAClD,YAAY,OAAuB;AACjC,QAAI,CAAC,SAAS,MAAM,SAAS,GAAG;AAC9B,YAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AACA,UAAM,MAAM,OAAO,MAAM,eAAe,CAAC,CAAC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,OAAuB;AAC/B,UAAM,WAAW,OAAO,KAAK;AAC7B,UAAM,SAAS,OAAO,MAAM,CAAC;AAC7B,WAAO,gBAAgB,UAAU,CAAC;AAClC,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
@@ -13,3 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var Serializer_exports = {};
15
15
  module.exports = __toCommonJS(Serializer_exports);
16
+ //# sourceMappingURL=Serializer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/Serializer.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/Serializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport interface Serializer {\n serialize(value: any): Buffer;\n deserialize(bytes: Buffer): any;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -33,3 +33,4 @@ class StringSerializer {
33
33
  0 && (module.exports = {
34
34
  StringSerializer
35
35
  });
36
+ //# sourceMappingURL=StringSerializer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/StringSerializer.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/StringSerializer.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Serializer } from \"./Serializer.js\";\n\nexport class StringSerializer implements Serializer {\n private static characterEncoding: BufferEncoding = \"utf-8\";\n\n deserialize(bytes: Buffer): string {\n return bytes.toString(StringSerializer.characterEncoding);\n }\n\n serialize(value: string): Buffer {\n return Buffer.from(value, StringSerializer.characterEncoding);\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,iBAAuC;AAAA,EAClD,OAAe,oBAAoC;AAAA,EAEnD,YAAY,OAAuB;AACjC,WAAO,MAAM,SAAS,iBAAiB,iBAAiB;AAAA,EAC1D;AAAA,EAEA,UAAU,OAAuB;AAC/B,WAAO,OAAO,KAAK,OAAO,iBAAiB,iBAAiB;AAAA,EAC9D;AACF;",
6
6
  "names": []
@@ -34,3 +34,4 @@ var import_StringSerializer = require("./StringSerializer.js");
34
34
  NumberSerializer,
35
35
  StringSerializer
36
36
  });
37
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/Serializers/index.ts"],
3
+ "sources": ["../../../../src/encryption/Serializers/index.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport type { Serializer } from \"./Serializer.js\";\nexport { BooleanSerializer } from \"./BooleanSerializer.js\";\nexport { NumberSerializer } from \"./NumberSerializer.js\";\nexport { FloatSerializer } from \"./FloatSerializer.js\";\nexport { StringSerializer } from \"./StringSerializer.js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,+BAAkC;AAClC,8BAAiC;AACjC,6BAAgC;AAChC,8BAAiC;",
6
6
  "names": []
@@ -28,3 +28,4 @@ var EncryptionAlgorithm = /* @__PURE__ */ ((EncryptionAlgorithm2) => {
28
28
  0 && (module.exports = {
29
29
  EncryptionAlgorithm
30
30
  });
31
+ //# sourceMappingURL=EncryptionAlgorithm.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/EncryptionAlgorithm.ts"],
3
+ "sources": ["../../../../src/encryption/enums/EncryptionAlgorithm.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** Encryption Algorithms supported for data encryption */\nexport enum EncryptionAlgorithm {\n /** Represents the authenticated encryption algorithm with associated data as described in\n http://tools.ietf.org/html/draft-mcgrew-aead-aes-cbc-hmac-sha2-05. */\n AEAD_AES_256_CBC_HMAC_SHA256 = \"AEAD_AES_256_CBC_HMAC_SHA256\",\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAK,sBAAL,kBAAKA,yBAAL;AAGL,EAAAA,qBAAA,kCAA+B;AAHrB,SAAAA;AAAA,GAAA;",
6
6
  "names": ["EncryptionAlgorithm"]
@@ -28,3 +28,4 @@ var EncryptionKeyResolverName = /* @__PURE__ */ ((EncryptionKeyResolverName2) =>
28
28
  0 && (module.exports = {
29
29
  EncryptionKeyResolverName
30
30
  });
31
+ //# sourceMappingURL=EncryptionKeyResolverName.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/EncryptionKeyResolverName.ts"],
3
+ "sources": ["../../../../src/encryption/enums/EncryptionKeyResolverName.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** Names of implementations of @see {@link EncryptionKeyResolver} */\nexport enum EncryptionKeyResolverName {\n /** Name of @see {@link AzureKeyVaultEncryptionKeyResolver} implementation for key encryption keys in Azure Key vault*/\n AzureKeyVault = \"AZURE_KEY_VAULT\",\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAK,4BAAL,kBAAKA,+BAAL;AAEL,EAAAA,2BAAA,mBAAgB;AAFN,SAAAA;AAAA,GAAA;",
6
6
  "names": ["EncryptionKeyResolverName"]
@@ -29,3 +29,4 @@ var EncryptionType = /* @__PURE__ */ ((EncryptionType2) => {
29
29
  0 && (module.exports = {
30
30
  EncryptionType
31
31
  });
32
+ //# sourceMappingURL=EncryptionType.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/EncryptionType.ts"],
3
+ "sources": ["../../../../src/encryption/enums/EncryptionType.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * The type of encryption to be performed.\n */\nexport enum EncryptionType {\n /** Deterministic type will always produce same encrypted value for same plaintext. */\n DETERMINISTIC = \"Deterministic\",\n /** Randomized type will produce different encrypted value for same plaintext. */\n RANDOMIZED = \"Randomized\",\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAK,iBAAL,kBAAKA,oBAAL;AAEL,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,gBAAa;AAJH,SAAAA;AAAA,GAAA;",
6
6
  "names": ["EncryptionType"]
@@ -28,3 +28,4 @@ var KeyEncryptionAlgorithm = /* @__PURE__ */ ((KeyEncryptionAlgorithm2) => {
28
28
  0 && (module.exports = {
29
29
  KeyEncryptionAlgorithm
30
30
  });
31
+ //# sourceMappingURL=KeyEncryptionAlgorithm.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/KeyEncryptionAlgorithm.ts"],
3
+ "sources": ["../../../../src/encryption/enums/KeyEncryptionAlgorithm.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** The algorithms used to wrap/unwrap data encryption key with key encryption key. */\nexport enum KeyEncryptionAlgorithm {\n /** name of supported algo */\n RSA_OAEP = \"RSA-OAEP\",\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAK,yBAAL,kBAAKA,4BAAL;AAEL,EAAAA,wBAAA,cAAW;AAFD,SAAAA;AAAA,GAAA;",
6
6
  "names": ["KeyEncryptionAlgorithm"]
@@ -32,3 +32,4 @@ var TypeMarker = /* @__PURE__ */ ((TypeMarker2) => {
32
32
  0 && (module.exports = {
33
33
  TypeMarker
34
34
  });
35
+ //# sourceMappingURL=TypeMarker.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/TypeMarker.ts"],
3
+ "sources": ["../../../../src/encryption/enums/TypeMarker.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport enum TypeMarker {\n Null = 1,\n Boolean = 2,\n Double = 3,\n Long = 4,\n String = 5,\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,wBAAA,UAAO,KAAP;AACA,EAAAA,wBAAA,aAAU,KAAV;AACA,EAAAA,wBAAA,YAAS,KAAT;AACA,EAAAA,wBAAA,UAAO,KAAP;AACA,EAAAA,wBAAA,YAAS,KAAT;AALU,SAAAA;AAAA,GAAA;",
6
6
  "names": ["TypeMarker"]
@@ -34,3 +34,4 @@ var import_KeyEncryptionAlgorithm = require("./KeyEncryptionAlgorithm.js");
34
34
  EncryptionType,
35
35
  KeyEncryptionAlgorithm
36
36
  });
37
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/enums/index.ts"],
3
+ "sources": ["../../../../src/encryption/enums/index.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { EncryptionType } from \"./EncryptionType.js\";\nexport { EncryptionAlgorithm } from \"./EncryptionAlgorithm.js\";\nexport { EncryptionKeyResolverName } from \"./EncryptionKeyResolverName.js\";\nexport { KeyEncryptionAlgorithm } from \"./KeyEncryptionAlgorithm.js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,4BAA+B;AAC/B,iCAAoC;AACpC,uCAA0C;AAC1C,oCAAuC;",
6
6
  "names": []
@@ -53,3 +53,4 @@ var import_CosmosEncryptedNumber = require("./CosmosEncryptedNumber.js");
53
53
  ...require("./enums/index.js"),
54
54
  ...require("./EncryptionKeyResolver/index.js")
55
55
  });
56
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/encryption/index.ts"],
3
+ "sources": ["../../../src/encryption/index.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from \"./ClientEncryptionKey/index.js\";\nexport * from \"./enums/index.js\";\nexport * from \"./EncryptionKeyResolver/index.js\";\nexport type { ClientEncryptionIncludedPath } from \"./ClientEncryptionIncludedPath.js\";\nexport type { ClientEncryptionPolicy } from \"./ClientEncryptionPolicy.js\";\nexport type { EncryptionKeyWrapMetadata } from \"./EncryptionKeyWrapMetadata.js\";\nexport { EncryptionKeyStoreProvider } from \"./EncryptionKeyStoreProvider.js\";\nexport { EncryptionSettings } from \"./EncryptionSettings.js\";\nexport { KeyEncryptionKey } from \"./KeyEncryptionKey.js\";\nexport { EncryptionSettingForProperty } from \"./EncryptionSettingForProperty.js\";\nexport { ProtectedDataEncryptionKey } from \"./EncryptionKey/index.js\";\nexport { EncryptionProcessor } from \"./EncryptionProcessor.js\";\nexport { EncryptionQueryBuilder } from \"./EncryptionQueryBuilder.js\";\nexport type { ClientEncryptionOptions } from \"./ClientEncryptionOptions.js\";\nexport { type CosmosEncryptedNumber, CosmosEncryptedNumberType } from \"./CosmosEncryptedNumber.js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,+BAAc,2CAHd;AAIA,+BAAc,6BAJd;AAKA,+BAAc,6CALd;AASA,wCAA2C;AAC3C,gCAAmC;AACnC,8BAAiC;AACjC,0CAA6C;AAC7C,2BAA2C;AAC3C,iCAAoC;AACpC,oCAAuC;AAEvC,mCAAsE;",
6
6
  "names": []
@@ -101,3 +101,4 @@ async function setPartitionKeyIfUndefined(diagnosticNode, container, partitionKe
101
101
  setPartitionKeyIfUndefined,
102
102
  undefinedPartitionKey
103
103
  });
104
+ //# sourceMappingURL=extractPartitionKey.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/extractPartitionKey.ts"],
3
+ "sources": ["../../src/extractPartitionKey.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { parsePath } from \"./common/index.js\";\nimport type {\n PartitionKey,\n PartitionKeyDefinition,\n PartitionKeyInternal,\n PrimitivePartitionKeyValue,\n} from \"./documents/index.js\";\nimport {\n convertToInternalPartitionKey,\n NonePartitionKeyLiteral,\n NullPartitionKeyLiteral,\n} from \"./documents/index.js\";\nimport { DEFAULT_PARTITION_KEY_PATH } from \"./common/partitionKeys.js\";\nimport type { Container } from \"./client/index.js\";\nimport { readPartitionKeyDefinition } from \"./client/ClientUtils.js\";\nimport type { DiagnosticNodeInternal } from \"./diagnostics/DiagnosticNodeInternal.js\";\n\nconst logger: AzureLogger = createClientLogger(\"extractPartitionKey\");\n\n/**\n * Function to extract PartitionKey based on {@link PartitionKeyDefinition}\n * from an object.\n * Retuns\n * 1. PartitionKeyInternal[] if extraction is successful.\n * 2. undefined if either {@link partitionKeyDefinition} is not well formed\n * or an unsupported partitionkey type is encountered.\n * @hidden\n */\nexport function extractPartitionKeys(\n document: unknown,\n partitionKeyDefinition?: PartitionKeyDefinition,\n): PartitionKeyInternal | undefined {\n if (\n !partitionKeyDefinition ||\n !partitionKeyDefinition.paths ||\n partitionKeyDefinition.paths.length <= 0\n ) {\n logger.error(\"Unexpected Partition Key Definition Found.\");\n return undefined;\n }\n\n if (\n partitionKeyDefinition.paths.length === 1 &&\n partitionKeyDefinition.paths[0] === DEFAULT_PARTITION_KEY_PATH\n ) {\n const defaultKey = extractPartitionKey(DEFAULT_PARTITION_KEY_PATH, document);\n if (defaultKey === undefined) {\n if (partitionKeyDefinition.systemKey === true) {\n return [];\n }\n logger.warning(\"Unsupported PartitionKey found.\");\n return undefined;\n } else if (defaultKey === NullPartitionKeyLiteral || defaultKey === NonePartitionKeyLiteral) {\n if (partitionKeyDefinition.systemKey === true) {\n return [];\n }\n }\n return [defaultKey];\n }\n\n if (partitionKeyDefinition.systemKey === true) {\n return [];\n }\n const partitionKeys: PrimitivePartitionKeyValue[] = [];\n partitionKeyDefinition.paths.forEach((path: string) => {\n const obj = extractPartitionKey(path, document);\n if (obj === undefined) {\n logger.warning(\"Unsupported PartitionKey found.\");\n return undefined;\n }\n partitionKeys.push(obj);\n });\n return partitionKeys;\n}\n\nfunction extractPartitionKey(path: string, obj: unknown): any {\n const pathParts: string[] = parsePath(path);\n for (const part of pathParts) {\n if (typeof obj === \"object\" && obj !== null && part in obj) {\n obj = (obj as Record<string, unknown>)[part];\n } else {\n obj = undefined;\n break;\n }\n }\n if (typeof obj === \"string\" || typeof obj === \"number\" || typeof obj === \"boolean\") {\n return obj;\n } else if (obj === NullPartitionKeyLiteral) {\n return NullPartitionKeyLiteral;\n } else if (obj === undefined || JSON.stringify(obj) === JSON.stringify(NonePartitionKeyLiteral)) {\n return NonePartitionKeyLiteral;\n }\n return undefined;\n}\n\n/**\n * @hidden\n */\nexport function undefinedPartitionKey(\n partitionKeyDefinition: PartitionKeyDefinition,\n): PartitionKeyInternal {\n if (partitionKeyDefinition?.systemKey) {\n return [];\n } else {\n return partitionKeyDefinition?.paths.map(() => NonePartitionKeyLiteral);\n }\n}\n\n/**\n * @hidden\n */\nexport async function setPartitionKeyIfUndefined(\n diagnosticNode: DiagnosticNodeInternal,\n container: Container,\n partitionKey: PartitionKey,\n): Promise<PartitionKeyInternal> {\n if (partitionKey === undefined) {\n const partitionKeyDefinition = await readPartitionKeyDefinition(diagnosticNode, container);\n partitionKey = undefinedPartitionKey(partitionKeyDefinition);\n }\n return convertToInternalPartitionKey(partitionKey);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAmC;AACnC,oBAA0B;AAO1B,uBAIO;AACP,2BAA2C;AAE3C,yBAA2C;AAG3C,MAAM,aAAsB,kCAAmB,qBAAqB;AAW7D,SAAS,qBACd,UACA,wBACkC;AAClC,MACE,CAAC,0BACD,CAAC,uBAAuB,SACxB,uBAAuB,MAAM,UAAU,GACvC;AACA,WAAO,MAAM,4CAA4C;AACzD,WAAO;AAAA,EACT;AAEA,MACE,uBAAuB,MAAM,WAAW,KACxC,uBAAuB,MAAM,CAAC,MAAM,iDACpC;AACA,UAAM,aAAa,oBAAoB,iDAA4B,QAAQ;AAC3E,QAAI,eAAe,QAAW;AAC5B,UAAI,uBAAuB,cAAc,MAAM;AAC7C,eAAO,CAAC;AAAA,MACV;AACA,aAAO,QAAQ,iCAAiC;AAChD,aAAO;AAAA,IACT,WAAW,eAAe,4CAA2B,eAAe,0CAAyB;AAC3F,UAAI,uBAAuB,cAAc,MAAM;AAC7C,eAAO,CAAC;AAAA,MACV;AAAA,IACF;AACA,WAAO,CAAC,UAAU;AAAA,EACpB;AAEA,MAAI,uBAAuB,cAAc,MAAM;AAC7C,WAAO,CAAC;AAAA,EACV;AACA,QAAM,gBAA8C,CAAC;AACrD,yBAAuB,MAAM,QAAQ,CAAC,SAAiB;AACrD,UAAM,MAAM,oBAAoB,MAAM,QAAQ;AAC9C,QAAI,QAAQ,QAAW;AACrB,aAAO,QAAQ,iCAAiC;AAChD,aAAO;AAAA,IACT;AACA,kBAAc,KAAK,GAAG;AAAA,EACxB,CAAC;AACD,SAAO;AACT;AAEA,SAAS,oBAAoB,MAAc,KAAmB;AAC5D,QAAM,gBAAsB,yBAAU,IAAI;AAC1C,aAAW,QAAQ,WAAW;AAC5B,QAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,QAAQ,KAAK;AAC1D,YAAO,IAAgC,IAAI;AAAA,IAC7C,OAAO;AACL,YAAM;AACN;AAAA,IACF;AAAA,EACF;AACA,MAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,YAAY,OAAO,QAAQ,WAAW;AAClF,WAAO;AAAA,EACT,WAAW,QAAQ,0CAAyB;AAC1C,WAAO;AAAA,EACT,WAAW,QAAQ,UAAa,KAAK,UAAU,GAAG,MAAM,KAAK,UAAU,wCAAuB,GAAG;AAC/F,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAKO,SAAS,sBACd,wBACsB;AACtB,MAAI,wBAAwB,WAAW;AACrC,WAAO,CAAC;AAAA,EACV,OAAO;AACL,WAAO,wBAAwB,MAAM,IAAI,MAAM,wCAAuB;AAAA,EACxE;AACF;AAKA,eAAsB,2BACpB,gBACA,WACA,cAC+B;AAC/B,MAAI,iBAAiB,QAAW;AAC9B,UAAM,yBAAyB,UAAM,+CAA2B,gBAAgB,SAAS;AACzF,mBAAe,sBAAsB,sBAAsB;AAAA,EAC7D;AACA,aAAO,gDAA8B,YAAY;AACnD;",
6
6
  "names": []
@@ -44,6 +44,7 @@ class GlobalEndpointManager {
44
44
  this.lastKnownPPCBEnabled = options.connectionPolicy.enablePartitionLevelCircuitBreaker;
45
45
  this.lastKnownPPAFEnabled = false;
46
46
  }
47
+ readDatabaseAccount;
47
48
  /**
48
49
  * The endpoint used to create the client instance.
49
50
  */
@@ -386,3 +387,4 @@ class GlobalEndpointManager {
386
387
  0 && (module.exports = {
387
388
  GlobalEndpointManager
388
389
  });
390
+ //# sourceMappingURL=globalEndpointManager.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/globalEndpointManager.ts"],
3
+ "sources": ["../../src/globalEndpointManager.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { OperationType, ResourceType, isReadRequest } from \"./common/index.js\";\nimport type { CosmosClientOptions } from \"./CosmosClientOptions.js\";\nimport type { Location, DatabaseAccount } from \"./documents/index.js\";\nimport type { RequestOptions } from \"./index.js\";\nimport type { ResolveServiceEndpointOptions } from \"./GlobalEndpointManagerOptions.js\";\nimport { Constants } from \"./common/constants.js\";\nimport type { ResourceResponse } from \"./request/index.js\";\nimport { MetadataLookUpType } from \"./CosmosDiagnostics.js\";\nimport type { DiagnosticNodeInternal } from \"./diagnostics/DiagnosticNodeInternal.js\";\nimport { withMetadataDiagnostics } from \"./utils/diagnostics.js\";\nimport { normalizeEndpoint } from \"./utils/checkURL.js\";\nimport { canApplyExcludedLocations } from \"./common/helper.js\";\n\n/**\n * @hidden\n * This internal class implements the logic for endpoint management for geo-replicated database accounts.\n */\nexport class GlobalEndpointManager {\n /**\n * The endpoint used to create the client instance.\n */\n private defaultEndpoint: string;\n /**\n * Flag to enable/disable automatic redirecting of requests based on read/write operations.\n */\n public enableEndpointDiscovery: boolean;\n private isRefreshing: boolean;\n private options: CosmosClientOptions;\n /**\n * List of azure regions to be used as preferred locations for read requests.\n */\n private preferredLocations: string[];\n private writeableLocations: Location[] = [];\n private readableLocations: Location[] = [];\n private unavailableReadableLocations: Location[] = [];\n private unavailableWriteableLocations: Location[] = [];\n private enableMultipleWriteLocations: boolean;\n\n public preferredLocationsCount: number;\n /**\n * Flag to enable/disable the Per Partition Level Failover (PPAF). Contains the value from the Connection policy.\n * @internal\n */\n private enablePartitionLevelFailover: boolean;\n /**\n * Flag to enable/disable the Per Partition Level Circuit Breaker (PPCB). Contains the value from the Connection policy.\n * @internal\n */\n private enablePartitionLevelCircuitBreaker: boolean;\n /**\n * Cached PPAF enablement status from the last account refresh\n * @internal\n */\n public lastKnownPPAFEnabled: boolean;\n /**\n * Cached circuit breaker timer enablement status\n * @internal\n */\n public lastKnownPPCBEnabled: boolean;\n /**\n * Event that is raised when circuit breaker timer should start or stop based on PPAF/PPCB status changes\n * @internal\n */\n public onEnablePartitionLevelFailoverConfigChanged?: (isEnabled: boolean) => void;\n\n /**\n * @param options - The document client instance.\n * @internal\n */\n constructor(\n options: CosmosClientOptions,\n private readDatabaseAccount: (\n diagnosticNode: DiagnosticNodeInternal,\n opts: RequestOptions,\n ) => Promise<ResourceResponse<DatabaseAccount>>,\n ) {\n this.options = options;\n this.defaultEndpoint = options.endpoint;\n this.enableEndpointDiscovery = options.connectionPolicy.enableEndpointDiscovery;\n this.isRefreshing = false;\n this.preferredLocations = this.options.connectionPolicy.preferredLocations;\n this.preferredLocationsCount = this.preferredLocations ? this.preferredLocations.length : 0;\n this.enablePartitionLevelFailover = options.connectionPolicy.enablePartitionLevelFailover;\n this.enablePartitionLevelCircuitBreaker =\n options.connectionPolicy.enablePartitionLevelCircuitBreaker;\n this.lastKnownPPCBEnabled = options.connectionPolicy.enablePartitionLevelCircuitBreaker;\n this.lastKnownPPAFEnabled = false;\n }\n\n /**\n * Gets the current read endpoint from the endpoint cache.\n */\n public async getReadEndpoint(diagnosticNode: DiagnosticNodeInternal): Promise<string> {\n return this.resolveServiceEndpoint(diagnosticNode, ResourceType.item, OperationType.Read);\n }\n\n /**\n * Gets the current write endpoint from the endpoint cache.\n */\n public async getWriteEndpoint(diagnosticNode: DiagnosticNodeInternal): Promise<string> {\n return this.resolveServiceEndpoint(diagnosticNode, ResourceType.item, OperationType.Replace);\n }\n\n public async getReadEndpoints(): Promise<ReadonlyArray<string>> {\n return this.readableLocations.map((loc) => loc.databaseAccountEndpoint);\n }\n\n public async getWriteEndpoints(): Promise<ReadonlyArray<string>> {\n return this.writeableLocations.map((loc) => loc.databaseAccountEndpoint);\n }\n\n /**\n * Gets the read locations from the endpoint cache.\n */\n public async getReadLocations(): Promise<ReadonlyArray<Location>> {\n return this.readableLocations;\n }\n\n public async markCurrentLocationUnavailableForRead(\n diagnosticNode: DiagnosticNodeInternal,\n endpoint: string,\n ): Promise<void> {\n await this.refreshEndpointList(diagnosticNode);\n const location = this.readableLocations.find((loc) => loc.databaseAccountEndpoint === endpoint);\n if (location) {\n location.unavailable = true;\n location.lastUnavailabilityTimestampInMs = Date.now();\n this.unavailableReadableLocations.push(location);\n }\n }\n\n public async markCurrentLocationUnavailableForWrite(\n diagnosticNode: DiagnosticNodeInternal,\n endpoint: string,\n ): Promise<void> {\n await this.refreshEndpointList(diagnosticNode);\n const location = this.writeableLocations.find(\n (loc) => loc.databaseAccountEndpoint === endpoint,\n );\n if (location) {\n location.unavailable = true;\n location.lastUnavailabilityTimestampInMs = Date.now();\n this.unavailableWriteableLocations.push(location);\n }\n }\n\n public canUseMultipleWriteLocations(\n resourceType?: ResourceType,\n operationType?: OperationType,\n ): boolean {\n let canUse =\n this.options.connectionPolicy.useMultipleWriteLocations && this.enableMultipleWriteLocations;\n\n if (resourceType) {\n canUse =\n canUse &&\n (resourceType === ResourceType.item ||\n (resourceType === ResourceType.sproc && operationType === OperationType.Execute));\n }\n\n return canUse;\n }\n\n private getEffectiveExcludedLocations(\n excludedLocations: string[] = [],\n resourceType: ResourceType,\n ): Set<string> {\n if (!canApplyExcludedLocations(resourceType)) {\n return new Set();\n }\n\n return excludedLocations.length ? new Set(excludedLocations.map(normalizeEndpoint)) : new Set();\n }\n\n private filterExcludedLocations(\n preferredLocations: string[],\n excludedLocations?: Set<string>,\n ): string[] {\n if (!excludedLocations || excludedLocations.size === 0) {\n return preferredLocations;\n }\n const filteredLocations = preferredLocations.filter((location) => {\n return !excludedLocations.has(normalizeEndpoint(location));\n });\n return filteredLocations;\n }\n\n public async resolveServiceEndpoint(\n diagnosticNode: DiagnosticNodeInternal,\n resourceType: ResourceType,\n operationType: OperationType,\n startServiceEndpointIndex: number = 0, // Represents the starting index for selecting servers.\n ): Promise<string> {\n return this.resolveServiceEndpointInternal({\n diagnosticNode: diagnosticNode,\n resourceType: resourceType,\n operationType: operationType,\n startServiceEndpointIndex: startServiceEndpointIndex,\n });\n }\n\n /**\n * @internal\n */\n public async resolveServiceEndpointInternal(\n resolveServiceEndpointOptions: ResolveServiceEndpointOptions,\n ): Promise<string> {\n // Extract all fields from ResolveServiceEndpointOptions\n const {\n diagnosticNode,\n resourceType,\n operationType,\n startServiceEndpointIndex,\n excludedLocations = [],\n } = resolveServiceEndpointOptions;\n\n // If endpoint discovery is disabled, always use the user provided endpoint\n\n if (!this.options.connectionPolicy.enableEndpointDiscovery) {\n diagnosticNode.addData({ readFromCache: true }, \"default_endpoint\");\n diagnosticNode.recordEndpointResolution(this.defaultEndpoint);\n return this.defaultEndpoint;\n }\n\n // If getting the database account, always use the user provided endpoint\n if (resourceType === ResourceType.none) {\n diagnosticNode.addData({ readFromCache: true }, \"none_resource\");\n diagnosticNode.recordEndpointResolution(this.defaultEndpoint);\n return this.defaultEndpoint;\n }\n if (this.readableLocations.length === 0 || this.writeableLocations.length === 0) {\n const resourceResponse = await withMetadataDiagnostics(\n async (metadataNode: DiagnosticNodeInternal) => {\n return this.readDatabaseAccount(metadataNode, {\n urlConnection: this.defaultEndpoint,\n });\n },\n diagnosticNode,\n MetadataLookUpType.DatabaseAccountLookUp,\n );\n\n this.writeableLocations = resourceResponse.resource.writableLocations;\n this.readableLocations = resourceResponse.resource.readableLocations;\n this.enableMultipleWriteLocations = resourceResponse.resource.enableMultipleWritableLocations;\n if (this.enablePartitionLevelFailover) {\n this.refreshPPAFFeatureFlag(resourceResponse.resource);\n }\n }\n\n const locations = isReadRequest(operationType)\n ? this.readableLocations\n : this.writeableLocations;\n\n const effectiveExcludedLocations = this.getEffectiveExcludedLocations(\n excludedLocations,\n resourceType,\n );\n diagnosticNode.addData(\n { excludedLocations: Array.from(effectiveExcludedLocations) },\n \"excluded_locations\",\n );\n\n // Filter locations based on exclusions\n const availableLocations = this.filterExcludedLocations(\n this.preferredLocations,\n effectiveExcludedLocations,\n );\n\n let location;\n // If we have preferred locations, try each one in order and use the first available one\n if (\n availableLocations &&\n availableLocations.length > 0 &&\n startServiceEndpointIndex < availableLocations.length\n ) {\n this.preferredLocationsCount = availableLocations.length;\n\n for (let i = startServiceEndpointIndex; i < availableLocations.length; i++) {\n const preferredLocation = availableLocations[i];\n location = locations.find(\n (loc) =>\n loc.unavailable !== true &&\n normalizeEndpoint(loc.name) === normalizeEndpoint(preferredLocation),\n );\n if (location) {\n break;\n }\n }\n }\n\n // If no preferred locations or one did not match, just grab the first one that is available\n if (!location) {\n const startIndexValid =\n startServiceEndpointIndex >= 0 && startServiceEndpointIndex < locations.length;\n const locationsToSearch = startIndexValid\n ? locations.slice(startServiceEndpointIndex)\n : locations;\n location = locationsToSearch.find((loc) => {\n return (\n loc.unavailable !== true && !effectiveExcludedLocations.has(normalizeEndpoint(loc.name))\n );\n });\n }\n\n location = location ? location : { name: \"\", databaseAccountEndpoint: this.defaultEndpoint };\n diagnosticNode.recordEndpointResolution(location.databaseAccountEndpoint);\n return location.databaseAccountEndpoint;\n }\n\n /**\n * Refreshes the endpoint list by clearning stale unavailability and then\n * retrieving the writable and readable locations from the geo-replicated database account\n * and then updating the locations cache.\n * We skip the refreshing if enableEndpointDiscovery is set to False\n */\n public async refreshEndpointList(diagnosticNode: DiagnosticNodeInternal): Promise<void> {\n if (!this.isRefreshing && this.enableEndpointDiscovery) {\n this.isRefreshing = true;\n const databaseAccount = await this.getDatabaseAccountFromAnyEndpoint(diagnosticNode);\n if (databaseAccount) {\n if (this.enablePartitionLevelFailover) {\n this.refreshPPAFFeatureFlag(databaseAccount);\n }\n this.refreshStaleUnavailableLocations();\n this.refreshEndpoints(databaseAccount);\n }\n this.isRefreshing = false;\n }\n }\n\n private refreshEndpoints(databaseAccount: DatabaseAccount): void {\n const oldWritableLocations = this.writeableLocations;\n const oldReadableLocations = this.readableLocations;\n\n function merge(loc: Location, oldList: Location[]): Location {\n const prev = oldList.find((o) => o.name === loc.name);\n if (prev) {\n loc.unavailable = prev.unavailable;\n loc.lastUnavailabilityTimestampInMs = prev.lastUnavailabilityTimestampInMs;\n }\n return loc;\n }\n\n this.writeableLocations = databaseAccount.writableLocations.map((loc) =>\n merge({ ...loc }, oldWritableLocations),\n );\n this.readableLocations = databaseAccount.readableLocations.map((loc) =>\n merge({ ...loc }, oldReadableLocations),\n );\n }\n\n private refreshStaleUnavailableLocations(): void {\n const now = Date.now();\n this.updateLocation(now, this.unavailableReadableLocations, this.readableLocations);\n this.unavailableReadableLocations = this.cleanUnavailableLocationList(\n now,\n this.unavailableReadableLocations,\n );\n\n this.updateLocation(now, this.unavailableWriteableLocations, this.writeableLocations);\n this.unavailableWriteableLocations = this.cleanUnavailableLocationList(\n now,\n this.unavailableWriteableLocations,\n );\n }\n\n /**\n * update the locationUnavailability to undefined if the location is available again\n * @param now - current time\n * @param unavailableLocations - list of unavailable locations\n * @param allLocations - list of all locations\n */\n private updateLocation(\n now: number,\n unavailableLocations: Location[],\n allLocations: Location[],\n ): void {\n for (const location of unavailableLocations) {\n const unavailableLocation = allLocations.find((loc) => loc.name === location.name);\n if (\n unavailableLocation &&\n now - unavailableLocation.lastUnavailabilityTimestampInMs >\n Constants.LocationUnavailableExpirationTimeInMs\n ) {\n unavailableLocation.unavailable = false;\n }\n }\n }\n\n private cleanUnavailableLocationList(now: number, unavailableLocations: Location[]): Location[] {\n return unavailableLocations.filter((loc) => {\n return (\n now - loc.lastUnavailabilityTimestampInMs < Constants.LocationUnavailableExpirationTimeInMs\n );\n });\n }\n\n /**\n * Gets the database account first by using the default endpoint, and if that doesn't returns\n * use the endpoints for the preferred locations in the order they are specified to get\n * the database account.\n */\n private async getDatabaseAccountFromAnyEndpoint(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<DatabaseAccount> {\n try {\n const options = { urlConnection: this.defaultEndpoint };\n const { resource: databaseAccount } = await this.readDatabaseAccount(diagnosticNode, options);\n return databaseAccount;\n // If for any reason(non - globaldb related), we are not able to get the database\n // account from the above call to readDatabaseAccount,\n // we would try to get this information from any of the preferred locations that the user\n // might have specified (by creating a locational endpoint)\n // and keeping eating the exception until we get the database account and return None at the end,\n // if we are not able to get that info from any endpoints\n } catch (err: any) {\n // TODO: Tracing\n }\n\n if (this.preferredLocations) {\n for (const location of this.preferredLocations) {\n try {\n const locationalEndpoint = GlobalEndpointManager.getLocationalEndpoint(\n this.defaultEndpoint,\n location,\n );\n const options = { urlConnection: locationalEndpoint };\n const { resource: databaseAccount } = await this.readDatabaseAccount(\n diagnosticNode,\n options,\n );\n if (databaseAccount) {\n return databaseAccount;\n }\n } catch (err: any) {\n // TODO: Tracing\n }\n }\n }\n }\n\n /**\n * Gets the locational endpoint using the location name passed to it using the default endpoint.\n *\n * @param defaultEndpoint - The default endpoint to use for the endpoint.\n * @param locationName - The location name for the azure region like \"East US\".\n */\n private static getLocationalEndpoint(defaultEndpoint: string, locationName: string): string {\n // For defaultEndpoint like 'https://contoso.documents.azure.com:443/' parse it to generate URL format\n // This defaultEndpoint should be global endpoint(and cannot be a locational endpoint)\n // and we agreed to document that\n const endpointUrl = new URL(defaultEndpoint);\n\n // hostname attribute in endpointUrl will return 'contoso.documents.azure.com'\n if (endpointUrl.hostname) {\n const hostnameParts = endpointUrl.hostname.toString().toLowerCase().split(\".\");\n if (hostnameParts) {\n // globalDatabaseAccountName will return 'contoso'\n const globalDatabaseAccountName = hostnameParts[0];\n\n // Prepare the locationalDatabaseAccountName as contoso-EastUS for location_name 'East US'\n const locationalDatabaseAccountName =\n globalDatabaseAccountName + \"-\" + locationName.replace(\" \", \"\");\n\n // Replace 'contoso' with 'contoso-EastUS' and\n // return locationalEndpoint as https://contoso-EastUS.documents.azure.com:443/\n const locationalEndpoint = defaultEndpoint\n .toLowerCase()\n .replace(globalDatabaseAccountName, locationalDatabaseAccountName);\n return locationalEndpoint;\n }\n }\n\n return null;\n }\n\n /**\n * Checks for changes in PPAF enablement status and raises events if they have changed.\n * It also manages circuit breaker timer state.\n * @internal\n */\n private refreshPPAFFeatureFlag(databaseAccount: DatabaseAccount): void {\n let shouldEnableCircuitBreakerTimer = false;\n if (this.enablePartitionLevelCircuitBreaker) {\n // If PPCB is enabled in connection policy, always run circuit breaker\n shouldEnableCircuitBreakerTimer = true;\n } else {\n // If PPCB is disabled, circuit breaker timer depends on PPAF flags\n if (!this.enablePartitionLevelFailover) {\n // If PPAF is disabled in connection policy, don't run circuit breaker ever.\n shouldEnableCircuitBreakerTimer = false;\n } else {\n shouldEnableCircuitBreakerTimer =\n databaseAccount.enablePerPartitionFailover ?? this.lastKnownPPAFEnabled ?? false;\n }\n }\n\n this.lastKnownPPAFEnabled = databaseAccount.enablePerPartitionFailover;\n\n // Only trigger callback if the circuit breaker timer state has changed\n if (this.lastKnownPPCBEnabled !== shouldEnableCircuitBreakerTimer) {\n this.lastKnownPPCBEnabled = shouldEnableCircuitBreakerTimer;\n this.onEnablePartitionLevelFailoverConfigChanged?.(shouldEnableCircuitBreakerTimer);\n }\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -40,6 +40,7 @@ class GlobalPartitionEndpointManager {
40
40
  this.initiateCircuitBreakerFailbackLoop();
41
41
  }
42
42
  }
43
+ globalEndpointManager;
43
44
  partitionKeyRangeToLocationForWrite;
44
45
  partitionKeyRangeToLocationForReadAndWrite;
45
46
  preferredLocations;
@@ -342,3 +343,4 @@ class GlobalPartitionEndpointManager {
342
343
  0 && (module.exports = {
343
344
  GlobalPartitionEndpointManager
344
345
  });
346
+ //# sourceMappingURL=globalPartitionEndpointManager.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/globalPartitionEndpointManager.ts"],
3
+ "sources": ["../../src/globalPartitionEndpointManager.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { OperationType, ResourceType, isReadRequest } from \"./common/index.js\";\nimport type { DiagnosticNodeInternal } from \"./index.js\";\nimport {\n Constants,\n type CosmosClientOptions,\n type GlobalEndpointManager,\n type RequestContext,\n} from \"./index.js\";\nimport { PartitionKeyRangeFailoverInfo } from \"./PartitionKeyRangeFailoverInfo.js\";\nimport { normalizeEndpoint } from \"./utils/checkURL.js\";\nimport { startBackgroundTask } from \"./utils/time.js\";\nimport { assertNotUndefined } from \"./utils/typeChecks.js\";\n\n/**\n * @hidden\n * This class is used to failover single partitions to different regions.\n */\nexport class GlobalPartitionEndpointManager {\n private readonly partitionKeyRangeToLocationForWrite: Map<string, PartitionKeyRangeFailoverInfo>;\n private readonly partitionKeyRangeToLocationForReadAndWrite: Map<\n string,\n PartitionKeyRangeFailoverInfo\n >;\n private preferredLocations: string[];\n public preferredLocationsCount: number;\n private circuitBreakerFailbackBackgroundRefresher?: NodeJS.Timeout;\n\n /**\n * @internal\n */\n constructor(\n options: CosmosClientOptions,\n private globalEndpointManager: GlobalEndpointManager,\n ) {\n this.partitionKeyRangeToLocationForWrite = new Map<string, PartitionKeyRangeFailoverInfo>();\n this.partitionKeyRangeToLocationForReadAndWrite = new Map<\n string,\n PartitionKeyRangeFailoverInfo\n >();\n this.preferredLocations = options.connectionPolicy.preferredLocations;\n this.preferredLocationsCount = this.preferredLocations ? this.preferredLocations.length : 0;\n if (this.globalEndpointManager.lastKnownPPCBEnabled) {\n this.initiateCircuitBreakerFailbackLoop();\n }\n }\n\n /**\n * Checks eligibility of the request for partition failover and\n * tries to mark the endpoint unavailable for the partition key range. Future\n * requests will be routed to the next location if available.\n */\n public async tryPartitionLevelFailover(\n requestContext: RequestContext,\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<boolean> {\n if (!(await this.isRequestEligibleForPartitionFailover(requestContext, true))) {\n return false;\n }\n\n const isRequestEligibleForPerPartitionAutomaticFailover =\n this.isRequestEligibleForPerPartitionAutomaticFailover(requestContext);\n const isRequestEligibleForPartitionLevelCircuitBreaker =\n this.isRequestEligibleForPartitionLevelCircuitBreaker(requestContext);\n\n if (\n isRequestEligibleForPerPartitionAutomaticFailover ||\n (isRequestEligibleForPartitionLevelCircuitBreaker &&\n (await this.incrementFailureCounterAndCheckFailover(\n requestContext,\n isRequestEligibleForPerPartitionAutomaticFailover,\n isRequestEligibleForPartitionLevelCircuitBreaker,\n )))\n ) {\n return this.tryMarkEndpointUnavailableForPartitionKeyRange(\n requestContext,\n diagnosticNode,\n isRequestEligibleForPerPartitionAutomaticFailover,\n isRequestEligibleForPartitionLevelCircuitBreaker,\n );\n }\n return false;\n }\n\n /**\n * Updates the DocumentServiceRequest routing location to point\n * new a location based if a partition level failover occurred.\n */\n public async tryAddPartitionLevelLocationOverride(\n requestContext: RequestContext,\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<RequestContext> {\n if (!(await this.isRequestEligibleForPartitionFailover(requestContext, false))) {\n return requestContext;\n }\n\n const partitionKeyRangeId = requestContext.partitionKeyRangeId;\n\n if (this.isRequestEligibleForPerPartitionAutomaticFailover(requestContext)) {\n if (this.partitionKeyRangeToLocationForWrite.has(partitionKeyRangeId)) {\n const partitionFailOver = this.partitionKeyRangeToLocationForWrite.get(partitionKeyRangeId);\n requestContext.endpoint = partitionFailOver.getCurrentEndPoint();\n diagnosticNode.recordEndpointResolution(requestContext.endpoint);\n return requestContext;\n }\n } else if (this.isRequestEligibleForPartitionLevelCircuitBreaker(requestContext)) {\n if (this.partitionKeyRangeToLocationForReadAndWrite.has(partitionKeyRangeId)) {\n const partitionFailOver =\n this.partitionKeyRangeToLocationForReadAndWrite.get(partitionKeyRangeId);\n\n const canCircuitBreakerTriggerPartitionFailOver =\n await partitionFailOver.canCircuitBreakerTriggerPartitionFailOver(\n isReadRequest(requestContext.operationType),\n );\n if (canCircuitBreakerTriggerPartitionFailOver) {\n requestContext.endpoint = partitionFailOver.getCurrentEndPoint();\n diagnosticNode.recordEndpointResolution(requestContext.endpoint);\n return requestContext;\n }\n }\n }\n return requestContext;\n }\n\n /**\n * This method clears the background refresher for circuit breaker failback\n * and stops the periodic checks for unhealthy endpoints.\n */\n public dispose(): void {\n if (this.circuitBreakerFailbackBackgroundRefresher) {\n clearTimeout(this.circuitBreakerFailbackBackgroundRefresher);\n this.circuitBreakerFailbackBackgroundRefresher = undefined;\n }\n }\n\n private async tryMarkEndpointUnavailableForPartitionKeyRange(\n requestContext: RequestContext,\n diagnosticNode: DiagnosticNodeInternal,\n isRequestEligibleForPerPartitionAutomaticFailover: boolean,\n isRequestEligibleForPartitionLevelCircuitBreaker: boolean,\n ): Promise<boolean> {\n const partitionKeyRangeId = requestContext.partitionKeyRangeId;\n const failedEndPoint = requestContext.endpoint;\n\n const readLocations = await this.globalEndpointManager.getReadLocations();\n const readEndPoints: string[] = [];\n\n if (isRequestEligibleForPerPartitionAutomaticFailover) {\n // For any single master write accounts, the next locations to fail over will be the read regions configured at the account level.\n for (const location of readLocations) {\n readEndPoints.push(location.databaseAccountEndpoint);\n }\n return this.tryAddOrUpdatePartitionFailoverInfoAndMoveToNextLocation(\n partitionKeyRangeId,\n failedEndPoint,\n readEndPoints,\n this.partitionKeyRangeToLocationForWrite,\n diagnosticNode,\n );\n } else if (isRequestEligibleForPartitionLevelCircuitBreaker) {\n // For the read requests or multi-master write requests, the next locations to fail over will be the preferred locations\n // configured at the account level plus any other read locations that are not already in the preferred locations.\n if (this.preferredLocations && this.preferredLocations.length > 0) {\n for (const preferredLocation of this.preferredLocations) {\n const location = readLocations.find(\n (loc) => normalizeEndpoint(loc.name) === normalizeEndpoint(preferredLocation),\n );\n if (location) {\n readEndPoints.push(location.databaseAccountEndpoint);\n }\n }\n\n // Add the rest of the locations not already added\n for (const location of readLocations) {\n if (!readEndPoints.includes(location.databaseAccountEndpoint)) {\n readEndPoints.push(location.databaseAccountEndpoint);\n }\n }\n } else {\n for (const location of readLocations) {\n readEndPoints.push(location.databaseAccountEndpoint);\n }\n }\n return this.tryAddOrUpdatePartitionFailoverInfoAndMoveToNextLocation(\n partitionKeyRangeId,\n failedEndPoint,\n readEndPoints,\n this.partitionKeyRangeToLocationForReadAndWrite,\n diagnosticNode,\n );\n }\n return false;\n }\n\n /**\n * Increments the failure counter for the specified partition and checks if the partition can fail over.\n * This method is used to determine if a partition should be failed over based on the number of request failures.\n */\n private async incrementFailureCounterAndCheckFailover(\n requestContext: RequestContext,\n isRequestEligibleForPerPartitionAutomaticFailover: boolean,\n isRequestEligibleForPartitionLevelCircuitBreaker: boolean,\n ): Promise<boolean> {\n const partitionKeyRangeId = requestContext.partitionKeyRangeId;\n const failedEndPoint = requestContext.endpoint;\n let partitionKeyRangeFailoverInfo: PartitionKeyRangeFailoverInfo;\n\n if (isRequestEligibleForPerPartitionAutomaticFailover) {\n if (!this.partitionKeyRangeToLocationForWrite.has(partitionKeyRangeId)) {\n // If the partition key range is not already in the map, add it\n const failoverInfo = new PartitionKeyRangeFailoverInfo(failedEndPoint);\n this.partitionKeyRangeToLocationForWrite.set(partitionKeyRangeId, failoverInfo);\n }\n partitionKeyRangeFailoverInfo =\n this.partitionKeyRangeToLocationForWrite.get(partitionKeyRangeId);\n } else if (isRequestEligibleForPartitionLevelCircuitBreaker) {\n if (!this.partitionKeyRangeToLocationForReadAndWrite.has(partitionKeyRangeId)) {\n // If the partition key range is not already in the map, add it\n const failoverInfo = new PartitionKeyRangeFailoverInfo(failedEndPoint);\n this.partitionKeyRangeToLocationForReadAndWrite.set(partitionKeyRangeId, failoverInfo);\n }\n partitionKeyRangeFailoverInfo =\n this.partitionKeyRangeToLocationForReadAndWrite.get(partitionKeyRangeId);\n } else {\n return false;\n }\n\n assertNotUndefined(\n partitionKeyRangeFailoverInfo,\n \"partitionKeyRangeFailoverInfo should be set if failover flags are true.\",\n );\n\n const currentTimeInMilliseconds = Date.now();\n await partitionKeyRangeFailoverInfo.incrementRequestFailureCounts(\n isReadRequest(requestContext.operationType),\n currentTimeInMilliseconds,\n );\n\n return partitionKeyRangeFailoverInfo.canCircuitBreakerTriggerPartitionFailOver(\n isReadRequest(requestContext.operationType),\n );\n }\n\n /** Validates if the given request is eligible for partition failover. */\n private async isRequestEligibleForPartitionFailover(\n requestContext: RequestContext,\n shouldValidateFailedLocation: boolean,\n ): Promise<boolean> {\n if (\n !requestContext ||\n !requestContext.operationType ||\n !requestContext.resourceType ||\n !requestContext.partitionKeyRangeId\n ) {\n return false;\n }\n\n const canUsePartitionLevelFailoverLocations = await this.canUsePartitionLevelFailoverLocations(\n requestContext.operationType,\n requestContext.resourceType,\n );\n if (!canUsePartitionLevelFailoverLocations) {\n return false;\n }\n\n if (shouldValidateFailedLocation && !requestContext.endpoint) {\n return false;\n }\n return true;\n }\n\n /** Determines if partition level failover locations can be used for the given request. */\n private async canUsePartitionLevelFailoverLocations(\n operationType?: OperationType,\n resourceType?: ResourceType,\n ): Promise<boolean> {\n const readEndPoints = await this.globalEndpointManager.getReadEndpoints();\n if (readEndPoints.length <= 1) {\n return false;\n }\n if (\n resourceType === ResourceType.item ||\n (resourceType === ResourceType.sproc && operationType === OperationType.Execute)\n ) {\n // Right now, for single-master only reads are supported for circuit breaker, and writes are supported for automatic.\n // failover. For multi master, both reads and writes are supported. Hence return true for both the cases.\n return true;\n }\n return false;\n }\n\n /**\n * Determines if a request is eligible for per-partition automatic failover.\n * A request is eligible if it is a write request, partition level failover is enabled,\n * and the global endpoint manager cannot use multiple write locations for the request.\n */\n private isRequestEligibleForPerPartitionAutomaticFailover(\n requestContext: RequestContext,\n ): boolean {\n return (\n this.isPartitionLevelAutomaticFailoverEnabled() &&\n !isReadRequest(requestContext.operationType) &&\n !this.globalEndpointManager.canUseMultipleWriteLocations(\n requestContext.resourceType,\n requestContext.operationType,\n )\n );\n }\n\n /**\n * Determines if a request is eligible for partition-level circuit breaker.\n * This method checks if partition-level circuit breaker is enabled, and if the request is a read-only request or\n * the global endpoint manager can use multiple write locations for the request.\n */\n private isRequestEligibleForPartitionLevelCircuitBreaker(\n requestContext: RequestContext,\n ): boolean {\n const enablePartitionLevelCircuitBreaker = this.isPartitionLevelCircuitBreakerEnabled();\n if (!enablePartitionLevelCircuitBreaker) {\n return false;\n }\n if (isReadRequest(requestContext.operationType)) {\n return true;\n }\n return this.globalEndpointManager.canUseMultipleWriteLocations(\n requestContext.resourceType,\n requestContext.operationType,\n );\n }\n\n /**\n * Attempts to add or update the partition failover information and move to the next available location.\n * This method checks if the current location for the partition key range has failed and updates the failover\n * information to route the request to the next available location. If all locations have been tried, it removes\n * the failover information for the partition key range. Return True if the failover information was successfully\n * updated and the request was routed to a new location, otherwise false.\n */\n private async tryAddOrUpdatePartitionFailoverInfoAndMoveToNextLocation(\n partitionKeyRangeId: string,\n failedEndPoint: string,\n nextEndPoints: readonly string[],\n partitionKeyRangeToLocation: Map<string, PartitionKeyRangeFailoverInfo>,\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<boolean> {\n if (!partitionKeyRangeToLocation.has(partitionKeyRangeId)) {\n // If the partition key range is not already in the map, add it\n const failoverInfo = new PartitionKeyRangeFailoverInfo(failedEndPoint);\n partitionKeyRangeToLocation.set(partitionKeyRangeId, failoverInfo);\n }\n const partitionFailOver = partitionKeyRangeToLocation.get(partitionKeyRangeId);\n\n // Will return true if it was able to update to a new region\n if (\n await partitionFailOver.tryMoveNextLocation(\n nextEndPoints,\n failedEndPoint,\n diagnosticNode,\n partitionKeyRangeId,\n )\n ) {\n return true;\n }\n // All the locations have been tried. Remove the override information\n partitionKeyRangeToLocation.delete(partitionKeyRangeId);\n return false;\n }\n\n /**\n * Initiates a background loop that periodically checks for unhealthy endpoints\n * and attempts to open connections to them. If a connection is successfully\n * established, it initiates a failback to the original location for the partition key range.\n * This is useful for scenarios where a partition key range has been marked as unavailable\n * due to a circuit breaker, and we want to periodically check if the original location\n * has become healthy again.\n * The loop runs at a defined interval specified by Constants.StalePartitionUnavailabilityRefreshIntervalInMs.\n */\n private initiateCircuitBreakerFailbackLoop(): void {\n this.circuitBreakerFailbackBackgroundRefresher = startBackgroundTask(async () => {\n try {\n await this.openConnectionToUnhealthyEndpointsWithFailback();\n } catch (err) {\n console.error(\"Failed to open connection to unhealthy endpoints: \", err);\n }\n }, Constants.StalePartitionUnavailabilityRefreshIntervalInMs);\n }\n\n /**\n * Attempts to open connections to unhealthy endpoints and initiates failback if the connections are successful.\n * This method checks the partition key ranges that have failed locations and tries to re-establish connections\n * to those locations. If a connection is successfully re-established, it initiates a failback to the original\n * location for the partition key range.\n */\n private async openConnectionToUnhealthyEndpointsWithFailback(): Promise<void> {\n // If partition level circuit breaker or failover is not enabled, dispose the timer.\n\n for (const pkRange of this.partitionKeyRangeToLocationForReadAndWrite.keys()) {\n const partitionFailover = this.partitionKeyRangeToLocationForReadAndWrite.get(pkRange);\n if (!partitionFailover) continue;\n\n const { firstRequestFailureTime } =\n await partitionFailover.snapshotPartitionFailoverTimestamps();\n const now = new Date();\n\n if (\n now.getTime() - firstRequestFailureTime >\n Constants.AllowedPartitionUnavailabilityDurationInMs\n ) {\n // Un-deterministically marking the original failed endpoint for the PkRange back to healthy.\n // Initiate Failback to the original failed location.\n this.partitionKeyRangeToLocationForReadAndWrite.delete(pkRange);\n }\n }\n }\n\n /**\n * @internal\n */\n public changeCircuitBreakerFailbackLoop(isEnabled: boolean): void {\n // Start or stop the circuit breaker failback loop based on PPAF/PPCB status\n if (isEnabled) {\n // Only start if not already running to prevent duplicate timers\n if (!this.circuitBreakerFailbackBackgroundRefresher) {\n this.initiateCircuitBreakerFailbackLoop();\n }\n } else {\n // Only dispose if currently running\n if (this.circuitBreakerFailbackBackgroundRefresher) {\n this.dispose();\n }\n }\n }\n /**\n * Gets a value indicating whether per-partition automatic failover is currently enabled.\n * @internal\n */\n public isPartitionLevelAutomaticFailoverEnabled(): boolean {\n return this.globalEndpointManager.lastKnownPPAFEnabled;\n }\n /**\n * Gets a value indicating whether per-partition automatic failover is currently enabled.\n * @internal\n */\n public isPartitionLevelCircuitBreakerEnabled(): boolean {\n return this.globalEndpointManager.lastKnownPPCBEnabled;\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -175,3 +175,4 @@ var import_encryption = require("./encryption/index.js");
175
175
  ...require("./encryption/ClientEncryptionKey/index.js"),
176
176
  ...require("./encryption/EncryptionKeyResolver/index.js")
177
177
  });
178
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/index.ts"],
3
+ "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport { DEFAULT_PARTITION_KEY_PATH } from \"./common/partitionKeys.js\";\nexport {\n StatusCodes,\n type StatusCodesType,\n type PartitionKeyRangePropertiesNames,\n} from \"./common/index.js\";\nexport { setAuthorizationTokenHeaderUsingMasterKey } from \"./auth.js\";\nexport {\n type Operation,\n type OperationResponse,\n type BulkOptions,\n type CreateOperation,\n type UpsertOperation,\n type ReplaceOperation,\n type DeleteOperation,\n type ReadOperation,\n type OperationBase,\n type OperationWithItem,\n type OperationInput,\n BulkOperationType,\n type ExtendedOperationResponse,\n type BulkOperationResponse,\n type CreateOperationInput,\n type UpsertOperationInput,\n type ReplaceOperationInput,\n type ReadOperationInput,\n type DeleteOperationInput,\n type PatchOperationInput,\n type BulkPatchOperation,\n type BulkOperationResult,\n} from \"./utils/batch.js\";\nexport {\n type PatchOperation,\n PatchOperationType,\n type ExistingKeyOperation,\n type RemoveOperation,\n type PatchRequestBody,\n} from \"./utils/patch.js\";\nexport {\n ConnectionMode,\n ConsistencyLevel,\n type ConnectionPolicy,\n DatabaseAccount,\n DataType,\n type Index,\n type IndexedPath,\n IndexingMode,\n type IndexingPolicy,\n type SpatialIndex,\n SpatialType,\n GeospatialType,\n IndexKind,\n type Location,\n type PartitionKey,\n type PrimitivePartitionKeyValue,\n type NullPartitionKeyType,\n type NonePartitionKeyType,\n PartitionKeyKind,\n type PartitionKeyDefinition,\n PartitionKeyDefinitionVersion,\n PartitionKeyBuilder,\n PermissionMode,\n PriorityLevel,\n TriggerOperation,\n TriggerType,\n UserDefinedFunctionType,\n type CompositePath,\n type ComputedProperty,\n type VectorEmbeddingPolicy,\n type VectorIndex,\n type VectorEmbedding,\n VectorEmbeddingDataType,\n VectorEmbeddingDistanceFunction,\n VectorIndexType,\n type FullTextIndex,\n type FullTextPolicy,\n type FullTextPath,\n} from \"./documents/index.js\";\n\nexport type { UniqueKeyPolicy, UniqueKey } from \"./client/Container/UniqueKeyPolicy.js\";\nexport type { ContainerRequest } from \"./client/Container/ContainerRequest.js\";\nexport { Constants, OperationType, ResourceType, HTTPMethod } from \"./common/index.js\";\nexport type { RetryOptions } from \"./retry/index.js\";\nexport * from \"./request/index.js\";\n\nexport {\n DiagnosticNodeInternal,\n type DiagnosticDataValue,\n DiagnosticNodeType,\n} from \"./diagnostics/DiagnosticNodeInternal.js\";\n\nexport type {\n CosmosHeaders,\n SqlParameter,\n SqlQuerySpec,\n JSONValue,\n JSONArray,\n JSONObject,\n} from \"./queryExecutionContext/index.js\";\nexport { QueryIterator } from \"./queryIterator.js\";\nexport * from \"./queryMetrics/index.js\";\nexport { CosmosClient } from \"./CosmosClient.js\";\nexport type { CosmosClientOptions, Agent } from \"./CosmosClientOptions.js\";\nexport * from \"./client/index.js\";\nexport { Scripts } from \"./client/Script/Scripts.js\";\nexport { type Next, type Plugin, type PluginConfig, PluginOn } from \"./plugins/Plugin.js\";\nexport type { TokenProvider, RequestInfo } from \"./auth.js\";\n\nexport { ChangeFeedIterator } from \"./ChangeFeedIterator.js\";\nexport type { ChangeFeedOptions } from \"./ChangeFeedOptions.js\";\nexport { ChangeFeedResponse } from \"./ChangeFeedResponse.js\";\nexport { ClientContext } from \"./ClientContext.js\";\n\nexport {\n CosmosDiagnostics,\n type MetadataLookUpDiagnostic,\n type MetadataLookUpDiagnostics,\n MetadataLookUpType,\n type RetryDiagnostics,\n type FailedRequestAttemptDiagnostic,\n type GatewayStatistics,\n type ClientSideRequestStatistics,\n type ClientConfigDiagnostic,\n type DiagnosticNode,\n type EncryptionDiagnostics,\n} from \"./CosmosDiagnostics.js\";\n\nexport {\n type ChangeFeedPullModelIterator,\n type ChangeFeedIteratorOptions,\n ChangeFeedIteratorResponse,\n ChangeFeedStartFrom,\n FeedRange,\n ChangeFeedMode,\n ChangeFeedPolicy,\n ChangeFeedRetentionTimeSpan,\n} from \"./client/ChangeFeed/index.js\";\nexport { CosmosDbDiagnosticLevel } from \"./diagnostics/CosmosDbDiagnosticLevel.js\";\n\nexport { GlobalEndpointManager } from \"./globalEndpointManager.js\";\nexport { SasTokenPermissionKind } from \"./common/constants.js\";\nexport { createAuthorizationSasToken } from \"./utils/SasToken.js\";\nexport { RestError } from \"@azure/core-rest-pipeline\";\nexport { AbortError } from \"@azure/abort-controller\";\nexport * from \"./encryption/enums/index.js\";\nexport * from \"./encryption/ClientEncryptionKey/index.js\";\nexport * from \"./encryption/EncryptionKeyResolver/index.js\";\nexport {\n type ClientEncryptionIncludedPath,\n type ClientEncryptionPolicy,\n type ClientEncryptionKeyProperties,\n type EncryptionKeyWrapMetadata,\n EncryptionQueryBuilder,\n type ClientEncryptionKeyRequest,\n ClientEncryptionKeyResponse,\n type EncryptionKeyResolver,\n AzureKeyVaultEncryptionKeyResolver,\n EncryptionType,\n EncryptionAlgorithm,\n EncryptionKeyResolverName,\n type ClientEncryptionOptions,\n type CosmosEncryptedNumber,\n CosmosEncryptedNumberType,\n} from \"./encryption/index.js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,2BAA2C;AAC3C,oBAIO;AACP,kBAA0D;AAC1D,mBAuBO;AACP,mBAMO;AACP,uBAuCO;AAIP,IAAAA,iBAAmE;AAEnE,wBAAc,+BArFd;AAuFA,oCAIO;AAUP,2BAA8B;AAC9B,wBAAc,oCAtGd;AAuGA,0BAA6B;AAE7B,wBAAc,8BAzGd;AA0GA,qBAAwB;AACxB,oBAAoE;AAGpE,gCAAmC;AAEnC,gCAAmC;AACnC,2BAA8B;AAE9B,+BAYO;AAEP,wBASO;AACP,qCAAwC;AAExC,mCAAsC;AACtC,uBAAuC;AACvC,sBAA4C;AAC5C,gCAA0B;AAC1B,8BAA2B;AAC3B,wBAAc,wCAlJd;AAmJA,wBAAc,sDAnJd;AAoJA,wBAAc,wDApJd;AAqJA,wBAgBO;",
6
6
  "names": ["import_common"]
@@ -51,3 +51,4 @@ async function executePlugins(diagnosticNode, requestContext, next, on) {
51
51
  PluginOn,
52
52
  executePlugins
53
53
  });
54
+ //# sourceMappingURL=Plugin.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/plugins/Plugin.ts"],
3
+ "sources": ["../../../src/plugins/Plugin.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { RequestContext } from \"../request/RequestContext.js\";\nimport type { Response } from \"../request/Response.js\";\n\n/**\n * Used to specify which type of events to execute this plug in on.\n *\n * @hidden\n */\nexport enum PluginOn {\n /**\n * Will be executed per network request\n */\n request = \"request\",\n /**\n * Will be executed per API operation\n */\n operation = \"operation\",\n}\n\n/**\n * Specifies which event to run for the specified plugin\n *\n * @hidden\n */\nexport interface PluginConfig {\n /**\n * The event to run the plugin on\n */\n on: keyof typeof PluginOn;\n /**\n * The plugin to run\n */\n plugin: Plugin<any>;\n}\n\n/**\n * Plugins allow you to customize the behavior of the SDk with additional logging, retry, or additional functionality.\n *\n * A plugin is a function which returns a `Promise<Response<T>>`, and is passed a RequestContext and Next object.\n *\n * Next is a function which takes in requestContext returns a promise. You must await/then that promise which will contain the response from further plugins,\n * allowing you to log those results or handle errors.\n *\n * RequestContext is an object which controls what operation is happening, against which endpoint, and more. Modifying this and passing it along via next is how\n * you modify future SDK behavior.\n *\n * @hidden\n */\nexport type Plugin<T> = (\n context: RequestContext,\n diagnosticNode: DiagnosticNodeInternal,\n next: Next<T>,\n) => Promise<Response<T>>;\n\n/**\n * Next is a function which takes in requestContext returns a promise. You must await/then that promise which will contain the response from further plugins,\n * allowing you to log those results or handle errors.\n * @hidden\n */\nexport type Next<T> = (context: RequestContext) => Promise<Response<T>>;\n\n/**\n * @internal\n */\nexport async function executePlugins(\n diagnosticNode: DiagnosticNodeInternal,\n requestContext: RequestContext,\n next: Plugin<any>,\n on: PluginOn,\n): Promise<Response<any>> {\n if (!requestContext.plugins) {\n return next(requestContext, diagnosticNode, undefined);\n }\n let level = 0;\n const _: Next<any> = (inner: RequestContext): Promise<Response<any>> => {\n if (++level >= inner.plugins.length) {\n return next(requestContext, diagnosticNode, undefined);\n } else if (inner.plugins[level].on !== on) {\n return _(requestContext);\n } else {\n return inner.plugins[level].plugin(inner, diagnosticNode, _);\n }\n };\n if (requestContext.plugins[level].on !== on) {\n return _(requestContext);\n } else {\n return requestContext.plugins[level].plugin(requestContext, diagnosticNode, _);\n }\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,IAAK,WAAL,kBAAKA,cAAL;AAIL,EAAAA,UAAA,aAAU;AAIV,EAAAA,UAAA,eAAY;AARF,SAAAA;AAAA,GAAA;AAwDZ,eAAsB,eACpB,gBACA,gBACA,MACA,IACwB;AACxB,MAAI,CAAC,eAAe,SAAS;AAC3B,WAAO,KAAK,gBAAgB,gBAAgB,MAAS;AAAA,EACvD;AACA,MAAI,QAAQ;AACZ,QAAM,IAAe,CAAC,UAAkD;AACtE,QAAI,EAAE,SAAS,MAAM,QAAQ,QAAQ;AACnC,aAAO,KAAK,gBAAgB,gBAAgB,MAAS;AAAA,IACvD,WAAW,MAAM,QAAQ,KAAK,EAAE,OAAO,IAAI;AACzC,aAAO,EAAE,cAAc;AAAA,IACzB,OAAO;AACL,aAAO,MAAM,QAAQ,KAAK,EAAE,OAAO,OAAO,gBAAgB,CAAC;AAAA,IAC7D;AAAA,EACF;AACA,MAAI,eAAe,QAAQ,KAAK,EAAE,OAAO,IAAI;AAC3C,WAAO,EAAE,cAAc;AAAA,EACzB,OAAO;AACL,WAAO,eAAe,QAAQ,KAAK,EAAE,OAAO,gBAAgB,gBAAgB,CAAC;AAAA,EAC/E;AACF;",
6
6
  "names": ["PluginOn"]
@@ -13,3 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var Aggregator_exports = {};
15
15
  module.exports = __toCommonJS(Aggregator_exports);
16
+ //# sourceMappingURL=Aggregator.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/Aggregator.ts"],
3
+ "sources": ["../../../../src/queryExecutionContext/Aggregators/Aggregator.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/** @hidden */\nexport interface Aggregator {\n aggregate: (other: any) => void;\n getResult: () => any;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []