@openclaw/msteams 2026.6.5 → 2026.6.6-beta.2

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 (1196) hide show
  1. package/dist/api.js +1 -1
  2. package/dist/{channel--oT3fyD5.js → channel-FzXHnZIM.js} +16 -2
  3. package/dist/channel-plugin-api.js +1 -1
  4. package/dist/{channel.runtime-KNuY2Oaw.js → channel.runtime-CaeTVmSx.js} +2 -2
  5. package/dist/{probe-C-rWMb-m.js → probe-D-pKTqs9.js} +1 -1
  6. package/dist/secret-contract-api.js +34 -1
  7. package/dist/{src-CLsoqMj1.js → src-C647R5Nw.js} +2 -2
  8. package/node_modules/@azure/core-client/dist/browser/authorizeRequestOnTenantChallenge.js +1 -2
  9. package/node_modules/@azure/core-client/dist/browser/authorizeRequestOnTenantChallenge.js.map +1 -1
  10. package/node_modules/@azure/core-client/dist/browser/base64.d.ts +2 -6
  11. package/node_modules/@azure/core-client/dist/browser/base64.js +7 -15
  12. package/node_modules/@azure/core-client/dist/browser/base64.js.map +1 -0
  13. package/node_modules/@azure/core-client/dist/browser/index.d.ts +5 -5
  14. package/node_modules/@azure/core-client/dist/browser/index.js.map +1 -1
  15. package/node_modules/@azure/core-client/dist/browser/interfaceHelpers.js +1 -2
  16. package/node_modules/@azure/core-client/dist/browser/interfaceHelpers.js.map +1 -1
  17. package/node_modules/@azure/core-client/dist/browser/operationHelpers.js +8 -4
  18. package/node_modules/@azure/core-client/dist/browser/operationHelpers.js.map +1 -1
  19. package/node_modules/@azure/core-client/dist/browser/serializationPolicy.js +1 -1
  20. package/node_modules/@azure/core-client/dist/browser/serializationPolicy.js.map +1 -1
  21. package/node_modules/@azure/core-client/dist/browser/serializer.js +32 -11
  22. package/node_modules/@azure/core-client/dist/browser/serializer.js.map +1 -1
  23. package/node_modules/@azure/core-client/dist/browser/serviceClient.js +2 -2
  24. package/node_modules/@azure/core-client/dist/browser/serviceClient.js.map +1 -1
  25. package/node_modules/@azure/core-client/dist/browser/{state.d.ts → state-web.d.mts} +1 -1
  26. package/node_modules/@azure/core-client/dist/browser/{state.js → state-web.mjs} +1 -1
  27. package/node_modules/@azure/core-client/dist/browser/state-web.mjs.map +1 -0
  28. package/node_modules/@azure/core-client/dist/browser/urlHelpers.js +2 -1
  29. package/node_modules/@azure/core-client/dist/browser/urlHelpers.js.map +1 -1
  30. package/node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js +1 -2
  31. package/node_modules/@azure/core-client/dist/commonjs/authorizeRequestOnTenantChallenge.js.map +1 -1
  32. package/node_modules/@azure/core-client/dist/commonjs/base64.d.ts +1 -1
  33. package/node_modules/@azure/core-client/dist/commonjs/base64.js +6 -6
  34. package/node_modules/@azure/core-client/dist/commonjs/base64.js.map +1 -1
  35. package/node_modules/@azure/core-client/dist/commonjs/index.d.ts +5 -5
  36. package/node_modules/@azure/core-client/dist/commonjs/index.js.map +1 -1
  37. package/node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js +1 -2
  38. package/node_modules/@azure/core-client/dist/commonjs/interfaceHelpers.js.map +1 -1
  39. package/node_modules/@azure/core-client/dist/commonjs/operationHelpers.js +10 -6
  40. package/node_modules/@azure/core-client/dist/commonjs/operationHelpers.js.map +1 -1
  41. package/node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js +1 -1
  42. package/node_modules/@azure/core-client/dist/commonjs/serializationPolicy.js.map +1 -1
  43. package/node_modules/@azure/core-client/dist/commonjs/serializer.js +32 -11
  44. package/node_modules/@azure/core-client/dist/commonjs/serializer.js.map +1 -1
  45. package/node_modules/@azure/core-client/dist/commonjs/serviceClient.js +2 -2
  46. package/node_modules/@azure/core-client/dist/commonjs/serviceClient.js.map +1 -1
  47. package/node_modules/@azure/core-client/dist/commonjs/state-cjs.d.ts +8 -0
  48. package/node_modules/@azure/core-client/dist/commonjs/{state.js → state-cjs.js} +1 -1
  49. package/node_modules/@azure/core-client/dist/commonjs/state-cjs.js.map +1 -0
  50. package/node_modules/@azure/core-client/dist/commonjs/tsdoc-metadata.json +1 -1
  51. package/node_modules/@azure/core-client/dist/commonjs/urlHelpers.js +2 -1
  52. package/node_modules/@azure/core-client/dist/commonjs/urlHelpers.js.map +1 -1
  53. package/node_modules/@azure/core-client/dist/esm/authorizeRequestOnTenantChallenge.js +1 -2
  54. package/node_modules/@azure/core-client/dist/esm/authorizeRequestOnTenantChallenge.js.map +1 -1
  55. package/node_modules/@azure/core-client/dist/esm/base64.d.ts +1 -1
  56. package/node_modules/@azure/core-client/dist/esm/base64.js +6 -6
  57. package/node_modules/@azure/core-client/dist/esm/base64.js.map +1 -1
  58. package/node_modules/@azure/core-client/dist/esm/index.d.ts +5 -5
  59. package/node_modules/@azure/core-client/dist/esm/index.js.map +1 -1
  60. package/node_modules/@azure/core-client/dist/esm/interfaceHelpers.js +1 -2
  61. package/node_modules/@azure/core-client/dist/esm/interfaceHelpers.js.map +1 -1
  62. package/node_modules/@azure/core-client/dist/esm/operationHelpers.js +7 -3
  63. package/node_modules/@azure/core-client/dist/esm/operationHelpers.js.map +1 -1
  64. package/node_modules/@azure/core-client/dist/esm/serializationPolicy.js +1 -1
  65. package/node_modules/@azure/core-client/dist/esm/serializationPolicy.js.map +1 -1
  66. package/node_modules/@azure/core-client/dist/esm/serializer.js +32 -11
  67. package/node_modules/@azure/core-client/dist/esm/serializer.js.map +1 -1
  68. package/node_modules/@azure/core-client/dist/esm/serviceClient.js +2 -2
  69. package/node_modules/@azure/core-client/dist/esm/serviceClient.js.map +1 -1
  70. package/node_modules/@azure/core-client/dist/esm/state-cjs.d.ts +8 -0
  71. package/node_modules/@azure/core-client/dist/esm/state-cjs.js +9 -0
  72. package/node_modules/@azure/core-client/dist/esm/state-cjs.js.map +1 -0
  73. package/node_modules/@azure/core-client/dist/esm/state.js +1 -1
  74. package/node_modules/@azure/core-client/dist/esm/state.js.map +1 -1
  75. package/node_modules/@azure/core-client/dist/esm/urlHelpers.js +2 -1
  76. package/node_modules/@azure/core-client/dist/esm/urlHelpers.js.map +1 -1
  77. package/node_modules/@azure/core-client/dist/react-native/authorizeRequestOnTenantChallenge.js +1 -2
  78. package/node_modules/@azure/core-client/dist/react-native/authorizeRequestOnTenantChallenge.js.map +1 -1
  79. package/node_modules/@azure/core-client/dist/react-native/base64.d.ts +1 -1
  80. package/node_modules/@azure/core-client/dist/react-native/base64.js +6 -6
  81. package/node_modules/@azure/core-client/dist/react-native/base64.js.map +1 -1
  82. package/node_modules/@azure/core-client/dist/react-native/index.d.ts +5 -5
  83. package/node_modules/@azure/core-client/dist/react-native/index.js.map +1 -1
  84. package/node_modules/@azure/core-client/dist/react-native/interfaceHelpers.js +1 -2
  85. package/node_modules/@azure/core-client/dist/react-native/interfaceHelpers.js.map +1 -1
  86. package/node_modules/@azure/core-client/dist/react-native/operationHelpers.js +8 -4
  87. package/node_modules/@azure/core-client/dist/react-native/operationHelpers.js.map +1 -1
  88. package/node_modules/@azure/core-client/dist/react-native/serializationPolicy.js +1 -1
  89. package/node_modules/@azure/core-client/dist/react-native/serializationPolicy.js.map +1 -1
  90. package/node_modules/@azure/core-client/dist/react-native/serializer.js +32 -11
  91. package/node_modules/@azure/core-client/dist/react-native/serializer.js.map +1 -1
  92. package/node_modules/@azure/core-client/dist/react-native/serviceClient.js +2 -2
  93. package/node_modules/@azure/core-client/dist/react-native/serviceClient.js.map +1 -1
  94. package/node_modules/@azure/core-client/dist/react-native/state-web.d.mts +8 -0
  95. package/node_modules/@azure/core-client/dist/react-native/state-web.mjs +9 -0
  96. package/node_modules/@azure/core-client/dist/react-native/state-web.mjs.map +1 -0
  97. package/node_modules/@azure/core-client/dist/react-native/urlHelpers.js +2 -1
  98. package/node_modules/@azure/core-client/dist/react-native/urlHelpers.js.map +1 -1
  99. package/node_modules/@azure/core-client/package.json +31 -30
  100. package/node_modules/@azure/core-rest-pipeline/dist/browser/constants.js +1 -1
  101. package/node_modules/@azure/core-rest-pipeline/dist/browser/constants.js.map +1 -1
  102. package/node_modules/@azure/core-rest-pipeline/dist/browser/defaultHttpClient.js.map +1 -1
  103. package/node_modules/@azure/core-rest-pipeline/dist/browser/index.d.ts +1 -12
  104. package/node_modules/@azure/core-rest-pipeline/dist/browser/index.js.map +1 -1
  105. package/node_modules/@azure/core-rest-pipeline/dist/browser/interfaces.d.ts +17 -16
  106. package/node_modules/@azure/core-rest-pipeline/dist/browser/interfaces.js.map +1 -1
  107. package/node_modules/@azure/core-rest-pipeline/dist/browser/policies/bearerTokenAuthenticationPolicy.js +1 -1
  108. package/node_modules/@azure/core-rest-pipeline/dist/browser/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  109. package/node_modules/@azure/core-rest-pipeline/dist/browser/policies/ndJsonPolicy.js +1 -3
  110. package/node_modules/@azure/core-rest-pipeline/dist/browser/policies/ndJsonPolicy.js.map +1 -1
  111. package/node_modules/@azure/core-rest-pipeline/dist/browser/policies/wrapAbortSignalLikePolicy.js.map +1 -1
  112. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/createFile-browser.d.mts +15 -0
  113. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/createFile-browser.mjs +28 -0
  114. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/createFile-browser.mjs.map +1 -0
  115. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/file.d.ts +12 -16
  116. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/file.js +28 -32
  117. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/file.js.map +1 -1
  118. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/tokenCycler.js +5 -2
  119. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/tokenCycler.js.map +1 -1
  120. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgent.js +1 -1
  121. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgent.js.map +1 -1
  122. package/node_modules/{@typespec/ts-http-runtime/dist/browser/util/userAgentPlatform.d.ts → @azure/core-rest-pipeline/dist/browser/util/userAgentPlatform-browser.d.mts} +1 -1
  123. package/node_modules/{@typespec/ts-http-runtime/dist/browser/util/userAgentPlatform.js → @azure/core-rest-pipeline/dist/browser/util/userAgentPlatform-browser.mjs} +1 -1
  124. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
  125. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/wrapAbortSignal.js +4 -2
  126. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/wrapAbortSignal.js.map +1 -1
  127. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js +2 -1
  128. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/constants.js.map +2 -2
  129. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js +1 -0
  130. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/createPipelineFromOptions.js.map +1 -1
  131. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js +1 -0
  132. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/defaultHttpClient.js.map +2 -2
  133. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js +1 -0
  134. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/httpHeaders.js.map +1 -1
  135. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/index.d.ts +1 -12
  136. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js +1 -0
  137. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/index.js.map +3 -3
  138. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/interfaces.d.ts +17 -16
  139. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/interfaces.js +1 -0
  140. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/interfaces.js.map +2 -2
  141. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js +1 -0
  142. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/log.js.map +1 -1
  143. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js +1 -0
  144. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/pipeline.js.map +1 -1
  145. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js +1 -0
  146. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/pipelineRequest.js.map +1 -1
  147. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js +1 -0
  148. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/agentPolicy.js.map +1 -1
  149. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js +1 -0
  150. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/auxiliaryAuthenticationHeaderPolicy.js.map +1 -1
  151. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js +2 -1
  152. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js.map +3 -3
  153. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js +1 -0
  154. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/decompressResponsePolicy.js.map +1 -1
  155. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js +1 -0
  156. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -1
  157. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js +1 -0
  158. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -1
  159. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js +1 -0
  160. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/formDataPolicy.js.map +1 -1
  161. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js +1 -0
  162. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/logPolicy.js.map +1 -1
  163. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js +1 -0
  164. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js.map +1 -1
  165. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js +2 -3
  166. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/ndJsonPolicy.js.map +3 -3
  167. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js +1 -0
  168. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/proxyPolicy.js.map +1 -1
  169. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js +1 -0
  170. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/redirectPolicy.js.map +1 -1
  171. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js +1 -0
  172. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/retryPolicy.js.map +1 -1
  173. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js +1 -0
  174. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/setClientRequestIdPolicy.js.map +1 -1
  175. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js +1 -0
  176. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -1
  177. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js +1 -0
  178. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -1
  179. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js +1 -0
  180. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tlsPolicy.js.map +1 -1
  181. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js +1 -0
  182. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/tracingPolicy.js.map +1 -1
  183. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js +1 -0
  184. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/userAgentPolicy.js.map +1 -1
  185. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js +1 -0
  186. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/wrapAbortSignalLikePolicy.js.map +2 -2
  187. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js +1 -0
  188. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/restError.js.map +1 -1
  189. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/tsdoc-metadata.json +1 -1
  190. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/createFile.d.ts +15 -0
  191. package/node_modules/{@typespec/ts-http-runtime/dist/commonjs/util/inspect.common.js → @azure/core-rest-pipeline/dist/commonjs/util/createFile.js} +10 -7
  192. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/createFile.js.map +7 -0
  193. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.d.ts +12 -16
  194. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js +25 -20
  195. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/file.js.map +3 -3
  196. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js +6 -2
  197. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/tokenCycler.js.map +3 -3
  198. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js +4 -3
  199. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgent.js.map +3 -3
  200. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.d.ts +8 -0
  201. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js +7 -7
  202. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/userAgentPlatform.js.map +3 -3
  203. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js +7 -2
  204. package/node_modules/@azure/core-rest-pipeline/dist/commonjs/util/wrapAbortSignal.js.map +3 -3
  205. package/node_modules/@azure/core-rest-pipeline/dist/esm/constants.js +1 -1
  206. package/node_modules/@azure/core-rest-pipeline/dist/esm/constants.js.map +1 -1
  207. package/node_modules/@azure/core-rest-pipeline/dist/esm/defaultHttpClient.js.map +1 -1
  208. package/node_modules/@azure/core-rest-pipeline/dist/esm/index.d.ts +1 -12
  209. package/node_modules/@azure/core-rest-pipeline/dist/esm/index.js.map +1 -1
  210. package/node_modules/@azure/core-rest-pipeline/dist/esm/interfaces.d.ts +17 -16
  211. package/node_modules/@azure/core-rest-pipeline/dist/esm/interfaces.js.map +1 -1
  212. package/node_modules/@azure/core-rest-pipeline/dist/esm/policies/bearerTokenAuthenticationPolicy.js +1 -1
  213. package/node_modules/@azure/core-rest-pipeline/dist/esm/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  214. package/node_modules/@azure/core-rest-pipeline/dist/esm/policies/ndJsonPolicy.js +1 -3
  215. package/node_modules/@azure/core-rest-pipeline/dist/esm/policies/ndJsonPolicy.js.map +1 -1
  216. package/node_modules/@azure/core-rest-pipeline/dist/esm/policies/wrapAbortSignalLikePolicy.js.map +1 -1
  217. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/createFile.d.ts +15 -0
  218. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/createFile.js +19 -0
  219. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/createFile.js.map +1 -0
  220. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/file.d.ts +12 -16
  221. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/file.js +28 -32
  222. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/file.js.map +1 -1
  223. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/tokenCycler.js +5 -2
  224. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/tokenCycler.js.map +1 -1
  225. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgent.js.map +1 -1
  226. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.d.ts +8 -0
  227. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.js +6 -7
  228. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.js.map +1 -1
  229. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/wrapAbortSignal.js +4 -2
  230. package/node_modules/@azure/core-rest-pipeline/dist/esm/util/wrapAbortSignal.js.map +1 -1
  231. package/node_modules/@azure/core-rest-pipeline/dist/react-native/constants.js +1 -1
  232. package/node_modules/@azure/core-rest-pipeline/dist/react-native/constants.js.map +1 -1
  233. package/node_modules/@azure/core-rest-pipeline/dist/react-native/defaultHttpClient.js +1 -1
  234. package/node_modules/@azure/core-rest-pipeline/dist/react-native/defaultHttpClient.js.map +1 -1
  235. package/node_modules/@azure/core-rest-pipeline/dist/react-native/index.d.ts +1 -12
  236. package/node_modules/@azure/core-rest-pipeline/dist/react-native/index.js.map +1 -1
  237. package/node_modules/@azure/core-rest-pipeline/dist/react-native/interfaces.d.ts +17 -16
  238. package/node_modules/@azure/core-rest-pipeline/dist/react-native/interfaces.js.map +1 -1
  239. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/bearerTokenAuthenticationPolicy.js +1 -1
  240. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/bearerTokenAuthenticationPolicy.js.map +1 -1
  241. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/ndJsonPolicy.js +1 -3
  242. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/ndJsonPolicy.js.map +1 -1
  243. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/wrapAbortSignalLikePolicy.js +1 -1
  244. package/node_modules/@azure/core-rest-pipeline/dist/react-native/policies/wrapAbortSignalLikePolicy.js.map +1 -1
  245. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/createFile-browser.d.mts +15 -0
  246. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/createFile-browser.mjs +28 -0
  247. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/createFile-browser.mjs.map +1 -0
  248. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/file.d.ts +12 -16
  249. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/file.js +28 -32
  250. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/file.js.map +1 -1
  251. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/tokenCycler.js +5 -2
  252. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/tokenCycler.js.map +1 -1
  253. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/userAgent.js +1 -1
  254. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/userAgent.js.map +1 -1
  255. package/node_modules/{@typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform.d.ts → @azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform-react-native.d.mts} +1 -1
  256. package/node_modules/{@typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform.js → @azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform-react-native.mjs} +1 -1
  257. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
  258. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/{wrapAbortSignal.d.ts → wrapAbortSignal-rn.d.mts} +7 -2
  259. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/{wrapAbortSignal.js → wrapAbortSignal-rn.mjs} +11 -5
  260. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/wrapAbortSignal-rn.mjs.map +1 -0
  261. package/node_modules/@azure/core-rest-pipeline/package.json +37 -14
  262. package/node_modules/@azure/msal-browser/dist/app/IPublicClientApplication.mjs +1 -1
  263. package/node_modules/@azure/msal-browser/dist/app/PublicClientApplication.mjs +44 -2
  264. package/node_modules/@azure/msal-browser/dist/app/PublicClientApplication.mjs.map +1 -1
  265. package/node_modules/@azure/msal-browser/dist/broker/nativeBroker/NativeStatusCodes.mjs +3 -3
  266. package/node_modules/@azure/msal-browser/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  267. package/node_modules/@azure/msal-browser/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  268. package/node_modules/@azure/msal-browser/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  269. package/node_modules/@azure/msal-browser/dist/cache/AccountManager.mjs +1 -1
  270. package/node_modules/@azure/msal-browser/dist/cache/AsyncMemoryStorage.mjs +1 -1
  271. package/node_modules/@azure/msal-browser/dist/cache/BrowserCacheManager.mjs +12 -1
  272. package/node_modules/@azure/msal-browser/dist/cache/BrowserCacheManager.mjs.map +1 -1
  273. package/node_modules/@azure/msal-browser/dist/cache/CacheHelpers.mjs +1 -1
  274. package/node_modules/@azure/msal-browser/dist/cache/CacheKeys.mjs +1 -1
  275. package/node_modules/@azure/msal-browser/dist/cache/CookieStorage.mjs +1 -1
  276. package/node_modules/@azure/msal-browser/dist/cache/DatabaseStorage.mjs +1 -1
  277. package/node_modules/@azure/msal-browser/dist/cache/EncryptedData.mjs +1 -1
  278. package/node_modules/@azure/msal-browser/dist/cache/LocalStorage.mjs +1 -1
  279. package/node_modules/@azure/msal-browser/dist/cache/MemoryStorage.mjs +1 -1
  280. package/node_modules/@azure/msal-browser/dist/cache/SessionStorage.mjs +1 -1
  281. package/node_modules/@azure/msal-browser/dist/cache/TokenCache.mjs +1 -1
  282. package/node_modules/@azure/msal-browser/dist/config/Configuration.mjs +2 -2
  283. package/node_modules/@azure/msal-browser/dist/controllers/NestedAppAuthController.mjs +1 -1
  284. package/node_modules/@azure/msal-browser/dist/controllers/StandardController.mjs +3 -3
  285. package/node_modules/@azure/msal-browser/dist/controllers/StandardController.mjs.map +1 -1
  286. package/node_modules/@azure/msal-browser/dist/crypto/BrowserCrypto.mjs +1 -1
  287. package/node_modules/@azure/msal-browser/dist/crypto/CryptoOps.mjs +1 -1
  288. package/node_modules/@azure/msal-browser/dist/crypto/PkceGenerator.mjs +1 -1
  289. package/node_modules/@azure/msal-browser/dist/crypto/SignedHttpRequest.mjs +1 -1
  290. package/node_modules/@azure/msal-browser/dist/custom_auth/CustomAuthConstants.mjs +1 -1
  291. package/node_modules/@azure/msal-browser/dist/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  292. package/node_modules/@azure/msal-browser/dist/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  293. package/node_modules/@azure/msal-browser/dist/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  294. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  295. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  296. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  297. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  298. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  299. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  300. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  301. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  302. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  303. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  304. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  305. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  306. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  307. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  308. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  309. package/node_modules/@azure/msal-browser/dist/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  310. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  311. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/CustomAuthError.mjs +1 -1
  312. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/HttpError.mjs +1 -1
  313. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  314. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  315. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  316. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  317. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  318. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  319. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  320. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  321. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  322. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/UnexpectedError.mjs +1 -1
  323. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  324. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  325. package/node_modules/@azure/msal-browser/dist/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  326. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  327. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  328. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  329. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  330. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
  331. package/node_modules/@azure/msal-browser/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  332. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  333. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  334. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  335. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  336. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  337. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  338. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  339. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  340. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  341. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  342. package/node_modules/@azure/msal-browser/dist/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  343. package/node_modules/@azure/msal-browser/dist/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  344. package/node_modules/@azure/msal-browser/dist/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  345. package/node_modules/@azure/msal-browser/dist/custom_auth/core/utils/CustomHeaderUtils.mjs +1 -1
  346. package/node_modules/@azure/msal-browser/dist/custom_auth/core/utils/UrlUtils.mjs +1 -1
  347. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  348. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  349. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  350. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  351. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  352. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  353. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  354. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  355. package/node_modules/@azure/msal-browser/dist/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  356. package/node_modules/@azure/msal-browser/dist/custom_auth/index.mjs +1 -1
  357. package/node_modules/@azure/msal-browser/dist/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  358. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  359. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  360. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  361. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  362. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  363. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  364. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  365. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  366. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  367. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  368. package/node_modules/@azure/msal-browser/dist/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  369. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  370. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  371. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  372. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  373. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  374. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  375. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  376. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  377. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  378. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  379. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  380. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  381. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  382. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  383. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  384. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  385. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  386. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  387. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  388. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  389. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  390. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  391. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  392. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  393. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  394. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  395. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  396. package/node_modules/@azure/msal-browser/dist/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  397. package/node_modules/@azure/msal-browser/dist/encode/Base64Decode.mjs +1 -1
  398. package/node_modules/@azure/msal-browser/dist/encode/Base64Encode.mjs +1 -1
  399. package/node_modules/@azure/msal-browser/dist/error/BrowserAuthError.mjs +1 -1
  400. package/node_modules/@azure/msal-browser/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  401. package/node_modules/@azure/msal-browser/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  402. package/node_modules/@azure/msal-browser/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  403. package/node_modules/@azure/msal-browser/dist/error/NativeAuthError.mjs +4 -4
  404. package/node_modules/@azure/msal-browser/dist/error/NativeAuthError.mjs.map +1 -1
  405. package/node_modules/@azure/msal-browser/dist/error/NativeAuthErrorCodes.mjs +1 -1
  406. package/node_modules/@azure/msal-browser/dist/error/NestedAppAuthError.mjs +1 -1
  407. package/node_modules/@azure/msal-browser/dist/event/EventHandler.mjs +1 -1
  408. package/node_modules/@azure/msal-browser/dist/event/EventMessage.mjs +1 -1
  409. package/node_modules/@azure/msal-browser/dist/event/EventType.mjs +1 -1
  410. package/node_modules/@azure/msal-browser/dist/index.mjs +1 -1
  411. package/node_modules/@azure/msal-browser/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  412. package/node_modules/@azure/msal-browser/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  413. package/node_modules/@azure/msal-browser/dist/interaction_client/PlatformAuthInteractionClient.mjs +4 -3
  414. package/node_modules/@azure/msal-browser/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  415. package/node_modules/@azure/msal-browser/dist/interaction_client/PopupClient.mjs +27 -7
  416. package/node_modules/@azure/msal-browser/dist/interaction_client/PopupClient.mjs.map +1 -1
  417. package/node_modules/@azure/msal-browser/dist/interaction_client/RedirectClient.mjs +6 -1
  418. package/node_modules/@azure/msal-browser/dist/interaction_client/RedirectClient.mjs.map +1 -1
  419. package/node_modules/@azure/msal-browser/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  420. package/node_modules/@azure/msal-browser/dist/interaction_client/SilentCacheClient.mjs +1 -1
  421. package/node_modules/@azure/msal-browser/dist/interaction_client/SilentIframeClient.mjs +11 -4
  422. package/node_modules/@azure/msal-browser/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  423. package/node_modules/@azure/msal-browser/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  424. package/node_modules/@azure/msal-browser/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  425. package/node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.mjs +1 -1
  426. package/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs +2 -1
  427. package/node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  428. package/node_modules/@azure/msal-browser/dist/log-strings-mapping.json +7 -3
  429. package/node_modules/@azure/msal-browser/dist/naa/BridgeError.mjs +1 -1
  430. package/node_modules/@azure/msal-browser/dist/naa/BridgeProxy.mjs +1 -1
  431. package/node_modules/@azure/msal-browser/dist/naa/BridgeStatusCode.mjs +1 -1
  432. package/node_modules/@azure/msal-browser/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  433. package/node_modules/@azure/msal-browser/dist/navigation/NavigationClient.mjs +1 -1
  434. package/node_modules/@azure/msal-browser/dist/network/FetchClient.mjs +1 -1
  435. package/node_modules/@azure/msal-browser/dist/operatingcontext/BaseOperatingContext.mjs +10 -2
  436. package/node_modules/@azure/msal-browser/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  437. package/node_modules/@azure/msal-browser/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  438. package/node_modules/@azure/msal-browser/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  439. package/node_modules/@azure/msal-browser/dist/packageMetadata.mjs +2 -2
  440. package/node_modules/@azure/msal-browser/dist/protocol/Authorize.mjs +1 -1
  441. package/node_modules/@azure/msal-browser/dist/redirect_bridge/index.mjs +4 -5
  442. package/node_modules/@azure/msal-browser/dist/redirect_bridge/index.mjs.map +1 -1
  443. package/node_modules/@azure/msal-browser/dist/request/RequestHelpers.mjs +1 -1
  444. package/node_modules/@azure/msal-browser/dist/response/ResponseHandler.mjs +1 -1
  445. package/node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  446. package/node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceEvents.mjs +1 -1
  447. package/node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  448. package/node_modules/@azure/msal-browser/dist/telemetry/BrowserRootPerformanceEvents.mjs +1 -1
  449. package/node_modules/@azure/msal-browser/dist/utils/BrowserConstants.mjs +1 -1
  450. package/node_modules/@azure/msal-browser/dist/utils/BrowserProtocolUtils.mjs +1 -1
  451. package/node_modules/@azure/msal-browser/dist/utils/BrowserUtils.mjs +15 -5
  452. package/node_modules/@azure/msal-browser/dist/utils/BrowserUtils.mjs.map +1 -1
  453. package/node_modules/@azure/msal-browser/dist/utils/Helpers.mjs +1 -1
  454. package/node_modules/@azure/msal-browser/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  455. package/node_modules/@azure/msal-browser/lib/custom-auth-path/log-strings-mapping.json +15 -11
  456. package/node_modules/@azure/msal-browser/lib/custom-auth-path/msal-custom-auth.cjs +238 -132
  457. package/node_modules/@azure/msal-browser/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  458. package/node_modules/@azure/msal-browser/lib/custom-auth-path/msal-custom-auth.js +238 -132
  459. package/node_modules/@azure/msal-browser/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
  460. package/node_modules/@azure/msal-browser/lib/log-strings-mapping.json +7 -3
  461. package/node_modules/@azure/msal-browser/lib/msal-browser.cjs +252 -135
  462. package/node_modules/@azure/msal-browser/lib/msal-browser.cjs.map +1 -1
  463. package/node_modules/@azure/msal-browser/lib/msal-browser.js +252 -135
  464. package/node_modules/@azure/msal-browser/lib/msal-browser.js.map +1 -1
  465. package/node_modules/@azure/msal-browser/lib/msal-browser.min.js +2 -2
  466. package/node_modules/@azure/msal-browser/lib/redirect-bridge/msal-redirect-bridge.cjs +59 -50
  467. package/node_modules/@azure/msal-browser/lib/redirect-bridge/msal-redirect-bridge.cjs.map +1 -1
  468. package/node_modules/@azure/msal-browser/lib/redirect-bridge/msal-redirect-bridge.js +59 -50
  469. package/node_modules/@azure/msal-browser/lib/redirect-bridge/msal-redirect-bridge.js.map +1 -1
  470. package/node_modules/@azure/msal-browser/lib/redirect-bridge/msal-redirect-bridge.min.js +2 -2
  471. package/node_modules/@azure/msal-browser/package.json +2 -2
  472. package/node_modules/@azure/msal-browser/src/app/PublicClientApplication.ts +85 -1
  473. package/node_modules/@azure/msal-browser/src/broker/nativeBroker/NativeStatusCodes.ts +1 -1
  474. package/node_modules/@azure/msal-browser/src/cache/BrowserCacheManager.ts +17 -0
  475. package/node_modules/@azure/msal-browser/src/controllers/StandardController.ts +4 -2
  476. package/node_modules/@azure/msal-browser/src/error/NativeAuthError.ts +2 -2
  477. package/node_modules/@azure/msal-browser/src/interaction_client/PlatformAuthInteractionClient.ts +5 -1
  478. package/node_modules/@azure/msal-browser/src/interaction_client/PopupClient.ts +65 -27
  479. package/node_modules/@azure/msal-browser/src/interaction_client/RedirectClient.ts +5 -0
  480. package/node_modules/@azure/msal-browser/src/interaction_client/SilentIframeClient.ts +49 -19
  481. package/node_modules/@azure/msal-browser/src/interaction_handler/SilentHandler.ts +1 -0
  482. package/node_modules/@azure/msal-browser/src/operatingcontext/BaseOperatingContext.ts +15 -1
  483. package/node_modules/@azure/msal-browser/src/packageMetadata.ts +1 -1
  484. package/node_modules/@azure/msal-browser/src/redirect_bridge/index.ts +3 -7
  485. package/node_modules/@azure/msal-browser/src/utils/BrowserUtils.ts +28 -7
  486. package/node_modules/@azure/msal-browser/types/app/PublicClientApplication.d.ts +37 -1
  487. package/node_modules/@azure/msal-browser/types/app/PublicClientApplication.d.ts.map +1 -1
  488. package/node_modules/@azure/msal-browser/types/broker/nativeBroker/NativeStatusCodes.d.ts +1 -1
  489. package/node_modules/@azure/msal-browser/types/cache/BrowserCacheManager.d.ts.map +1 -1
  490. package/node_modules/@azure/msal-browser/types/controllers/StandardController.d.ts.map +1 -1
  491. package/node_modules/@azure/msal-browser/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  492. package/node_modules/@azure/msal-browser/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  493. package/node_modules/@azure/msal-browser/types/interaction_client/PopupClient.d.ts +11 -1
  494. package/node_modules/@azure/msal-browser/types/interaction_client/PopupClient.d.ts.map +1 -1
  495. package/node_modules/@azure/msal-browser/types/interaction_client/RedirectClient.d.ts.map +1 -1
  496. package/node_modules/@azure/msal-browser/types/interaction_client/SilentIframeClient.d.ts +20 -1
  497. package/node_modules/@azure/msal-browser/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
  498. package/node_modules/@azure/msal-browser/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  499. package/node_modules/@azure/msal-browser/types/operatingcontext/BaseOperatingContext.d.ts +8 -1
  500. package/node_modules/@azure/msal-browser/types/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  501. package/node_modules/@azure/msal-browser/types/packageMetadata.d.ts +1 -1
  502. package/node_modules/@azure/msal-browser/types/redirect_bridge/index.d.ts.map +1 -1
  503. package/node_modules/@azure/msal-browser/types/utils/BrowserUtils.d.ts +17 -2
  504. package/node_modules/@azure/msal-browser/types/utils/BrowserUtils.d.ts.map +1 -1
  505. package/node_modules/@azure/msal-common/dist/account/AccountInfo.mjs +1 -1
  506. package/node_modules/@azure/msal-common/dist/account/AuthToken.mjs +1 -1
  507. package/node_modules/@azure/msal-common/dist/account/CcsCredential.mjs +1 -1
  508. package/node_modules/@azure/msal-common/dist/account/ClientInfo.mjs +1 -1
  509. package/node_modules/@azure/msal-common/dist/account/TokenClaims.mjs +1 -1
  510. package/node_modules/@azure/msal-common/dist/authority/Authority.mjs +19 -6
  511. package/node_modules/@azure/msal-common/dist/authority/Authority.mjs.map +1 -1
  512. package/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs +1 -1
  513. package/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs +1 -1
  514. package/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs +1 -1
  515. package/node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs +1 -1
  516. package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  517. package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  518. package/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs +1 -1
  519. package/node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs +1 -1
  520. package/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs +1 -1
  521. package/node_modules/@azure/msal-common/dist/cache/CacheManager.mjs +3 -3
  522. package/node_modules/@azure/msal-common/dist/cache/CacheManager.mjs.map +1 -1
  523. package/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  524. package/node_modules/@azure/msal-common/dist/cache/utils/AccountEntityUtils.mjs +1 -1
  525. package/node_modules/@azure/msal-common/dist/cache/utils/CacheHelpers.mjs +1 -1
  526. package/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.mjs +1 -1
  527. package/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.mjs +1 -1
  528. package/node_modules/@azure/msal-common/dist/client/SilentFlowClient.mjs +1 -1
  529. package/node_modules/@azure/msal-common/dist/config/ClientConfiguration.mjs +1 -1
  530. package/node_modules/@azure/msal-common/dist/constants/AADServerParamKeys.mjs +1 -1
  531. package/node_modules/@azure/msal-common/dist/crypto/ICrypto.mjs +1 -1
  532. package/node_modules/@azure/msal-common/dist/crypto/JoseHeader.mjs +1 -1
  533. package/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.mjs +1 -1
  534. package/node_modules/@azure/msal-common/dist/error/AuthError.mjs +1 -1
  535. package/node_modules/@azure/msal-common/dist/error/AuthErrorCodes.mjs +1 -1
  536. package/node_modules/@azure/msal-common/dist/error/CacheError.mjs +1 -1
  537. package/node_modules/@azure/msal-common/dist/error/CacheErrorCodes.mjs +1 -1
  538. package/node_modules/@azure/msal-common/dist/error/ClientAuthError.mjs +1 -1
  539. package/node_modules/@azure/msal-common/dist/error/ClientAuthErrorCodes.mjs +1 -1
  540. package/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.mjs +1 -1
  541. package/node_modules/@azure/msal-common/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  542. package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.mjs +4 -4
  543. package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  544. package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthErrorCodes.mjs +3 -3
  545. package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -1
  546. package/node_modules/@azure/msal-common/dist/error/JoseHeaderError.mjs +1 -1
  547. package/node_modules/@azure/msal-common/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  548. package/node_modules/@azure/msal-common/dist/error/NetworkError.mjs +1 -1
  549. package/node_modules/@azure/msal-common/dist/error/PlatformBrokerError.mjs +1 -1
  550. package/node_modules/@azure/msal-common/dist/error/ServerError.mjs +1 -1
  551. package/node_modules/@azure/msal-common/dist/index-node.mjs +1 -1
  552. package/node_modules/@azure/msal-common/dist/index.mjs +1 -1
  553. package/node_modules/@azure/msal-common/dist/logger/Logger.mjs +1 -1
  554. package/node_modules/@azure/msal-common/dist/network/INetworkModule.mjs +1 -1
  555. package/node_modules/@azure/msal-common/dist/network/RequestThumbprint.mjs +1 -1
  556. package/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs +1 -1
  557. package/node_modules/@azure/msal-common/dist/packageMetadata.mjs +2 -2
  558. package/node_modules/@azure/msal-common/dist/protocol/Authorize.mjs +1 -1
  559. package/node_modules/@azure/msal-common/dist/protocol/Token.mjs +1 -1
  560. package/node_modules/@azure/msal-common/dist/request/AuthenticationHeaderParser.mjs +1 -1
  561. package/node_modules/@azure/msal-common/dist/request/BaseAuthRequest.mjs +1 -1
  562. package/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.mjs +1 -1
  563. package/node_modules/@azure/msal-common/dist/request/ScopeSet.mjs +1 -1
  564. package/node_modules/@azure/msal-common/dist/response/ResponseHandler.mjs +1 -1
  565. package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  566. package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  567. package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  568. package/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  569. package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  570. package/node_modules/@azure/msal-common/dist/url/UrlString.mjs +1 -1
  571. package/node_modules/@azure/msal-common/dist/utils/ClientAssertionUtils.mjs +1 -1
  572. package/node_modules/@azure/msal-common/dist/utils/Constants.mjs +1 -1
  573. package/node_modules/@azure/msal-common/dist/utils/FunctionWrappers.mjs +1 -1
  574. package/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.mjs +1 -1
  575. package/node_modules/@azure/msal-common/dist/utils/StringUtils.mjs +1 -1
  576. package/node_modules/@azure/msal-common/dist/utils/TimeUtils.mjs +1 -1
  577. package/node_modules/@azure/msal-common/dist/utils/UrlUtils.mjs +1 -1
  578. package/node_modules/@azure/msal-common/dist-browser/account/AccountInfo.mjs +1 -1
  579. package/node_modules/@azure/msal-common/dist-browser/account/AuthToken.mjs +1 -1
  580. package/node_modules/@azure/msal-common/dist-browser/account/CcsCredential.mjs +1 -1
  581. package/node_modules/@azure/msal-common/dist-browser/account/ClientInfo.mjs +1 -1
  582. package/node_modules/@azure/msal-common/dist-browser/account/TokenClaims.mjs +1 -1
  583. package/node_modules/@azure/msal-common/dist-browser/authority/Authority.mjs +19 -6
  584. package/node_modules/@azure/msal-common/dist-browser/authority/Authority.mjs.map +1 -1
  585. package/node_modules/@azure/msal-common/dist-browser/authority/AuthorityFactory.mjs +1 -1
  586. package/node_modules/@azure/msal-common/dist-browser/authority/AuthorityMetadata.mjs +1 -1
  587. package/node_modules/@azure/msal-common/dist-browser/authority/AuthorityOptions.mjs +1 -1
  588. package/node_modules/@azure/msal-common/dist-browser/authority/AuthorityType.mjs +1 -1
  589. package/node_modules/@azure/msal-common/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  590. package/node_modules/@azure/msal-common/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  591. package/node_modules/@azure/msal-common/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  592. package/node_modules/@azure/msal-common/dist-browser/authority/ProtocolMode.mjs +1 -1
  593. package/node_modules/@azure/msal-common/dist-browser/authority/RegionDiscovery.mjs +1 -1
  594. package/node_modules/@azure/msal-common/dist-browser/cache/CacheManager.mjs +3 -3
  595. package/node_modules/@azure/msal-common/dist-browser/cache/CacheManager.mjs.map +1 -1
  596. package/node_modules/@azure/msal-common/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  597. package/node_modules/@azure/msal-common/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
  598. package/node_modules/@azure/msal-common/dist-browser/cache/utils/CacheHelpers.mjs +1 -1
  599. package/node_modules/@azure/msal-common/dist-browser/client/AuthorizationCodeClient.mjs +1 -1
  600. package/node_modules/@azure/msal-common/dist-browser/client/RefreshTokenClient.mjs +1 -1
  601. package/node_modules/@azure/msal-common/dist-browser/client/SilentFlowClient.mjs +1 -1
  602. package/node_modules/@azure/msal-common/dist-browser/config/ClientConfiguration.mjs +1 -1
  603. package/node_modules/@azure/msal-common/dist-browser/constants/AADServerParamKeys.mjs +1 -1
  604. package/node_modules/@azure/msal-common/dist-browser/crypto/ICrypto.mjs +1 -1
  605. package/node_modules/@azure/msal-common/dist-browser/crypto/JoseHeader.mjs +1 -1
  606. package/node_modules/@azure/msal-common/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
  607. package/node_modules/@azure/msal-common/dist-browser/error/AuthError.mjs +1 -1
  608. package/node_modules/@azure/msal-common/dist-browser/error/AuthErrorCodes.mjs +1 -1
  609. package/node_modules/@azure/msal-common/dist-browser/error/CacheError.mjs +1 -1
  610. package/node_modules/@azure/msal-common/dist-browser/error/CacheErrorCodes.mjs +1 -1
  611. package/node_modules/@azure/msal-common/dist-browser/error/ClientAuthError.mjs +1 -1
  612. package/node_modules/@azure/msal-common/dist-browser/error/ClientAuthErrorCodes.mjs +1 -1
  613. package/node_modules/@azure/msal-common/dist-browser/error/ClientConfigurationError.mjs +1 -1
  614. package/node_modules/@azure/msal-common/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  615. package/node_modules/@azure/msal-common/dist-browser/error/InteractionRequiredAuthError.mjs +4 -4
  616. package/node_modules/@azure/msal-common/dist-browser/error/InteractionRequiredAuthError.mjs.map +1 -1
  617. package/node_modules/@azure/msal-common/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +3 -3
  618. package/node_modules/@azure/msal-common/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -1
  619. package/node_modules/@azure/msal-common/dist-browser/error/JoseHeaderError.mjs +1 -1
  620. package/node_modules/@azure/msal-common/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  621. package/node_modules/@azure/msal-common/dist-browser/error/NetworkError.mjs +1 -1
  622. package/node_modules/@azure/msal-common/dist-browser/error/PlatformBrokerError.mjs +1 -1
  623. package/node_modules/@azure/msal-common/dist-browser/error/ServerError.mjs +1 -1
  624. package/node_modules/@azure/msal-common/dist-browser/index-browser.mjs +1 -1
  625. package/node_modules/@azure/msal-common/dist-browser/index.mjs +1 -1
  626. package/node_modules/@azure/msal-common/dist-browser/log-strings-mapping.json +2 -2
  627. package/node_modules/@azure/msal-common/dist-browser/logger/Logger.mjs +1 -1
  628. package/node_modules/@azure/msal-common/dist-browser/network/INetworkModule.mjs +1 -1
  629. package/node_modules/@azure/msal-common/dist-browser/network/RequestThumbprint.mjs +1 -1
  630. package/node_modules/@azure/msal-common/dist-browser/network/ThrottlingUtils.mjs +1 -1
  631. package/node_modules/@azure/msal-common/dist-browser/packageMetadata.mjs +2 -2
  632. package/node_modules/@azure/msal-common/dist-browser/protocol/Authorize.mjs +1 -1
  633. package/node_modules/@azure/msal-common/dist-browser/protocol/Token.mjs +1 -1
  634. package/node_modules/@azure/msal-common/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
  635. package/node_modules/@azure/msal-common/dist-browser/request/BaseAuthRequest.mjs +1 -1
  636. package/node_modules/@azure/msal-common/dist-browser/request/RequestParameterBuilder.mjs +1 -1
  637. package/node_modules/@azure/msal-common/dist-browser/request/ScopeSet.mjs +1 -1
  638. package/node_modules/@azure/msal-common/dist-browser/response/ResponseHandler.mjs +1 -1
  639. package/node_modules/@azure/msal-common/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
  640. package/node_modules/@azure/msal-common/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  641. package/node_modules/@azure/msal-common/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  642. package/node_modules/@azure/msal-common/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  643. package/node_modules/@azure/msal-common/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  644. package/node_modules/@azure/msal-common/dist-browser/url/UrlString.mjs +1 -1
  645. package/node_modules/@azure/msal-common/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  646. package/node_modules/@azure/msal-common/dist-browser/utils/Constants.mjs +1 -1
  647. package/node_modules/@azure/msal-common/dist-browser/utils/FunctionWrappers.mjs +1 -1
  648. package/node_modules/@azure/msal-common/dist-browser/utils/ProtocolUtils.mjs +1 -1
  649. package/node_modules/@azure/msal-common/dist-browser/utils/StringUtils.mjs +1 -1
  650. package/node_modules/@azure/msal-common/dist-browser/utils/TimeUtils.mjs +1 -1
  651. package/node_modules/@azure/msal-common/dist-browser/utils/UrlUtils.mjs +1 -1
  652. package/node_modules/@azure/msal-common/lib/index-browser.cjs +2 -2
  653. package/node_modules/@azure/msal-common/lib/{index-node-9_Gz5QUk.js → index-node-DHSwXao8.js} +27 -14
  654. package/node_modules/@azure/msal-common/lib/index-node-DHSwXao8.js.map +1 -0
  655. package/node_modules/@azure/msal-common/lib/index-node.cjs +2 -2
  656. package/node_modules/@azure/msal-common/lib/index.cjs +2 -2
  657. package/node_modules/@azure/msal-common/package.json +1 -1
  658. package/node_modules/@azure/msal-common/src/authority/Authority.ts +20 -5
  659. package/node_modules/@azure/msal-common/src/cache/CacheManager.ts +5 -10
  660. package/node_modules/@azure/msal-common/src/error/InteractionRequiredAuthError.ts +2 -2
  661. package/node_modules/@azure/msal-common/src/error/InteractionRequiredAuthErrorCodes.ts +1 -2
  662. package/node_modules/@azure/msal-common/src/packageMetadata.ts +1 -1
  663. package/node_modules/@azure/msal-common/types/authority/Authority.d.ts +5 -1
  664. package/node_modules/@azure/msal-common/types/authority/Authority.d.ts.map +1 -1
  665. package/node_modules/@azure/msal-common/types/cache/CacheManager.d.ts.map +1 -1
  666. package/node_modules/@azure/msal-common/types/error/InteractionRequiredAuthErrorCodes.d.ts +1 -1
  667. package/node_modules/@azure/msal-common/types/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -1
  668. package/node_modules/@azure/msal-common/types/packageMetadata.d.ts +1 -1
  669. package/node_modules/@azure/msal-node/dist/cache/CacheHelpers.mjs +1 -1
  670. package/node_modules/@azure/msal-node/dist/cache/NodeStorage.mjs +1 -1
  671. package/node_modules/@azure/msal-node/dist/cache/TokenCache.mjs +1 -1
  672. package/node_modules/@azure/msal-node/dist/cache/distributed/DistributedCachePlugin.mjs +1 -1
  673. package/node_modules/@azure/msal-node/dist/cache/serializer/Deserializer.mjs +1 -1
  674. package/node_modules/@azure/msal-node/dist/cache/serializer/Serializer.mjs +1 -1
  675. package/node_modules/@azure/msal-node/dist/client/BaseClient.mjs +1 -1
  676. package/node_modules/@azure/msal-node/dist/client/ClientApplication.mjs +1 -1
  677. package/node_modules/@azure/msal-node/dist/client/ClientAssertion.mjs +1 -1
  678. package/node_modules/@azure/msal-node/dist/client/ClientCredentialClient.mjs +1 -1
  679. package/node_modules/@azure/msal-node/dist/client/ConfidentialClientApplication.mjs +1 -1
  680. package/node_modules/@azure/msal-node/dist/client/DeviceCodeClient.mjs +1 -1
  681. package/node_modules/@azure/msal-node/dist/client/ManagedIdentityApplication.mjs +1 -1
  682. package/node_modules/@azure/msal-node/dist/client/ManagedIdentityClient.mjs +1 -1
  683. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/AppService.mjs +1 -1
  684. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/AzureArc.mjs +1 -1
  685. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/BaseManagedIdentitySource.mjs +1 -1
  686. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/CloudShell.mjs +1 -1
  687. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/Imds.mjs +1 -1
  688. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/MachineLearning.mjs +1 -1
  689. package/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/ServiceFabric.mjs +1 -1
  690. package/node_modules/@azure/msal-node/dist/client/OnBehalfOfClient.mjs +1 -1
  691. package/node_modules/@azure/msal-node/dist/client/PublicClientApplication.mjs +1 -1
  692. package/node_modules/@azure/msal-node/dist/client/UsernamePasswordClient.mjs +1 -1
  693. package/node_modules/@azure/msal-node/dist/config/Configuration.mjs +1 -1
  694. package/node_modules/@azure/msal-node/dist/config/ManagedIdentityId.mjs +1 -1
  695. package/node_modules/@azure/msal-node/dist/config/ManagedIdentityRequestParameters.mjs +1 -1
  696. package/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs +1 -1
  697. package/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs +1 -1
  698. package/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs +1 -1
  699. package/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs +1 -1
  700. package/node_modules/@azure/msal-node/dist/error/ClientAuthErrorCodes.mjs +1 -1
  701. package/node_modules/@azure/msal-node/dist/error/ManagedIdentityError.mjs +1 -1
  702. package/node_modules/@azure/msal-node/dist/error/ManagedIdentityErrorCodes.mjs +1 -1
  703. package/node_modules/@azure/msal-node/dist/error/NodeAuthError.mjs +1 -1
  704. package/node_modules/@azure/msal-node/dist/index.mjs +1 -1
  705. package/node_modules/@azure/msal-node/dist/internals.mjs +1 -1
  706. package/node_modules/@azure/msal-node/dist/network/HttpClient.mjs +1 -1
  707. package/node_modules/@azure/msal-node/dist/network/HttpClientWithRetries.mjs +1 -1
  708. package/node_modules/@azure/msal-node/dist/network/LoopbackClient.mjs +1 -1
  709. package/node_modules/@azure/msal-node/dist/packageMetadata.mjs +2 -2
  710. package/node_modules/@azure/msal-node/dist/protocol/Authorize.mjs +1 -1
  711. package/node_modules/@azure/msal-node/dist/retry/DefaultManagedIdentityRetryPolicy.mjs +1 -1
  712. package/node_modules/@azure/msal-node/dist/retry/ExponentialRetryStrategy.mjs +1 -1
  713. package/node_modules/@azure/msal-node/dist/retry/ImdsRetryPolicy.mjs +1 -1
  714. package/node_modules/@azure/msal-node/dist/retry/LinearRetryStrategy.mjs +1 -1
  715. package/node_modules/@azure/msal-node/dist/utils/Constants.mjs +1 -1
  716. package/node_modules/@azure/msal-node/dist/utils/EncodingUtils.mjs +1 -1
  717. package/node_modules/@azure/msal-node/dist/utils/TimeUtils.mjs +1 -1
  718. package/node_modules/@azure/msal-node/lib/msal-node.cjs +87 -74
  719. package/node_modules/@azure/msal-node/lib/msal-node.cjs.map +1 -1
  720. package/node_modules/@azure/msal-node/package.json +2 -2
  721. package/node_modules/@azure/msal-node/src/packageMetadata.ts +1 -1
  722. package/node_modules/@azure/msal-node/types/packageMetadata.d.ts +1 -1
  723. package/node_modules/@types/node/README.md +1 -1
  724. package/node_modules/@types/node/http2.d.ts +3 -0
  725. package/node_modules/@types/node/package.json +2 -2
  726. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/clientHelpers.js +1 -1
  727. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/clientHelpers.js.map +1 -1
  728. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/common.d.ts +3 -2
  729. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/common.js.map +1 -1
  730. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/getClient.js +1 -1
  731. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/getClient.js.map +1 -1
  732. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/multipart.js +1 -1
  733. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/multipart.js.map +1 -1
  734. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/restError.js +5 -4
  735. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/restError.js.map +1 -1
  736. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/sendRequest.js +13 -10
  737. package/node_modules/@typespec/ts-http-runtime/dist/browser/client/sendRequest.js.map +1 -1
  738. package/node_modules/@typespec/ts-http-runtime/dist/browser/constants.js +1 -1
  739. package/node_modules/@typespec/ts-http-runtime/dist/browser/constants.js.map +1 -1
  740. package/node_modules/@typespec/ts-http-runtime/dist/browser/createPipelineFromOptions.d.ts +1 -1
  741. package/node_modules/@typespec/ts-http-runtime/dist/browser/createPipelineFromOptions.js +2 -21
  742. package/node_modules/@typespec/ts-http-runtime/dist/browser/createPipelineFromOptions.js.map +1 -1
  743. package/node_modules/@typespec/ts-http-runtime/dist/browser/{defaultHttpClient.d.ts → defaultHttpClient-browser.d.mts} +1 -1
  744. package/node_modules/@typespec/ts-http-runtime/dist/browser/{defaultHttpClient.js → defaultHttpClient-browser.mjs} +1 -1
  745. package/node_modules/@typespec/ts-http-runtime/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
  746. package/node_modules/@typespec/ts-http-runtime/dist/browser/encoding.d.ts +13 -0
  747. package/node_modules/@typespec/ts-http-runtime/dist/browser/encoding.js +19 -0
  748. package/node_modules/@typespec/ts-http-runtime/dist/browser/encoding.js.map +1 -0
  749. package/node_modules/@typespec/ts-http-runtime/dist/browser/{util/checkEnvironment.d.ts → env-browser.d.mts} +21 -1
  750. package/node_modules/@typespec/ts-http-runtime/dist/browser/{util/checkEnvironment.js → env-browser.mjs} +26 -12
  751. package/node_modules/@typespec/ts-http-runtime/dist/browser/env-browser.mjs.map +1 -0
  752. package/node_modules/@typespec/ts-http-runtime/dist/browser/formData-web.d.mts +9 -0
  753. package/node_modules/@typespec/ts-http-runtime/dist/browser/formData-web.mjs +12 -0
  754. package/node_modules/@typespec/ts-http-runtime/dist/browser/formData-web.mjs.map +1 -0
  755. package/node_modules/@typespec/ts-http-runtime/dist/browser/httpHeaders.js +11 -1
  756. package/node_modules/@typespec/ts-http-runtime/dist/browser/httpHeaders.js.map +1 -1
  757. package/node_modules/@typespec/ts-http-runtime/dist/browser/index.d.ts +3 -14
  758. package/node_modules/@typespec/ts-http-runtime/dist/browser/index.js +2 -2
  759. package/node_modules/@typespec/ts-http-runtime/dist/browser/index.js.map +1 -1
  760. package/node_modules/@typespec/ts-http-runtime/dist/browser/interfaces.d.ts +15 -14
  761. package/node_modules/@typespec/ts-http-runtime/dist/browser/interfaces.js.map +1 -1
  762. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/debug.js +3 -2
  763. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/debug.js.map +1 -1
  764. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/{log.d.ts → log-web.d.mts} +1 -1
  765. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/{log.js → log-web.mjs} +1 -1
  766. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/log-web.mjs.map +1 -0
  767. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/logger.js +2 -2
  768. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/logger.js.map +1 -1
  769. package/node_modules/@typespec/ts-http-runtime/dist/browser/pipelineRequest.js +1 -1
  770. package/node_modules/@typespec/ts-http-runtime/dist/browser/pipelineRequest.js.map +1 -1
  771. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/auth/basicAuthenticationPolicy.js +1 -1
  772. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  773. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/auth/checkInsecureConnection.js +3 -2
  774. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/auth/checkInsecureConnection.js.map +1 -1
  775. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/{decompressResponsePolicy.d.ts → decompressResponsePolicy-web.d.mts} +1 -1
  776. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/{decompressResponsePolicy.js → decompressResponsePolicy-web.mjs} +1 -1
  777. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/decompressResponsePolicy-web.mjs.map +1 -0
  778. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/formDataPolicy.js +5 -12
  779. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/formDataPolicy.js.map +1 -1
  780. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/internal.d.ts +2 -2
  781. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/internal.js +2 -2
  782. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/internal.js.map +1 -1
  783. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/multipartPolicy.js +7 -3
  784. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/multipartPolicy.js.map +1 -1
  785. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies-web.d.mts +10 -0
  786. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies-web.mjs +12 -0
  787. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies-web.mjs.map +1 -0
  788. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies.d.ts +25 -0
  789. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies.js +30 -0
  790. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/platformPolicies.js.map +1 -0
  791. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/proxyPolicy-web.d.mts +2 -0
  792. package/node_modules/@typespec/ts-http-runtime/dist/{react-native/policies/proxyPolicy.js → browser/policies/proxyPolicy-web.mjs} +1 -1
  793. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/proxyPolicy-web.mjs.map +1 -0
  794. package/node_modules/@typespec/ts-http-runtime/dist/browser/restError.js +1 -1
  795. package/node_modules/@typespec/ts-http-runtime/dist/browser/restError.js.map +1 -1
  796. package/node_modules/@typespec/ts-http-runtime/dist/browser/types-browser.d.mts +19 -0
  797. package/node_modules/@typespec/ts-http-runtime/dist/browser/types-browser.mjs +4 -0
  798. package/node_modules/@typespec/ts-http-runtime/dist/browser/types-browser.mjs.map +1 -0
  799. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding-web.d.mts +2 -0
  800. package/node_modules/@typespec/ts-http-runtime/dist/{react-native/util/bytesEncoding.js → browser/util/bytesEncoding-web.mjs} +1 -1
  801. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding-web.mjs.map +1 -0
  802. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding.common.d.ts +4 -4
  803. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding.common.js +3 -4
  804. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding.common.js.map +1 -1
  805. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/concat-browser.d.mts +16 -0
  806. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/{concat.js → concat-browser.mjs} +4 -11
  807. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/concat-browser.mjs.map +1 -0
  808. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/inspect-web.d.mts +2 -0
  809. package/node_modules/@typespec/ts-http-runtime/dist/{react-native/util/inspect.js → browser/util/inspect-web.mjs} +1 -1
  810. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/inspect-web.mjs.map +1 -0
  811. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/internal.d.ts +4 -4
  812. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/internal.js +4 -4
  813. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/internal.js.map +1 -1
  814. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256-web.d.mts +2 -0
  815. package/node_modules/@typespec/ts-http-runtime/dist/{react-native/util/sha256.js → browser/util/sha256-web.mjs} +1 -1
  816. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256-web.mjs.map +1 -0
  817. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256.common.js +1 -1
  818. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256.common.js.map +1 -1
  819. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards-browser.d.mts +14 -0
  820. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards-browser.mjs +26 -0
  821. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards-browser.mjs.map +1 -0
  822. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards.d.ts +5 -4
  823. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards.js +4 -10
  824. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/typeGuards.js.map +1 -1
  825. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgent.d.ts +2 -0
  826. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgent.js +2 -1
  827. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgent.js.map +1 -1
  828. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgentPlatform-browser.d.mts +37 -0
  829. package/node_modules/{@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform.js → @typespec/ts-http-runtime/dist/browser/util/userAgentPlatform-browser.mjs} +10 -11
  830. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
  831. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/{uuidUtils.d.ts → uuidUtils-browser.d.mts} +1 -1
  832. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/{uuidUtils.js → uuidUtils-browser.mjs} +1 -1
  833. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/uuidUtils-browser.mjs.map +1 -0
  834. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js +2 -2
  835. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/clientHelpers.js.map +2 -2
  836. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/common.d.ts +3 -2
  837. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/common.js.map +1 -1
  838. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js +3 -3
  839. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/getClient.js.map +2 -2
  840. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/multipart.js.map +1 -1
  841. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js +5 -4
  842. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/restError.js.map +2 -2
  843. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js +26 -8
  844. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/client/sendRequest.js.map +2 -2
  845. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js +1 -1
  846. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/constants.js.map +1 -1
  847. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.d.ts +1 -1
  848. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js +2 -19
  849. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/createPipelineFromOptions.js.map +2 -2
  850. package/node_modules/@typespec/ts-http-runtime/dist/{react-native/util/checkEnvironment.d.ts → commonjs/env.d.ts} +21 -1
  851. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/env.js +67 -0
  852. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/env.js.map +7 -0
  853. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/formData.d.ts +10 -0
  854. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/{util/arrayBuffer.js → formData.js} +19 -14
  855. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/formData.js.map +7 -0
  856. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js +4 -1
  857. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/httpHeaders.js.map +2 -2
  858. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/index.d.ts +1 -12
  859. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js +2 -2
  860. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/index.js.map +2 -2
  861. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/interfaces.d.ts +15 -14
  862. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/interfaces.js.map +1 -1
  863. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js +2 -1
  864. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/debug.js.map +2 -2
  865. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js +2 -1
  866. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/logger.js.map +2 -2
  867. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js +3 -1
  868. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/nodeHttpClient.js.map +2 -2
  869. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js +2 -2
  870. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/pipelineRequest.js.map +2 -2
  871. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  872. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js +3 -2
  873. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/auth/checkInsecureConnection.js.map +2 -2
  874. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js +4 -11
  875. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/formDataPolicy.js.map +2 -2
  876. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.d.ts +1 -1
  877. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js +7 -7
  878. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/internal.js.map +2 -2
  879. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js +2 -2
  880. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/multipartPolicy.js.map +2 -2
  881. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/platformPolicies.d.ts +25 -0
  882. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/platformPolicies.js +43 -0
  883. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/platformPolicies.js.map +7 -0
  884. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/restError.js.map +1 -1
  885. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/tsdoc-metadata.json +1 -1
  886. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/types.d.ts +19 -0
  887. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/types.js +16 -0
  888. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/types.js.map +7 -0
  889. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.d.ts +1 -1
  890. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/concat.js.map +2 -2
  891. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.d.ts +1 -1
  892. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js +10 -10
  893. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/internal.js.map +2 -2
  894. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards-node.d.ts +13 -0
  895. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/{logger/log.common.js → util/typeGuards-node.js} +14 -21
  896. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards-node.js.map +7 -0
  897. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.d.ts +5 -4
  898. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js +6 -13
  899. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/typeGuards.js.map +2 -2
  900. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.d.ts +2 -0
  901. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js +7 -5
  902. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/userAgent.js.map +2 -2
  903. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/clientHelpers.js.map +1 -1
  904. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/common.d.ts +3 -2
  905. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/common.js.map +1 -1
  906. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/getClient.js +1 -1
  907. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/getClient.js.map +1 -1
  908. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/multipart.js.map +1 -1
  909. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/restError.js +5 -4
  910. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/restError.js.map +1 -1
  911. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/sendRequest.js +13 -10
  912. package/node_modules/@typespec/ts-http-runtime/dist/esm/client/sendRequest.js.map +1 -1
  913. package/node_modules/@typespec/ts-http-runtime/dist/esm/constants.js +1 -1
  914. package/node_modules/@typespec/ts-http-runtime/dist/esm/constants.js.map +1 -1
  915. package/node_modules/@typespec/ts-http-runtime/dist/esm/createPipelineFromOptions.d.ts +1 -1
  916. package/node_modules/@typespec/ts-http-runtime/dist/esm/createPipelineFromOptions.js +2 -21
  917. package/node_modules/@typespec/ts-http-runtime/dist/esm/createPipelineFromOptions.js.map +1 -1
  918. package/node_modules/@typespec/ts-http-runtime/dist/{commonjs/util/checkEnvironment.d.ts → esm/env.d.ts} +21 -1
  919. package/node_modules/@typespec/ts-http-runtime/dist/esm/env.js +48 -0
  920. package/node_modules/@typespec/ts-http-runtime/dist/esm/env.js.map +1 -0
  921. package/node_modules/@typespec/ts-http-runtime/dist/esm/formData.d.ts +10 -0
  922. package/node_modules/@typespec/ts-http-runtime/dist/esm/formData.js +26 -0
  923. package/node_modules/@typespec/ts-http-runtime/dist/esm/formData.js.map +1 -0
  924. package/node_modules/@typespec/ts-http-runtime/dist/esm/httpHeaders.js +11 -1
  925. package/node_modules/@typespec/ts-http-runtime/dist/esm/httpHeaders.js.map +1 -1
  926. package/node_modules/@typespec/ts-http-runtime/dist/esm/index.d.ts +1 -12
  927. package/node_modules/@typespec/ts-http-runtime/dist/esm/index.js.map +1 -1
  928. package/node_modules/@typespec/ts-http-runtime/dist/esm/interfaces.d.ts +15 -14
  929. package/node_modules/@typespec/ts-http-runtime/dist/esm/interfaces.js.map +1 -1
  930. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/debug.js +2 -1
  931. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/debug.js.map +1 -1
  932. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/logger.js +2 -2
  933. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/logger.js.map +1 -1
  934. package/node_modules/@typespec/ts-http-runtime/dist/esm/nodeHttpClient.js +3 -1
  935. package/node_modules/@typespec/ts-http-runtime/dist/esm/nodeHttpClient.js.map +1 -1
  936. package/node_modules/@typespec/ts-http-runtime/dist/esm/pipelineRequest.js.map +1 -1
  937. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  938. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/auth/checkInsecureConnection.js +3 -2
  939. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/auth/checkInsecureConnection.js.map +1 -1
  940. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/formDataPolicy.js +4 -11
  941. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/formDataPolicy.js.map +1 -1
  942. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/internal.d.ts +1 -1
  943. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/internal.js +1 -1
  944. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/internal.js.map +1 -1
  945. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/multipartPolicy.js +4 -0
  946. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/multipartPolicy.js.map +1 -1
  947. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/platformPolicies.d.ts +25 -0
  948. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/platformPolicies.js +30 -0
  949. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/platformPolicies.js.map +1 -0
  950. package/node_modules/@typespec/ts-http-runtime/dist/esm/restError.js.map +1 -1
  951. package/node_modules/@typespec/ts-http-runtime/dist/esm/types.d.ts +19 -0
  952. package/node_modules/@typespec/ts-http-runtime/dist/esm/types.js +4 -0
  953. package/node_modules/@typespec/ts-http-runtime/dist/esm/types.js.map +1 -0
  954. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/concat.d.ts +1 -1
  955. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/concat.js.map +1 -1
  956. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/internal.d.ts +1 -1
  957. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/internal.js +1 -1
  958. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/internal.js.map +1 -1
  959. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards-node.d.ts +13 -0
  960. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards-node.js +20 -0
  961. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards-node.js.map +1 -0
  962. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards.d.ts +5 -4
  963. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards.js +4 -10
  964. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards.js.map +1 -1
  965. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/userAgent.d.ts +2 -0
  966. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/userAgent.js +1 -0
  967. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/userAgent.js.map +1 -1
  968. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/clientHelpers.js +1 -1
  969. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/clientHelpers.js.map +1 -1
  970. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/common.d.ts +3 -2
  971. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/common.js.map +1 -1
  972. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/getClient.js +1 -1
  973. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/getClient.js.map +1 -1
  974. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/multipart.js +1 -1
  975. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/multipart.js.map +1 -1
  976. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/restError.js +5 -4
  977. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/restError.js.map +1 -1
  978. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/sendRequest.js +13 -10
  979. package/node_modules/@typespec/ts-http-runtime/dist/react-native/client/sendRequest.js.map +1 -1
  980. package/node_modules/@typespec/ts-http-runtime/dist/react-native/constants.js +1 -1
  981. package/node_modules/@typespec/ts-http-runtime/dist/react-native/constants.js.map +1 -1
  982. package/node_modules/@typespec/ts-http-runtime/dist/react-native/createPipelineFromOptions.d.ts +1 -1
  983. package/node_modules/@typespec/ts-http-runtime/dist/react-native/createPipelineFromOptions.js +2 -21
  984. package/node_modules/@typespec/ts-http-runtime/dist/react-native/createPipelineFromOptions.js.map +1 -1
  985. package/node_modules/@typespec/ts-http-runtime/dist/react-native/{defaultHttpClient.d.ts → defaultHttpClient-react-native.d.mts} +1 -1
  986. package/node_modules/@typespec/ts-http-runtime/dist/react-native/{defaultHttpClient.js → defaultHttpClient-react-native.mjs} +1 -1
  987. package/node_modules/@typespec/ts-http-runtime/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
  988. package/node_modules/@typespec/ts-http-runtime/dist/react-native/encoding-react-native.d.mts +21 -0
  989. package/node_modules/@typespec/ts-http-runtime/dist/react-native/encoding-react-native.mjs +25 -0
  990. package/node_modules/@typespec/ts-http-runtime/dist/react-native/encoding-react-native.mjs.map +1 -0
  991. package/node_modules/@typespec/ts-http-runtime/dist/{esm/util/checkEnvironment.d.ts → react-native/env-react-native.d.mts} +21 -1
  992. package/node_modules/@typespec/ts-http-runtime/dist/react-native/env-react-native.mjs +50 -0
  993. package/node_modules/@typespec/ts-http-runtime/dist/react-native/env-react-native.mjs.map +1 -0
  994. package/node_modules/@typespec/ts-http-runtime/dist/react-native/formData-web.d.mts +9 -0
  995. package/node_modules/@typespec/ts-http-runtime/dist/react-native/formData-web.mjs +12 -0
  996. package/node_modules/@typespec/ts-http-runtime/dist/react-native/formData-web.mjs.map +1 -0
  997. package/node_modules/@typespec/ts-http-runtime/dist/react-native/httpHeaders.js +11 -1
  998. package/node_modules/@typespec/ts-http-runtime/dist/react-native/httpHeaders.js.map +1 -1
  999. package/node_modules/@typespec/ts-http-runtime/dist/react-native/index.d.ts +3 -14
  1000. package/node_modules/@typespec/ts-http-runtime/dist/react-native/index.js +2 -2
  1001. package/node_modules/@typespec/ts-http-runtime/dist/react-native/index.js.map +1 -1
  1002. package/node_modules/@typespec/ts-http-runtime/dist/react-native/interfaces.d.ts +15 -14
  1003. package/node_modules/@typespec/ts-http-runtime/dist/react-native/interfaces.js.map +1 -1
  1004. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/debug.js +3 -2
  1005. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/debug.js.map +1 -1
  1006. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/{log.d.ts → log-web.d.mts} +1 -1
  1007. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/{log.js → log-web.mjs} +1 -1
  1008. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/log-web.mjs.map +1 -0
  1009. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/logger.js +2 -2
  1010. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/logger.js.map +1 -1
  1011. package/node_modules/@typespec/ts-http-runtime/dist/react-native/pipelineRequest.js +1 -1
  1012. package/node_modules/@typespec/ts-http-runtime/dist/react-native/pipelineRequest.js.map +1 -1
  1013. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/auth/basicAuthenticationPolicy.js +1 -1
  1014. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/auth/basicAuthenticationPolicy.js.map +1 -1
  1015. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/auth/checkInsecureConnection.js +3 -2
  1016. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/auth/checkInsecureConnection.js.map +1 -1
  1017. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy-web.d.mts +8 -0
  1018. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy-web.mjs +11 -0
  1019. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy-web.mjs.map +1 -0
  1020. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/formDataPolicy.js +5 -12
  1021. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/formDataPolicy.js.map +1 -1
  1022. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/internal.d.ts +2 -2
  1023. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/internal.js +2 -2
  1024. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/internal.js.map +1 -1
  1025. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/multipartPolicy.js +7 -3
  1026. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/multipartPolicy.js.map +1 -1
  1027. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies-web.d.mts +10 -0
  1028. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies-web.mjs +12 -0
  1029. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies-web.mjs.map +1 -0
  1030. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies.d.ts +25 -0
  1031. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies.js +30 -0
  1032. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/platformPolicies.js.map +1 -0
  1033. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/proxyPolicy-web.d.mts +2 -0
  1034. package/node_modules/@typespec/ts-http-runtime/dist/{browser/policies/proxyPolicy.js → react-native/policies/proxyPolicy-web.mjs} +1 -1
  1035. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/proxyPolicy-web.mjs.map +1 -0
  1036. package/node_modules/@typespec/ts-http-runtime/dist/react-native/restError.js +1 -1
  1037. package/node_modules/@typespec/ts-http-runtime/dist/react-native/restError.js.map +1 -1
  1038. package/node_modules/@typespec/ts-http-runtime/dist/react-native/types-react-native.d.mts +19 -0
  1039. package/node_modules/@typespec/ts-http-runtime/dist/react-native/types-react-native.mjs +4 -0
  1040. package/node_modules/@typespec/ts-http-runtime/dist/react-native/types-react-native.mjs.map +1 -0
  1041. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding-web.d.mts +2 -0
  1042. package/node_modules/@typespec/ts-http-runtime/dist/{browser/util/bytesEncoding.js → react-native/util/bytesEncoding-web.mjs} +1 -1
  1043. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding-web.mjs.map +1 -0
  1044. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding.common.d.ts +4 -4
  1045. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding.common.js +3 -4
  1046. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding.common.js.map +1 -1
  1047. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/{concat.d.ts → concat-react-native.d.mts} +10 -3
  1048. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/{concat.js → concat-react-native.mjs} +2 -2
  1049. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/concat-react-native.mjs.map +1 -0
  1050. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/inspect-web.d.mts +2 -0
  1051. package/node_modules/@typespec/ts-http-runtime/dist/{browser/util/inspect.js → react-native/util/inspect-web.mjs} +1 -1
  1052. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/inspect-web.mjs.map +1 -0
  1053. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/internal.d.ts +4 -4
  1054. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/internal.js +4 -4
  1055. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/internal.js.map +1 -1
  1056. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256-web.d.mts +2 -0
  1057. package/node_modules/@typespec/ts-http-runtime/dist/{browser/util/sha256.js → react-native/util/sha256-web.mjs} +1 -1
  1058. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256-web.mjs.map +1 -0
  1059. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256.common.js +1 -1
  1060. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256.common.js.map +1 -1
  1061. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards-react-native.d.mts +16 -0
  1062. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards-react-native.mjs +34 -0
  1063. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards-react-native.mjs.map +1 -0
  1064. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards.d.ts +5 -4
  1065. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards.js +4 -10
  1066. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/typeGuards.js.map +1 -1
  1067. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/userAgent.d.ts +2 -0
  1068. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/userAgent.js +2 -1
  1069. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/userAgent.js.map +1 -1
  1070. package/node_modules/{@azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform.d.ts → @typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform-react-native.d.mts} +1 -1
  1071. package/node_modules/{@azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform.js → @typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform-react-native.mjs} +1 -1
  1072. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
  1073. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/uuidUtils-react-native.d.mts +2 -0
  1074. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/{uuidUtils.js → uuidUtils-react-native.mjs} +1 -1
  1075. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
  1076. package/node_modules/@typespec/ts-http-runtime/package.json +94 -8
  1077. package/node_modules/semver/classes/semver.js +19 -2
  1078. package/node_modules/semver/package.json +1 -1
  1079. package/npm-shrinkwrap.json +29 -29
  1080. package/package.json +4 -4
  1081. package/dist/contract-api.js +0 -2
  1082. package/dist/secret-contract-CSs7JYzG.js +0 -35
  1083. package/node_modules/@azure/core-client/dist/browser/base64-browser.mjs.map +0 -1
  1084. package/node_modules/@azure/core-client/dist/browser/state-browser.mjs.map +0 -1
  1085. package/node_modules/@azure/core-client/dist/commonjs/state-cjs.cjs.map +0 -1
  1086. package/node_modules/@azure/core-client/dist/commonjs/state.d.ts +0 -7
  1087. package/node_modules/@azure/core-client/dist/react-native/state.d.ts +0 -8
  1088. package/node_modules/@azure/core-client/dist/react-native/state.js +0 -10
  1089. package/node_modules/@azure/core-client/dist/react-native/state.js.map +0 -1
  1090. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform.d.ts +0 -9
  1091. package/node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform.js.map +0 -1
  1092. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/userAgentPlatform.js.map +0 -1
  1093. package/node_modules/@azure/core-rest-pipeline/dist/react-native/util/wrapAbortSignal.js.map +0 -1
  1094. package/node_modules/@azure/msal-common/lib/index-node-9_Gz5QUk.js.map +0 -1
  1095. package/node_modules/@typespec/ts-http-runtime/dist/browser/defaultHttpClient.js.map +0 -1
  1096. package/node_modules/@typespec/ts-http-runtime/dist/browser/logger/log.js.map +0 -1
  1097. package/node_modules/@typespec/ts-http-runtime/dist/browser/nodeHttpClient.d.ts +0 -9
  1098. package/node_modules/@typespec/ts-http-runtime/dist/browser/nodeHttpClient.js +0 -347
  1099. package/node_modules/@typespec/ts-http-runtime/dist/browser/nodeHttpClient.js.map +0 -1
  1100. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/decompressResponsePolicy.js.map +0 -1
  1101. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/proxyPolicy.d.ts +0 -2
  1102. package/node_modules/@typespec/ts-http-runtime/dist/browser/policies/proxyPolicy.js.map +0 -1
  1103. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding.d.ts +0 -2
  1104. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/bytesEncoding.js.map +0 -1
  1105. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/checkEnvironment.js.map +0 -1
  1106. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/concat.d.ts +0 -17
  1107. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/concat.js.map +0 -1
  1108. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/inspect.d.ts +0 -2
  1109. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/inspect.js.map +0 -1
  1110. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256.d.ts +0 -2
  1111. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/sha256.js.map +0 -1
  1112. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/userAgentPlatform.js.map +0 -1
  1113. package/node_modules/@typespec/ts-http-runtime/dist/browser/util/uuidUtils.js.map +0 -1
  1114. package/node_modules/@typespec/ts-http-runtime/dist/browser/xhrHttpClient.d.ts +0 -7
  1115. package/node_modules/@typespec/ts-http-runtime/dist/browser/xhrHttpClient.js +0 -174
  1116. package/node_modules/@typespec/ts-http-runtime/dist/browser/xhrHttpClient.js.map +0 -1
  1117. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/fetchHttpClient.d.ts +0 -12
  1118. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/fetchHttpClient.js +0 -238
  1119. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/fetchHttpClient.js.map +0 -7
  1120. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.common.d.ts +0 -2
  1121. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/logger/log.common.js.map +0 -7
  1122. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -19
  1123. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.common.js +0 -44
  1124. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/policies/proxyPolicy.common.js.map +0 -7
  1125. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/arrayBuffer.d.ts +0 -7
  1126. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/arrayBuffer.js.map +0 -7
  1127. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.common.d.ts +0 -61
  1128. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.common.js +0 -106
  1129. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/bytesEncoding.common.js.map +0 -7
  1130. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js +0 -46
  1131. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/checkEnvironment.js.map +0 -7
  1132. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.common.d.ts +0 -2
  1133. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/inspect.common.js.map +0 -7
  1134. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.common.d.ts +0 -14
  1135. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.common.js +0 -70
  1136. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/sha256.common.js.map +0 -7
  1137. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.common.d.ts +0 -13
  1138. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.common.js +0 -49
  1139. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/util/uuidUtils.common.js.map +0 -7
  1140. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/xhrHttpClient.d.ts +0 -7
  1141. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/xhrHttpClient.js +0 -186
  1142. package/node_modules/@typespec/ts-http-runtime/dist/commonjs/xhrHttpClient.js.map +0 -7
  1143. package/node_modules/@typespec/ts-http-runtime/dist/esm/fetchHttpClient.d.ts +0 -12
  1144. package/node_modules/@typespec/ts-http-runtime/dist/esm/fetchHttpClient.js +0 -279
  1145. package/node_modules/@typespec/ts-http-runtime/dist/esm/fetchHttpClient.js.map +0 -1
  1146. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/log.common.d.ts +0 -2
  1147. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/log.common.js +0 -23
  1148. package/node_modules/@typespec/ts-http-runtime/dist/esm/logger/log.common.js.map +0 -1
  1149. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/proxyPolicy.common.d.ts +0 -19
  1150. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/proxyPolicy.common.js +0 -24
  1151. package/node_modules/@typespec/ts-http-runtime/dist/esm/policies/proxyPolicy.common.js.map +0 -1
  1152. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/arrayBuffer.d.ts +0 -7
  1153. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/arrayBuffer.js +0 -20
  1154. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/arrayBuffer.js.map +0 -1
  1155. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/bytesEncoding.common.d.ts +0 -61
  1156. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/bytesEncoding.common.js +0 -110
  1157. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/bytesEncoding.common.js.map +0 -1
  1158. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/checkEnvironment.js +0 -41
  1159. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/checkEnvironment.js.map +0 -1
  1160. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/inspect.common.d.ts +0 -2
  1161. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/inspect.common.js +0 -4
  1162. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/inspect.common.js.map +0 -1
  1163. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/sha256.common.d.ts +0 -14
  1164. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/sha256.common.js +0 -49
  1165. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/sha256.common.js.map +0 -1
  1166. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/uuidUtils.common.d.ts +0 -13
  1167. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/uuidUtils.common.js +0 -40
  1168. package/node_modules/@typespec/ts-http-runtime/dist/esm/util/uuidUtils.common.js.map +0 -1
  1169. package/node_modules/@typespec/ts-http-runtime/dist/esm/xhrHttpClient.d.ts +0 -7
  1170. package/node_modules/@typespec/ts-http-runtime/dist/esm/xhrHttpClient.js +0 -174
  1171. package/node_modules/@typespec/ts-http-runtime/dist/esm/xhrHttpClient.js.map +0 -1
  1172. package/node_modules/@typespec/ts-http-runtime/dist/react-native/defaultHttpClient.js.map +0 -1
  1173. package/node_modules/@typespec/ts-http-runtime/dist/react-native/fetchHttpClient.d.ts +0 -12
  1174. package/node_modules/@typespec/ts-http-runtime/dist/react-native/fetchHttpClient.js +0 -279
  1175. package/node_modules/@typespec/ts-http-runtime/dist/react-native/fetchHttpClient.js.map +0 -1
  1176. package/node_modules/@typespec/ts-http-runtime/dist/react-native/logger/log.js.map +0 -1
  1177. package/node_modules/@typespec/ts-http-runtime/dist/react-native/nodeHttpClient.d.ts +0 -9
  1178. package/node_modules/@typespec/ts-http-runtime/dist/react-native/nodeHttpClient.js +0 -347
  1179. package/node_modules/@typespec/ts-http-runtime/dist/react-native/nodeHttpClient.js.map +0 -1
  1180. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy.d.ts +0 -11
  1181. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy.js +0 -23
  1182. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/decompressResponsePolicy.js.map +0 -1
  1183. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/proxyPolicy.d.ts +0 -2
  1184. package/node_modules/@typespec/ts-http-runtime/dist/react-native/policies/proxyPolicy.js.map +0 -1
  1185. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding.d.ts +0 -2
  1186. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/bytesEncoding.js.map +0 -1
  1187. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/checkEnvironment.js +0 -41
  1188. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/checkEnvironment.js.map +0 -1
  1189. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/concat.js.map +0 -1
  1190. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/inspect.d.ts +0 -2
  1191. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/inspect.js.map +0 -1
  1192. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256.d.ts +0 -2
  1193. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/sha256.js.map +0 -1
  1194. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/userAgentPlatform.js.map +0 -1
  1195. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/uuidUtils.d.ts +0 -2
  1196. package/node_modules/@typespec/ts-http-runtime/dist/react-native/util/uuidUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type { OperationTracingOptions } from \"@azure/core-tracing\";\nimport type { HttpMethods } from \"@azure/core-util\";\n\n/**\n * A HttpHeaders collection represented as a simple JSON object.\n */\nexport type RawHttpHeaders = { [headerName: string]: string };\n\n/**\n * A HttpHeaders collection for input, represented as a simple JSON object.\n */\nexport type RawHttpHeadersInput = Record<string, string | number | boolean>;\n\n/**\n * Represents a set of HTTP headers on a request/response.\n * Header names are treated as case insensitive.\n */\nexport interface HttpHeaders extends Iterable<[string, string]> {\n /**\n * Returns the value of a specific header or undefined if not set.\n * @param name - The name of the header to retrieve.\n */\n get(name: string): string | undefined;\n /**\n * Returns true if the specified header exists.\n * @param name - The name of the header to check.\n */\n has(name: string): boolean;\n /**\n * Sets a specific header with a given value.\n * @param name - The name of the header to set.\n * @param value - The value to use for the header.\n */\n set(name: string, value: string | number | boolean): void;\n /**\n * Removes a specific header from the collection.\n * @param name - The name of the header to delete.\n */\n delete(name: string): void;\n /**\n * Accesses a raw JS object that acts as a simple map\n * of header names to values.\n */\n toJSON(options?: { preserveCase?: boolean }): RawHttpHeaders;\n}\n\n/**\n * A part of the request body in a multipart request.\n */\nexport interface BodyPart {\n /**\n * The headers for this part of the multipart request.\n */\n headers: HttpHeaders;\n\n /**\n * The body of this part of the multipart request.\n */\n body:\n | ((() => ReadableStream<Uint8Array>) | (() => NodeJS.ReadableStream))\n | ReadableStream<Uint8Array>\n | NodeJS.ReadableStream\n | Uint8Array\n | Blob;\n}\n\n/**\n * A request body consisting of multiple parts.\n */\nexport interface MultipartRequestBody {\n /**\n * The parts of the request body.\n */\n parts: BodyPart[];\n\n /**\n * The boundary separating each part of the request body.\n * If not specified, a random boundary will be generated.\n *\n * When specified, '--' will be prepended to the boundary in the request to ensure the boundary follows the specification.\n */\n boundary?: string;\n}\n\n/**\n * Types of bodies supported on the request.\n * NodeJS.ReadableStream and () =\\> NodeJS.ReadableStream is Node only.\n * Blob, ReadableStream<Uint8Array>, and () =\\> ReadableStream<Uint8Array> are browser only.\n */\nexport type RequestBodyType =\n | NodeJS.ReadableStream\n | (() => NodeJS.ReadableStream)\n | ReadableStream<Uint8Array>\n | (() => ReadableStream<Uint8Array>)\n | Blob\n | ArrayBuffer\n | ArrayBufferView\n | FormData\n | string\n | null;\n\n/**\n * An interface compatible with NodeJS's `http.Agent`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface Agent {\n /**\n * Destroy any sockets that are currently in use by the agent.\n */\n destroy(): void;\n /**\n * For agents with keepAlive enabled, this sets the maximum number of sockets that will be left open in the free state.\n */\n maxFreeSockets: number;\n /**\n * Determines how many concurrent sockets the agent can have open per origin.\n */\n maxSockets: number;\n /**\n * An object which contains queues of requests that have not yet been assigned to sockets.\n */\n requests: unknown;\n /**\n * An object which contains arrays of sockets currently in use by the agent.\n */\n sockets: unknown;\n}\n\n/**\n * Metadata about a request being made by the pipeline.\n */\nexport interface PipelineRequest {\n /**\n * The URL to make the request to.\n */\n url: string;\n\n /**\n * The HTTP method to use when making the request.\n */\n method: HttpMethods;\n\n /**\n * The HTTP headers to use when making the request.\n */\n headers: HttpHeaders;\n\n /**\n * The number of milliseconds a request can take before automatically being terminated.\n * If the request is terminated, an `AbortError` is thrown.\n * Defaults to 0, which disables the timeout.\n */\n timeout: number;\n\n /**\n * Indicates whether the user agent should send cookies from the other domain in the case of cross-origin requests.\n * Defaults to false.\n */\n withCredentials: boolean;\n\n /**\n * A unique identifier for the request. Used for logging and tracing.\n */\n requestId: string;\n\n /**\n * The HTTP body content (if any)\n */\n body?: RequestBodyType;\n\n /**\n * Body for a multipart request.\n */\n multipartBody?: MultipartRequestBody;\n\n /**\n * To simulate a browser form post\n */\n formData?: FormDataMap;\n\n /**\n * A list of response status codes whose corresponding PipelineResponse body should be treated as a stream.\n * When streamResponseStatusCodes contains the value Number.POSITIVE_INFINITY any status would be treated as a stream.\n */\n streamResponseStatusCodes?: Set<number>;\n\n /**\n * Proxy configuration.\n */\n proxySettings?: ProxySettings;\n\n /**\n * If the connection should not be reused.\n */\n disableKeepAlive?: boolean;\n\n /**\n * Used to abort the request later.\n */\n abortSignal?: AbortSignalLike;\n\n /**\n * Tracing options to use for any created Spans.\n */\n tracingOptions?: OperationTracingOptions;\n\n /**\n * Callback which fires upon upload progress.\n */\n onUploadProgress?: (progress: TransferProgressEvent) => void;\n\n /** Callback which fires upon download progress. */\n onDownloadProgress?: (progress: TransferProgressEvent) => void;\n\n /** Set to true if the request is sent over HTTP instead of HTTPS */\n allowInsecureConnection?: boolean;\n\n /**\n * NODEJS ONLY\n *\n * A Node-only option to provide a custom `http.Agent`/`https.Agent`.\n * Does nothing when running in the browser.\n */\n agent?: Agent;\n\n /**\n * BROWSER ONLY\n *\n * A browser only option to enable browser Streams. If this option is set and a response is a stream\n * the response will have a property `browserStream` instead of `blobBody` which will be undefined.\n *\n * Default value is false\n */\n enableBrowserStreams?: boolean;\n\n /** Settings for configuring TLS authentication */\n tlsSettings?: TlsSettings;\n\n /**\n * Additional options to set on the request. This provides a way to override\n * existing ones or provide request properties that are not declared.\n *\n * For possible valid properties, see\n * - NodeJS https.request options: https://nodejs.org/api/http.html#httprequestoptions-callback\n * - Browser RequestInit: https://developer.mozilla.org/en-US/docs/Web/API/RequestInit\n *\n * WARNING: Options specified here will override any properties of same names when request is sent by {@link HttpClient}.\n */\n requestOverrides?: Record<string, unknown>;\n}\n\n/**\n * Metadata about a response received by the pipeline.\n */\nexport interface PipelineResponse {\n /**\n * The request that generated this response.\n */\n request: PipelineRequest;\n /**\n * The HTTP status code of the response.\n */\n status: number;\n /**\n * The HTTP response headers.\n */\n headers: HttpHeaders;\n\n /**\n * The response body as text (string format)\n */\n bodyAsText?: string | null;\n\n /**\n * BROWSER ONLY\n *\n * The response body as a browser Blob.\n * Always undefined in node.js.\n */\n blobBody?: Promise<Blob>;\n\n /**\n * BROWSER ONLY\n *\n * The response body as a browser ReadableStream.\n * Always undefined in node.js.\n */\n browserStreamBody?: ReadableStream<Uint8Array>;\n\n /**\n * NODEJS ONLY\n *\n * The response body as a node.js Readable stream.\n * Always undefined in the browser.\n */\n readableStreamBody?: NodeJS.ReadableStream;\n}\n\n/**\n * A simple interface for making a pipeline request and receiving a response.\n */\nexport type SendRequest = (request: PipelineRequest) => Promise<PipelineResponse>;\n\n/**\n * The required interface for a client that makes HTTP requests\n * on behalf of a pipeline.\n */\nexport interface HttpClient {\n /**\n * The method that makes the request and returns a response.\n */\n sendRequest: SendRequest;\n}\n\n/**\n * Fired in response to upload or download progress.\n */\nexport type TransferProgressEvent = {\n /**\n * The number of bytes loaded so far.\n */\n loadedBytes: number;\n};\n\n/**\n * Options to configure a proxy for outgoing requests (Node.js only).\n */\nexport interface ProxySettings {\n /**\n * The proxy's host address.\n * Must include the protocol (e.g., http:// or https://).\n */\n host: string;\n\n /**\n * The proxy host's port.\n */\n port: number;\n\n /**\n * The user name to authenticate with the proxy, if required.\n */\n username?: string;\n\n /**\n * The password to authenticate with the proxy, if required.\n */\n password?: string;\n}\n\n/**\n * Each form data entry can be a string, Blob, or a File. If you wish to pass a file with a name but do not have\n * access to the File class, you can use the createFile helper to create one.\n */\nexport type FormDataValue = string | Blob | File;\n\n/**\n * A simple object that provides form data, as if from a browser form.\n */\nexport type FormDataMap = { [key: string]: FormDataValue | FormDataValue[] };\n\n/**\n * Options that control how to retry failed requests.\n */\nexport interface PipelineRetryOptions {\n /**\n * The maximum number of retry attempts. Defaults to 3.\n */\n maxRetries?: number;\n\n /**\n * The amount of delay in milliseconds between retry attempts. Defaults to 1000\n * (1 second). The delay increases exponentially with each retry up to a maximum\n * specified by maxRetryDelayInMs.\n */\n retryDelayInMs?: number;\n\n /**\n * The maximum delay in milliseconds allowed before retrying an operation. Defaults\n * to 64000 (64 seconds).\n */\n maxRetryDelayInMs?: number;\n}\n\n/**\n * Represents a certificate credential for authentication.\n */\nexport interface CertificateCredential {\n /**\n * Optionally override the trusted CA certificates. Default is to trust\n * the well-known CAs curated by Mozilla. Mozilla's CAs are completely\n * replaced when CAs are explicitly specified using this option.\n */\n ca?: string | Buffer | Array<string | Buffer> | undefined;\n /**\n * Cert chains in PEM format. One cert chain should be provided per\n * private key. Each cert chain should consist of the PEM formatted\n * certificate for a provided private key, followed by the PEM\n * formatted intermediate certificates (if any), in order, and not\n * including the root CA (the root CA must be pre-known to the peer,\n * see ca). When providing multiple cert chains, they do not have to\n * be in the same order as their private keys in key. If the\n * intermediate certificates are not provided, the peer will not be\n * able to validate the certificate, and the handshake will fail.\n */\n cert?: string | Buffer | Array<string | Buffer> | undefined;\n /**\n * Private keys in PEM format. PEM allows the option of private keys\n * being encrypted. Encrypted keys will be decrypted with\n * options.passphrase. Multiple keys using different algorithms can be\n * provided either as an array of unencrypted key strings or buffers,\n * or an array of objects in the form `{pem: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n key?: string | Buffer | Array<Buffer | KeyObject> | undefined;\n /**\n * Shared passphrase used for a single private key and/or a PFX.\n */\n passphrase?: string | undefined;\n /**\n * PFX or PKCS12 encoded private key and certificate chain. pfx is an\n * alternative to providing key and cert individually. PFX is usually\n * encrypted, if it is, passphrase will be used to decrypt it. Multiple\n * PFX can be provided either as an array of unencrypted PFX buffers,\n * or an array of objects in the form `{buf: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n pfx?: string | Buffer | Array<string | Buffer | PxfObject> | undefined;\n}\n\n/**\n * Represents a certificate for TLS authentication.\n */\nexport interface TlsSettings {\n /**\n * Optionally override the trusted CA certificates. Default is to trust\n * the well-known CAs curated by Mozilla. Mozilla's CAs are completely\n * replaced when CAs are explicitly specified using this option.\n */\n ca?: string | Buffer | Array<string | Buffer> | undefined;\n /**\n * Cert chains in PEM format. One cert chain should be provided per\n * private key. Each cert chain should consist of the PEM formatted\n * certificate for a provided private key, followed by the PEM\n * formatted intermediate certificates (if any), in order, and not\n * including the root CA (the root CA must be pre-known to the peer,\n * see ca). When providing multiple cert chains, they do not have to\n * be in the same order as their private keys in key. If the\n * intermediate certificates are not provided, the peer will not be\n * able to validate the certificate, and the handshake will fail.\n */\n cert?: string | Buffer | Array<string | Buffer> | undefined;\n /**\n * Private keys in PEM format. PEM allows the option of private keys\n * being encrypted. Encrypted keys will be decrypted with\n * options.passphrase. Multiple keys using different algorithms can be\n * provided either as an array of unencrypted key strings or buffers,\n * or an array of objects in the form `{pem: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n key?: string | Buffer | Array<Buffer | KeyObject> | undefined;\n /**\n * Shared passphrase used for a single private key and/or a PFX.\n */\n passphrase?: string | undefined;\n /**\n * PFX or PKCS12 encoded private key and certificate chain. pfx is an\n * alternative to providing key and cert individually. PFX is usually\n * encrypted, if it is, passphrase will be used to decrypt it. Multiple\n * PFX can be provided either as an array of unencrypted PFX buffers,\n * or an array of objects in the form `{buf: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n pfx?: string | Buffer | Array<string | Buffer | PxfObject> | undefined;\n}\n\n/**\n * An interface compatible with NodeJS's `tls.KeyObject`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface KeyObject {\n /**\n * Private keys in PEM format.\n */\n pem: string | Buffer;\n /**\n * Optional passphrase.\n */\n passphrase?: string | undefined;\n}\n\n/**\n * An interface compatible with NodeJS's `tls.PxfObject`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface PxfObject {\n /**\n * PFX or PKCS12 encoded private key and certificate chain.\n */\n buf: string | Buffer;\n /**\n * Optional passphrase.\n */\n passphrase?: string | undefined;\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type { OperationTracingOptions } from \"@azure/core-tracing\";\nimport type { HttpMethods } from \"@azure/core-util\";\nimport type { NodeBuffer, NodeReadableStream, WebReadableStream } from \"@typespec/ts-http-runtime\";\n\n/**\n * A HttpHeaders collection represented as a simple JSON object.\n */\nexport type RawHttpHeaders = { [headerName: string]: string };\n\n/**\n * A HttpHeaders collection for input, represented as a simple JSON object.\n */\nexport type RawHttpHeadersInput = Record<string, string | number | boolean>;\n\n/**\n * Represents a set of HTTP headers on a request/response.\n * Header names are treated as case insensitive.\n */\nexport interface HttpHeaders extends Iterable<[string, string]> {\n /**\n * Returns the value of a specific header or undefined if not set.\n * @param name - The name of the header to retrieve.\n */\n get(name: string): string | undefined;\n /**\n * Returns true if the specified header exists.\n * @param name - The name of the header to check.\n */\n has(name: string): boolean;\n /**\n * Sets a specific header with a given value.\n * @param name - The name of the header to set.\n * @param value - The value to use for the header.\n */\n set(name: string, value: string | number | boolean): void;\n /**\n * Removes a specific header from the collection.\n * @param name - The name of the header to delete.\n */\n delete(name: string): void;\n /**\n * Accesses a raw JS object that acts as a simple map\n * of header names to values.\n */\n toJSON(options?: { preserveCase?: boolean }): RawHttpHeaders;\n}\n\n/**\n * A part of the request body in a multipart request.\n */\nexport interface BodyPart {\n /**\n * The headers for this part of the multipart request.\n */\n headers: HttpHeaders;\n\n /**\n * The body of this part of the multipart request.\n */\n body:\n | ((() => WebReadableStream<Uint8Array>) | (() => NodeReadableStream))\n | WebReadableStream<Uint8Array>\n | NodeReadableStream\n | Uint8Array\n | Blob;\n}\n\n/**\n * A request body consisting of multiple parts.\n */\nexport interface MultipartRequestBody {\n /**\n * The parts of the request body.\n */\n parts: BodyPart[];\n\n /**\n * The boundary separating each part of the request body.\n * If not specified, a random boundary will be generated.\n *\n * When specified, '--' will be prepended to the boundary in the request to ensure the boundary follows the specification.\n */\n boundary?: string;\n}\n\n/**\n * Types of bodies supported on the request.\n * NodeReadableStream and () =\\> NodeReadableStream is Node only.\n * Blob, WebReadableStream<Uint8Array>, and () =\\> WebReadableStream<Uint8Array> are browser only.\n */\nexport type RequestBodyType =\n | NodeReadableStream\n | (() => NodeReadableStream)\n | WebReadableStream<Uint8Array>\n | (() => WebReadableStream<Uint8Array>)\n | Blob\n | ArrayBuffer\n | ArrayBufferView\n | FormData\n | string\n | null;\n\n/**\n * An interface compatible with NodeJS's `http.Agent`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface Agent {\n /**\n * Destroy any sockets that are currently in use by the agent.\n */\n destroy(): void;\n /**\n * For agents with keepAlive enabled, this sets the maximum number of sockets that will be left open in the free state.\n */\n maxFreeSockets: number;\n /**\n * Determines how many concurrent sockets the agent can have open per origin.\n */\n maxSockets: number;\n /**\n * An object which contains queues of requests that have not yet been assigned to sockets.\n */\n requests: unknown;\n /**\n * An object which contains arrays of sockets currently in use by the agent.\n */\n sockets: unknown;\n}\n\n/**\n * Metadata about a request being made by the pipeline.\n */\nexport interface PipelineRequest {\n /**\n * The URL to make the request to.\n */\n url: string;\n\n /**\n * The HTTP method to use when making the request.\n */\n method: HttpMethods;\n\n /**\n * The HTTP headers to use when making the request.\n */\n headers: HttpHeaders;\n\n /**\n * The number of milliseconds a request can take before automatically being terminated.\n * If the request is terminated, an `AbortError` is thrown.\n * Defaults to 0, which disables the timeout.\n */\n timeout: number;\n\n /**\n * Indicates whether the user agent should send cookies from the other domain in the case of cross-origin requests.\n * Defaults to false.\n */\n withCredentials: boolean;\n\n /**\n * A unique identifier for the request. Used for logging and tracing.\n */\n requestId: string;\n\n /**\n * The HTTP body content (if any)\n */\n body?: RequestBodyType;\n\n /**\n * Body for a multipart request.\n */\n multipartBody?: MultipartRequestBody;\n\n /**\n * To simulate a browser form post\n */\n formData?: FormDataMap;\n\n /**\n * A list of response status codes whose corresponding PipelineResponse body should be treated as a stream.\n * When streamResponseStatusCodes contains the value Number.POSITIVE_INFINITY any status would be treated as a stream.\n */\n streamResponseStatusCodes?: Set<number>;\n\n /**\n * Proxy configuration.\n */\n proxySettings?: ProxySettings;\n\n /**\n * If the connection should not be reused.\n */\n disableKeepAlive?: boolean;\n\n /**\n * Used to abort the request later.\n */\n abortSignal?: AbortSignalLike;\n\n /**\n * Tracing options to use for any created Spans.\n */\n tracingOptions?: OperationTracingOptions;\n\n /**\n * Callback which fires upon upload progress.\n */\n onUploadProgress?: (progress: TransferProgressEvent) => void;\n\n /** Callback which fires upon download progress. */\n onDownloadProgress?: (progress: TransferProgressEvent) => void;\n\n /** Set to true if the request is sent over HTTP instead of HTTPS */\n allowInsecureConnection?: boolean;\n\n /**\n * NODEJS ONLY\n *\n * A Node-only option to provide a custom `http.Agent`/`https.Agent`.\n * Does nothing when running in the browser.\n */\n agent?: Agent;\n\n /**\n * BROWSER ONLY\n *\n * A browser only option to enable browser Streams. If this option is set and a response is a stream\n * the response will have a property `browserStream` instead of `blobBody` which will be undefined.\n *\n * Default value is false\n */\n enableBrowserStreams?: boolean;\n\n /** Settings for configuring TLS authentication */\n tlsSettings?: TlsSettings;\n\n /**\n * Additional options to set on the request. This provides a way to override\n * existing ones or provide request properties that are not declared.\n *\n * For possible valid properties, see\n * - NodeJS https.request options: https://nodejs.org/api/http.html#httprequestoptions-callback\n * - Browser RequestInit: https://developer.mozilla.org/en-US/docs/Web/API/RequestInit\n *\n * WARNING: Options specified here will override any properties of same names when request is sent by {@link HttpClient}.\n */\n requestOverrides?: Record<string, unknown>;\n}\n\n/**\n * Metadata about a response received by the pipeline.\n */\nexport interface PipelineResponse {\n /**\n * The request that generated this response.\n */\n request: PipelineRequest;\n /**\n * The HTTP status code of the response.\n */\n status: number;\n /**\n * The HTTP response headers.\n */\n headers: HttpHeaders;\n\n /**\n * The response body as text (string format)\n */\n bodyAsText?: string | null;\n\n /**\n * BROWSER ONLY\n *\n * The response body as a browser Blob.\n * Always undefined in node.js.\n */\n blobBody?: Promise<Blob>;\n\n /**\n * BROWSER ONLY\n *\n * The response body as a browser ReadableStream.\n * Always undefined in node.js.\n */\n browserStreamBody?: WebReadableStream<Uint8Array>;\n\n /**\n * NODEJS ONLY\n *\n * The response body as a node.js Readable stream.\n * Always undefined in the browser.\n */\n readableStreamBody?: NodeReadableStream;\n}\n\n/**\n * A simple interface for making a pipeline request and receiving a response.\n */\nexport type SendRequest = (request: PipelineRequest) => Promise<PipelineResponse>;\n\n/**\n * The required interface for a client that makes HTTP requests\n * on behalf of a pipeline.\n */\nexport interface HttpClient {\n /**\n * The method that makes the request and returns a response.\n */\n sendRequest: SendRequest;\n}\n\n/**\n * Fired in response to upload or download progress.\n */\nexport type TransferProgressEvent = {\n /**\n * The number of bytes loaded so far.\n */\n loadedBytes: number;\n};\n\n/**\n * Options to configure a proxy for outgoing requests (Node.js only).\n */\nexport interface ProxySettings {\n /**\n * The proxy's host address.\n * Must include the protocol (e.g., http:// or https://).\n */\n host: string;\n\n /**\n * The proxy host's port.\n */\n port: number;\n\n /**\n * The user name to authenticate with the proxy, if required.\n */\n username?: string;\n\n /**\n * The password to authenticate with the proxy, if required.\n */\n password?: string;\n}\n\n/**\n * Each form data entry can be a string, Blob, or a File. If you wish to pass a file with a name but do not have\n * access to the File class, you can use the createFile helper to create one.\n */\nexport type FormDataValue = string | Blob | File;\n\n/**\n * A simple object that provides form data, as if from a browser form.\n */\nexport type FormDataMap = { [key: string]: FormDataValue | FormDataValue[] };\n\n/**\n * Options that control how to retry failed requests.\n */\nexport interface PipelineRetryOptions {\n /**\n * The maximum number of retry attempts. Defaults to 3.\n */\n maxRetries?: number;\n\n /**\n * The amount of delay in milliseconds between retry attempts. Defaults to 1000\n * (1 second). The delay increases exponentially with each retry up to a maximum\n * specified by maxRetryDelayInMs.\n */\n retryDelayInMs?: number;\n\n /**\n * The maximum delay in milliseconds allowed before retrying an operation. Defaults\n * to 64000 (64 seconds).\n */\n maxRetryDelayInMs?: number;\n}\n\n/**\n * Represents a certificate credential for authentication.\n */\nexport interface CertificateCredential {\n /**\n * Optionally override the trusted CA certificates. Default is to trust\n * the well-known CAs curated by Mozilla. Mozilla's CAs are completely\n * replaced when CAs are explicitly specified using this option.\n */\n ca?: string | NodeBuffer | Array<string | NodeBuffer> | undefined;\n /**\n * Cert chains in PEM format. One cert chain should be provided per\n * private key. Each cert chain should consist of the PEM formatted\n * certificate for a provided private key, followed by the PEM\n * formatted intermediate certificates (if any), in order, and not\n * including the root CA (the root CA must be pre-known to the peer,\n * see ca). When providing multiple cert chains, they do not have to\n * be in the same order as their private keys in key. If the\n * intermediate certificates are not provided, the peer will not be\n * able to validate the certificate, and the handshake will fail.\n */\n cert?: string | NodeBuffer | Array<string | NodeBuffer> | undefined;\n /**\n * Private keys in PEM format. PEM allows the option of private keys\n * being encrypted. Encrypted keys will be decrypted with\n * options.passphrase. Multiple keys using different algorithms can be\n * provided either as an array of unencrypted key strings or buffers,\n * or an array of objects in the form `{pem: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n key?: string | NodeBuffer | Array<NodeBuffer | KeyObject> | undefined;\n /**\n * Shared passphrase used for a single private key and/or a PFX.\n */\n passphrase?: string | undefined;\n /**\n * PFX or PKCS12 encoded private key and certificate chain. pfx is an\n * alternative to providing key and cert individually. PFX is usually\n * encrypted, if it is, passphrase will be used to decrypt it. Multiple\n * PFX can be provided either as an array of unencrypted PFX buffers,\n * or an array of objects in the form `{buf: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n pfx?: string | NodeBuffer | Array<string | NodeBuffer | PxfObject> | undefined;\n}\n\n/**\n * Represents a certificate for TLS authentication.\n */\nexport interface TlsSettings {\n /**\n * Optionally override the trusted CA certificates. Default is to trust\n * the well-known CAs curated by Mozilla. Mozilla's CAs are completely\n * replaced when CAs are explicitly specified using this option.\n */\n ca?: string | NodeBuffer | Array<string | NodeBuffer> | undefined;\n /**\n * Cert chains in PEM format. One cert chain should be provided per\n * private key. Each cert chain should consist of the PEM formatted\n * certificate for a provided private key, followed by the PEM\n * formatted intermediate certificates (if any), in order, and not\n * including the root CA (the root CA must be pre-known to the peer,\n * see ca). When providing multiple cert chains, they do not have to\n * be in the same order as their private keys in key. If the\n * intermediate certificates are not provided, the peer will not be\n * able to validate the certificate, and the handshake will fail.\n */\n cert?: string | NodeBuffer | Array<string | NodeBuffer> | undefined;\n /**\n * Private keys in PEM format. PEM allows the option of private keys\n * being encrypted. Encrypted keys will be decrypted with\n * options.passphrase. Multiple keys using different algorithms can be\n * provided either as an array of unencrypted key strings or buffers,\n * or an array of objects in the form `{pem: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n key?: string | NodeBuffer | Array<NodeBuffer | KeyObject> | undefined;\n /**\n * Shared passphrase used for a single private key and/or a PFX.\n */\n passphrase?: string | undefined;\n /**\n * PFX or PKCS12 encoded private key and certificate chain. pfx is an\n * alternative to providing key and cert individually. PFX is usually\n * encrypted, if it is, passphrase will be used to decrypt it. Multiple\n * PFX can be provided either as an array of unencrypted PFX buffers,\n * or an array of objects in the form `{buf: <string|buffer>[,passphrase: <string>]}`.\n * The object form can only occur in an array.object.passphrase is optional.\n * Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.\n */\n pfx?: string | NodeBuffer | Array<string | NodeBuffer | PxfObject> | undefined;\n}\n\n/**\n * An interface compatible with NodeJS's `tls.KeyObject`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface KeyObject {\n /**\n * Private keys in PEM format.\n */\n pem: string | NodeBuffer;\n /**\n * Optional passphrase.\n */\n passphrase?: string | undefined;\n}\n\n/**\n * An interface compatible with NodeJS's `tls.PxfObject`.\n * We want to avoid publicly re-exporting the actual interface,\n * since it might vary across runtime versions.\n */\nexport interface PxfObject {\n /**\n * PFX or PKCS12 encoded private key and certificate chain.\n */\n buf: string | NodeBuffer;\n /**\n * Optional passphrase.\n */\n passphrase?: string | undefined;\n}\n"]}
@@ -156,7 +156,7 @@ export function bearerTokenAuthenticationPolicy(options) {
156
156
  }
157
157
  // If we get another CAE Claim, we will handle it by default and return whatever value we receive for this
158
158
  if (isChallengeResponse(response)) {
159
- claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
159
+ claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate") ?? "");
160
160
  if (claims) {
161
161
  let parsedClaim;
162
162
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"bearerTokenAuthenticationPolicy.js","sourceRoot":"","sources":["../../../src/policies/bearerTokenAuthenticationPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport type { AzureLogger } from \"@azure/logger\";\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { createTokenCycler } from \"../util/tokenCycler.js\";\nimport { logger as coreLogger } from \"../log.js\";\nimport type { RestError } from \"../restError.js\";\nimport { isRestError } from \"../restError.js\";\n\n/**\n * The programmatic identifier of the bearerTokenAuthenticationPolicy.\n */\nexport const bearerTokenAuthenticationPolicyName = \"bearerTokenAuthenticationPolicy\";\n\n/**\n * Options sent to the authorizeRequest callback\n */\nexport interface AuthorizeRequestOptions {\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string[];\n /**\n * Function that retrieves either a cached access token or a new access token.\n */\n getAccessToken: (scopes: string[], options: GetTokenOptions) => Promise<AccessToken | null>;\n /**\n * Request that the policy is trying to fulfill.\n */\n request: PipelineRequest;\n /**\n * A logger, if one was sent through the HTTP pipeline.\n */\n logger?: AzureLogger;\n}\n\n/**\n * Options sent to the authorizeRequestOnChallenge callback\n */\nexport interface AuthorizeRequestOnChallengeOptions {\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string[];\n /**\n * Function that retrieves either a cached access token or a new access token.\n */\n getAccessToken: (scopes: string[], options: GetTokenOptions) => Promise<AccessToken | null>;\n /**\n * Request that the policy is trying to fulfill.\n */\n request: PipelineRequest;\n /**\n * Response containing the challenge.\n */\n response: PipelineResponse;\n /**\n * A logger, if one was sent through the HTTP pipeline.\n */\n logger?: AzureLogger;\n}\n\n/**\n * Options to override the processing of [Continuous Access Evaluation](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation) challenges.\n */\nexport interface ChallengeCallbacks {\n /**\n * Allows for the authorization of the main request of this policy before it's sent.\n */\n authorizeRequest?(options: AuthorizeRequestOptions): Promise<void>;\n /**\n * Allows to handle authentication challenges and to re-authorize the request.\n * The response containing the challenge is `options.response`.\n * If this method returns true, the underlying request will be sent once again.\n * The request may be modified before being sent.\n */\n authorizeRequestOnChallenge?(options: AuthorizeRequestOnChallengeOptions): Promise<boolean>;\n}\n\n/**\n * Options to configure the bearerTokenAuthenticationPolicy\n */\nexport interface BearerTokenAuthenticationPolicyOptions {\n /**\n * The TokenCredential implementation that can supply the bearer token.\n */\n credential?: TokenCredential;\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string | string[];\n /**\n * Allows for the processing of [Continuous Access Evaluation](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation) challenges.\n * If provided, it must contain at least the `authorizeRequestOnChallenge` method.\n * If provided, after a request is sent, if it has a challenge, it can be processed to re-send the original request with the relevant challenge information.\n */\n challengeCallbacks?: ChallengeCallbacks;\n /**\n * A logger can be sent for debugging purposes.\n */\n logger?: AzureLogger;\n}\n/**\n * Try to send the given request.\n *\n * When a response is received, returns a tuple of the response received and, if the response was received\n * inside a thrown RestError, the RestError that was thrown.\n *\n * Otherwise, if an error was thrown while sending the request that did not provide an underlying response, it\n * will be rethrown.\n */\nasync function trySendRequest(\n request: PipelineRequest,\n next: SendRequest,\n): Promise<[PipelineResponse, RestError | undefined]> {\n try {\n return [await next(request), undefined];\n } catch (e: any) {\n if (isRestError(e) && e.response) {\n return [e.response, e];\n } else {\n throw e;\n }\n }\n}\n/**\n * Default authorize request handler\n */\nasync function defaultAuthorizeRequest(options: AuthorizeRequestOptions): Promise<void> {\n const { scopes, getAccessToken, request } = options;\n // Enable CAE true by default\n const getTokenOptions: GetTokenOptions = {\n abortSignal: request.abortSignal,\n tracingOptions: request.tracingOptions,\n enableCae: true,\n };\n\n const accessToken = await getAccessToken(scopes, getTokenOptions);\n\n if (accessToken) {\n options.request.headers.set(\"Authorization\", `Bearer ${accessToken.token}`);\n }\n}\n\n/**\n * We will retrieve the challenge only if the response status code was 401,\n * and if the response contained the header \"WWW-Authenticate\" with a non-empty value.\n */\nfunction isChallengeResponse(response: PipelineResponse): boolean {\n return response.status === 401 && response.headers.has(\"WWW-Authenticate\");\n}\n\n/**\n * Re-authorize the request for CAE challenge.\n * The response containing the challenge is `options.response`.\n * If this method returns true, the underlying request will be sent once again.\n */\nasync function authorizeRequestOnCaeChallenge(\n onChallengeOptions: AuthorizeRequestOnChallengeOptions,\n caeClaims: string,\n): Promise<boolean> {\n const { scopes } = onChallengeOptions;\n\n const accessToken = await onChallengeOptions.getAccessToken(scopes, {\n enableCae: true,\n claims: caeClaims,\n });\n if (!accessToken) {\n return false;\n }\n\n onChallengeOptions.request.headers.set(\n \"Authorization\",\n `${accessToken.tokenType ?? \"Bearer\"} ${accessToken.token}`,\n );\n return true;\n}\n\n/**\n * A policy that can request a token from a TokenCredential implementation and\n * then apply it to the Authorization header of a request as a Bearer token.\n */\nexport function bearerTokenAuthenticationPolicy(\n options: BearerTokenAuthenticationPolicyOptions,\n): PipelinePolicy {\n const { credential, scopes, challengeCallbacks } = options;\n const logger = options.logger || coreLogger;\n const callbacks = {\n authorizeRequest:\n challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,\n authorizeRequestOnChallenge:\n challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks),\n };\n\n // This function encapsulates the entire process of reliably retrieving the token\n // The options are left out of the public API until there's demand to configure this.\n // Remember to extend `BearerTokenAuthenticationPolicyOptions` with `TokenCyclerOptions`\n // in order to pass through the `options` object.\n const getAccessToken = credential\n ? createTokenCycler(credential /* , options */)\n : () => Promise.resolve(null);\n\n return {\n name: bearerTokenAuthenticationPolicyName,\n /**\n * If there's no challenge parameter:\n * - It will try to retrieve the token using the cache, or the credential's getToken.\n * - Then it will try the next policy with or without the retrieved token.\n *\n * It uses the challenge parameters to:\n * - Skip a first attempt to get the token from the credential if there's no cached token,\n * since it expects the token to be retrievable only after the challenge.\n * - Prepare the outgoing request if the `prepareRequest` method has been provided.\n * - Send an initial request to receive the challenge if it fails.\n * - Process a challenge if the response contains it.\n * - Retrieve a token with the challenge information, then re-send the request.\n */\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n throw new Error(\n \"Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.\",\n );\n }\n\n await callbacks.authorizeRequest({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n getAccessToken,\n logger,\n });\n\n let response: PipelineResponse;\n let error: Error | undefined;\n let shouldSendRequest: boolean;\n [response, error] = await trySendRequest(request, next);\n\n if (isChallengeResponse(response)) {\n let claims = getCaeChallengeClaims(response.headers.get(\"WWW-Authenticate\"));\n // Handle CAE by default when receive CAE claim\n if (claims) {\n let parsedClaim: string;\n // Return the response immediately if claims is not a valid base64 encoded string\n try {\n parsedClaim = atob(claims);\n } catch (e) {\n logger.warning(\n `The WWW-Authenticate header contains \"claims\" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`,\n );\n return response;\n }\n shouldSendRequest = await authorizeRequestOnCaeChallenge(\n {\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n response,\n request,\n getAccessToken,\n logger,\n },\n parsedClaim,\n );\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n } else if (callbacks.authorizeRequestOnChallenge) {\n // Handle custom challenges when client provides custom callback\n shouldSendRequest = await callbacks.authorizeRequestOnChallenge({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n response,\n getAccessToken,\n logger,\n });\n\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n\n // If we get another CAE Claim, we will handle it by default and return whatever value we receive for this\n if (isChallengeResponse(response)) {\n claims = getCaeChallengeClaims(response.headers.get(\"WWW-Authenticate\") as string);\n if (claims) {\n let parsedClaim: string;\n try {\n parsedClaim = atob(claims);\n } catch (e) {\n logger.warning(\n `The WWW-Authenticate header contains \"claims\" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`,\n );\n return response;\n }\n\n shouldSendRequest = await authorizeRequestOnCaeChallenge(\n {\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n response,\n request,\n getAccessToken,\n logger,\n },\n parsedClaim,\n );\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n }\n }\n }\n }\n\n if (error) {\n throw error;\n } else {\n return response;\n }\n },\n };\n}\n\n/**\n *\n * Interface to represent a parsed challenge.\n *\n * @internal\n */\ninterface AuthChallenge {\n scheme: string;\n params: Record<string, string>;\n}\n\n/**\n * Converts: `Bearer a=\"b\", c=\"d\", Pop e=\"f\", g=\"h\"`.\n * Into: `[ { scheme: 'Bearer', params: { a: 'b', c: 'd' } }, { scheme: 'Pop', params: { e: 'f', g: 'h' } } ]`.\n *\n * @internal\n */\nexport function parseChallenges(challenges: string): AuthChallenge[] {\n // Challenge regex seperates the string to individual challenges with different schemes in the format `Scheme a=\"b\", c=d`\n // The challenge regex captures parameteres with either quotes values or unquoted values\n const challengeRegex = /(\\w+)\\s+((?:\\w+=(?:\"[^\"]*\"|[^,]*),?\\s*)+)/g;\n // Parameter regex captures the claims group removed from the scheme in the format `a=\"b\"` and `c=\"d\"`\n // CAE challenge always have quoted parameters. For more reference, https://learn.microsoft.com/entra/identity-platform/claims-challenge\n const paramRegex = /(\\w+)=\"([^\"]*)\"/g;\n\n const parsedChallenges: AuthChallenge[] = [];\n let match;\n\n // Iterate over each challenge match\n while ((match = challengeRegex.exec(challenges)) !== null) {\n const scheme = match[1];\n const paramsString = match[2];\n const params: Record<string, string> = {};\n let paramMatch;\n\n // Iterate over each parameter match\n while ((paramMatch = paramRegex.exec(paramsString)) !== null) {\n params[paramMatch[1]] = paramMatch[2];\n }\n\n parsedChallenges.push({ scheme, params });\n }\n return parsedChallenges;\n}\n\n/**\n * Parse a pipeline response and look for a CAE challenge with \"Bearer\" scheme\n * Return the value in the header without parsing the challenge\n * @internal\n */\nfunction getCaeChallengeClaims(challenges: string | undefined): string | undefined {\n if (!challenges) {\n return;\n }\n // Find all challenges present in the header\n const parsedChallenges = parseChallenges(challenges);\n return parsedChallenges.find(\n (x) => x.scheme === \"Bearer\" && x.params.claims && x.params.error === \"insufficient_claims\",\n )?.params.claims;\n}\n"]}
1
+ {"version":3,"file":"bearerTokenAuthenticationPolicy.js","sourceRoot":"","sources":["../../../src/policies/bearerTokenAuthenticationPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport type { AzureLogger } from \"@azure/logger\";\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { createTokenCycler } from \"../util/tokenCycler.js\";\nimport { logger as coreLogger } from \"../log.js\";\nimport type { RestError } from \"../restError.js\";\nimport { isRestError } from \"../restError.js\";\n\n/**\n * The programmatic identifier of the bearerTokenAuthenticationPolicy.\n */\nexport const bearerTokenAuthenticationPolicyName = \"bearerTokenAuthenticationPolicy\";\n\n/**\n * Options sent to the authorizeRequest callback\n */\nexport interface AuthorizeRequestOptions {\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string[];\n /**\n * Function that retrieves either a cached access token or a new access token.\n */\n getAccessToken: (scopes: string[], options: GetTokenOptions) => Promise<AccessToken | null>;\n /**\n * Request that the policy is trying to fulfill.\n */\n request: PipelineRequest;\n /**\n * A logger, if one was sent through the HTTP pipeline.\n */\n logger?: AzureLogger;\n}\n\n/**\n * Options sent to the authorizeRequestOnChallenge callback\n */\nexport interface AuthorizeRequestOnChallengeOptions {\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string[];\n /**\n * Function that retrieves either a cached access token or a new access token.\n */\n getAccessToken: (scopes: string[], options: GetTokenOptions) => Promise<AccessToken | null>;\n /**\n * Request that the policy is trying to fulfill.\n */\n request: PipelineRequest;\n /**\n * Response containing the challenge.\n */\n response: PipelineResponse;\n /**\n * A logger, if one was sent through the HTTP pipeline.\n */\n logger?: AzureLogger;\n}\n\n/**\n * Options to override the processing of [Continuous Access Evaluation](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation) challenges.\n */\nexport interface ChallengeCallbacks {\n /**\n * Allows for the authorization of the main request of this policy before it's sent.\n */\n authorizeRequest?(options: AuthorizeRequestOptions): Promise<void>;\n /**\n * Allows to handle authentication challenges and to re-authorize the request.\n * The response containing the challenge is `options.response`.\n * If this method returns true, the underlying request will be sent once again.\n * The request may be modified before being sent.\n */\n authorizeRequestOnChallenge?(options: AuthorizeRequestOnChallengeOptions): Promise<boolean>;\n}\n\n/**\n * Options to configure the bearerTokenAuthenticationPolicy\n */\nexport interface BearerTokenAuthenticationPolicyOptions {\n /**\n * The TokenCredential implementation that can supply the bearer token.\n */\n credential?: TokenCredential;\n /**\n * The scopes for which the bearer token applies.\n */\n scopes: string | string[];\n /**\n * Allows for the processing of [Continuous Access Evaluation](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation) challenges.\n * If provided, it must contain at least the `authorizeRequestOnChallenge` method.\n * If provided, after a request is sent, if it has a challenge, it can be processed to re-send the original request with the relevant challenge information.\n */\n challengeCallbacks?: ChallengeCallbacks;\n /**\n * A logger can be sent for debugging purposes.\n */\n logger?: AzureLogger;\n}\n/**\n * Try to send the given request.\n *\n * When a response is received, returns a tuple of the response received and, if the response was received\n * inside a thrown RestError, the RestError that was thrown.\n *\n * Otherwise, if an error was thrown while sending the request that did not provide an underlying response, it\n * will be rethrown.\n */\nasync function trySendRequest(\n request: PipelineRequest,\n next: SendRequest,\n): Promise<[PipelineResponse, RestError | undefined]> {\n try {\n return [await next(request), undefined];\n } catch (e: any) {\n if (isRestError(e) && e.response) {\n return [e.response, e];\n } else {\n throw e;\n }\n }\n}\n/**\n * Default authorize request handler\n */\nasync function defaultAuthorizeRequest(options: AuthorizeRequestOptions): Promise<void> {\n const { scopes, getAccessToken, request } = options;\n // Enable CAE true by default\n const getTokenOptions: GetTokenOptions = {\n abortSignal: request.abortSignal,\n tracingOptions: request.tracingOptions,\n enableCae: true,\n };\n\n const accessToken = await getAccessToken(scopes, getTokenOptions);\n\n if (accessToken) {\n options.request.headers.set(\"Authorization\", `Bearer ${accessToken.token}`);\n }\n}\n\n/**\n * We will retrieve the challenge only if the response status code was 401,\n * and if the response contained the header \"WWW-Authenticate\" with a non-empty value.\n */\nfunction isChallengeResponse(response: PipelineResponse): boolean {\n return response.status === 401 && response.headers.has(\"WWW-Authenticate\");\n}\n\n/**\n * Re-authorize the request for CAE challenge.\n * The response containing the challenge is `options.response`.\n * If this method returns true, the underlying request will be sent once again.\n */\nasync function authorizeRequestOnCaeChallenge(\n onChallengeOptions: AuthorizeRequestOnChallengeOptions,\n caeClaims: string,\n): Promise<boolean> {\n const { scopes } = onChallengeOptions;\n\n const accessToken = await onChallengeOptions.getAccessToken(scopes, {\n enableCae: true,\n claims: caeClaims,\n });\n if (!accessToken) {\n return false;\n }\n\n onChallengeOptions.request.headers.set(\n \"Authorization\",\n `${accessToken.tokenType ?? \"Bearer\"} ${accessToken.token}`,\n );\n return true;\n}\n\n/**\n * A policy that can request a token from a TokenCredential implementation and\n * then apply it to the Authorization header of a request as a Bearer token.\n */\nexport function bearerTokenAuthenticationPolicy(\n options: BearerTokenAuthenticationPolicyOptions,\n): PipelinePolicy {\n const { credential, scopes, challengeCallbacks } = options;\n const logger = options.logger || coreLogger;\n const callbacks = {\n authorizeRequest:\n challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,\n authorizeRequestOnChallenge:\n challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks),\n };\n\n // This function encapsulates the entire process of reliably retrieving the token\n // The options are left out of the public API until there's demand to configure this.\n // Remember to extend `BearerTokenAuthenticationPolicyOptions` with `TokenCyclerOptions`\n // in order to pass through the `options` object.\n const getAccessToken = credential\n ? createTokenCycler(credential /* , options */)\n : () => Promise.resolve(null);\n\n return {\n name: bearerTokenAuthenticationPolicyName,\n /**\n * If there's no challenge parameter:\n * - It will try to retrieve the token using the cache, or the credential's getToken.\n * - Then it will try the next policy with or without the retrieved token.\n *\n * It uses the challenge parameters to:\n * - Skip a first attempt to get the token from the credential if there's no cached token,\n * since it expects the token to be retrievable only after the challenge.\n * - Prepare the outgoing request if the `prepareRequest` method has been provided.\n * - Send an initial request to receive the challenge if it fails.\n * - Process a challenge if the response contains it.\n * - Retrieve a token with the challenge information, then re-send the request.\n */\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n throw new Error(\n \"Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.\",\n );\n }\n\n await callbacks.authorizeRequest({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n getAccessToken,\n logger,\n });\n\n let response: PipelineResponse;\n let error: Error | undefined;\n let shouldSendRequest: boolean;\n [response, error] = await trySendRequest(request, next);\n\n if (isChallengeResponse(response)) {\n let claims = getCaeChallengeClaims(response.headers.get(\"WWW-Authenticate\"));\n // Handle CAE by default when receive CAE claim\n if (claims) {\n let parsedClaim: string;\n // Return the response immediately if claims is not a valid base64 encoded string\n try {\n parsedClaim = atob(claims);\n } catch (e) {\n logger.warning(\n `The WWW-Authenticate header contains \"claims\" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`,\n );\n return response;\n }\n shouldSendRequest = await authorizeRequestOnCaeChallenge(\n {\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n response,\n request,\n getAccessToken,\n logger,\n },\n parsedClaim,\n );\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n } else if (callbacks.authorizeRequestOnChallenge) {\n // Handle custom challenges when client provides custom callback\n shouldSendRequest = await callbacks.authorizeRequestOnChallenge({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n response,\n getAccessToken,\n logger,\n });\n\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n\n // If we get another CAE Claim, we will handle it by default and return whatever value we receive for this\n if (isChallengeResponse(response)) {\n claims = getCaeChallengeClaims(response.headers.get(\"WWW-Authenticate\") ?? \"\");\n if (claims) {\n let parsedClaim: string;\n try {\n parsedClaim = atob(claims);\n } catch (e) {\n logger.warning(\n `The WWW-Authenticate header contains \"claims\" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`,\n );\n return response;\n }\n\n shouldSendRequest = await authorizeRequestOnCaeChallenge(\n {\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n response,\n request,\n getAccessToken,\n logger,\n },\n parsedClaim,\n );\n // Send updated request and handle response for RestError\n if (shouldSendRequest) {\n [response, error] = await trySendRequest(request, next);\n }\n }\n }\n }\n }\n\n if (error) {\n throw error;\n } else {\n return response;\n }\n },\n };\n}\n\n/**\n *\n * Interface to represent a parsed challenge.\n *\n * @internal\n */\ninterface AuthChallenge {\n scheme: string;\n params: Record<string, string>;\n}\n\n/**\n * Converts: `Bearer a=\"b\", c=\"d\", Pop e=\"f\", g=\"h\"`.\n * Into: `[ { scheme: 'Bearer', params: { a: 'b', c: 'd' } }, { scheme: 'Pop', params: { e: 'f', g: 'h' } } ]`.\n *\n * @internal\n */\nexport function parseChallenges(challenges: string): AuthChallenge[] {\n // Challenge regex seperates the string to individual challenges with different schemes in the format `Scheme a=\"b\", c=d`\n // The challenge regex captures parameteres with either quotes values or unquoted values\n const challengeRegex = /(\\w+)\\s+((?:\\w+=(?:\"[^\"]*\"|[^,]*),?\\s*)+)/g;\n // Parameter regex captures the claims group removed from the scheme in the format `a=\"b\"` and `c=\"d\"`\n // CAE challenge always have quoted parameters. For more reference, https://learn.microsoft.com/entra/identity-platform/claims-challenge\n const paramRegex = /(\\w+)=\"([^\"]*)\"/g;\n\n const parsedChallenges: AuthChallenge[] = [];\n let match;\n\n // Iterate over each challenge match\n while ((match = challengeRegex.exec(challenges)) !== null) {\n const scheme = match[1];\n const paramsString = match[2];\n const params: Record<string, string> = {};\n let paramMatch;\n\n // Iterate over each parameter match\n while ((paramMatch = paramRegex.exec(paramsString)) !== null) {\n params[paramMatch[1]] = paramMatch[2];\n }\n\n parsedChallenges.push({ scheme, params });\n }\n return parsedChallenges;\n}\n\n/**\n * Parse a pipeline response and look for a CAE challenge with \"Bearer\" scheme\n * Return the value in the header without parsing the challenge\n * @internal\n */\nfunction getCaeChallengeClaims(challenges: string | undefined): string | undefined {\n if (!challenges) {\n return;\n }\n // Find all challenges present in the header\n const parsedChallenges = parseChallenges(challenges);\n return parsedChallenges.find(\n (x) => x.scheme === \"Bearer\" && x.params.claims && x.params.error === \"insufficient_claims\",\n )?.params.claims;\n}\n"]}
@@ -14,9 +14,7 @@ export function ndJsonPolicy() {
14
14
  // There currently isn't a good way to bypass the serializer
15
15
  if (typeof request.body === "string" && request.body.startsWith("[")) {
16
16
  const body = JSON.parse(request.body);
17
- if (Array.isArray(body)) {
18
- request.body = body.map((item) => JSON.stringify(item) + "\n").join("");
19
- }
17
+ request.body = body.map((item) => JSON.stringify(item) + "\n").join("");
20
18
  }
21
19
  return next(request);
22
20
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ndJsonPolicy.js","sourceRoot":"","sources":["../../../src/policies/ndJsonPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;YAC3D,4DAA4D;YAC5D,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\n\n/**\n * The programmatic identifier of the ndJsonPolicy.\n */\nexport const ndJsonPolicyName = \"ndJsonPolicy\";\n\n/**\n * ndJsonPolicy is a policy used to control keep alive settings for every request.\n */\nexport function ndJsonPolicy(): PipelinePolicy {\n return {\n name: ndJsonPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n // There currently isn't a good way to bypass the serializer\n if (typeof request.body === \"string\" && request.body.startsWith(\"[\")) {\n const body = JSON.parse(request.body);\n if (Array.isArray(body)) {\n request.body = body.map((item) => JSON.stringify(item) + \"\\n\").join(\"\");\n }\n }\n return next(request);\n },\n };\n}\n"]}
1
+ {"version":3,"file":"ndJsonPolicy.js","sourceRoot":"","sources":["../../../src/policies/ndJsonPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;YAC3D,4DAA4D;YAC5D,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\n\n/**\n * The programmatic identifier of the ndJsonPolicy.\n */\nexport const ndJsonPolicyName = \"ndJsonPolicy\";\n\n/**\n * ndJsonPolicy is a policy used to control keep alive settings for every request.\n */\nexport function ndJsonPolicy(): PipelinePolicy {\n return {\n name: ndJsonPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n // There currently isn't a good way to bypass the serializer\n if (typeof request.body === \"string\" && request.body.startsWith(\"[\")) {\n const body: unknown[] = JSON.parse(request.body);\n request.body = body.map((item) => JSON.stringify(item) + \"\\n\").join(\"\");\n }\n return next(request);\n },\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { wrapAbortSignalLike } from "../util/wrapAbortSignal.js";
3
+ import { wrapAbortSignalLike } from "../util/wrapAbortSignal-rn.mjs";
4
4
  export const wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
5
5
  /**
6
6
  * Policy that ensure that any AbortSignalLike is wrapped in a native AbortSignal for processing by the pipeline.
@@ -1 +1 @@
1
- {"version":3,"file":"wrapAbortSignalLikePolicy.js","sourceRoot":"","sources":["../../../src/policies/wrapAbortSignalLikePolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type PipelinePolicy } from \"../pipeline.js\";\nimport { wrapAbortSignalLike } from \"../util/wrapAbortSignal.js\";\n\nexport const wrapAbortSignalLikePolicyName = \"wrapAbortSignalLikePolicy\";\n\n/**\n * Policy that ensure that any AbortSignalLike is wrapped in a native AbortSignal for processing by the pipeline.\n * Since the ts-http-runtime expects a native AbortSignal, this policy is used to ensure that any AbortSignalLike is wrapped in a native AbortSignal.\n *\n * @returns - created policy\n */\nexport function wrapAbortSignalLikePolicy(): PipelinePolicy {\n return {\n name: wrapAbortSignalLikePolicyName,\n sendRequest: async (request, next) => {\n if (!request.abortSignal) {\n return next(request);\n }\n\n const { abortSignal, cleanup } = wrapAbortSignalLike(request.abortSignal);\n request.abortSignal = abortSignal;\n try {\n return await next(request);\n } finally {\n cleanup?.();\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"wrapAbortSignalLikePolicy.js","sourceRoot":"","sources":["../../../src/policies/wrapAbortSignalLikePolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type PipelinePolicy } from \"../pipeline.js\";\nimport { wrapAbortSignalLike } from \"#platform/wrapAbortSignal\";\n\nexport const wrapAbortSignalLikePolicyName = \"wrapAbortSignalLikePolicy\";\n\n/**\n * Policy that ensure that any AbortSignalLike is wrapped in a native AbortSignal for processing by the pipeline.\n * Since the ts-http-runtime expects a native AbortSignal, this policy is used to ensure that any AbortSignalLike is wrapped in a native AbortSignal.\n *\n * @returns - created policy\n */\nexport function wrapAbortSignalLikePolicy(): PipelinePolicy {\n return {\n name: wrapAbortSignalLikePolicyName,\n sendRequest: async (request, next) => {\n if (!request.abortSignal) {\n return next(request);\n }\n\n const { abortSignal, cleanup } = wrapAbortSignalLike(request.abortSignal);\n request.abortSignal = abortSignal;\n try {\n return await next(request);\n } finally {\n cleanup?.();\n }\n },\n };\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import type { CreateFileOptions } from "./file.js";
2
+ /**
3
+ * Create an object that implements the File interface. This object is intended to be
4
+ * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
5
+ * other situations.
6
+ *
7
+ * Use this function to create a File object for use in RequestBodyType.formData in environments
8
+ * where the global File object is unavailable.
9
+ *
10
+ * @param content - the content of the file as a Uint8Array in memory.
11
+ * @param name - the name of the file.
12
+ * @param options - optional metadata about the file, e.g. file name, file size, MIME type.
13
+ */
14
+ export declare function createFile(content: Uint8Array, name: string, options?: CreateFileOptions): File;
15
+ //# sourceMappingURL=createFile-browser.d.mts.map
@@ -0,0 +1,28 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ function hasArrayBuffer(source) {
4
+ return "resize" in source.buffer;
5
+ }
6
+ function toArrayBuffer(source) {
7
+ if (hasArrayBuffer(source)) {
8
+ return source;
9
+ }
10
+ // SharedArrayBuffer — copy to a regular ArrayBuffer
11
+ return source.map((x) => x);
12
+ }
13
+ /**
14
+ * Create an object that implements the File interface. This object is intended to be
15
+ * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
16
+ * other situations.
17
+ *
18
+ * Use this function to create a File object for use in RequestBodyType.formData in environments
19
+ * where the global File object is unavailable.
20
+ *
21
+ * @param content - the content of the file as a Uint8Array in memory.
22
+ * @param name - the name of the file.
23
+ * @param options - optional metadata about the file, e.g. file name, file size, MIME type.
24
+ */
25
+ export function createFile(content, name, options = {}) {
26
+ return new File([toArrayBuffer(content)], name, options);
27
+ }
28
+ //# sourceMappingURL=createFile-browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFile-browser.mjs","sourceRoot":"","sources":["../../../src/util/createFile-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,SAAS,cAAc,CAAC,MAAkB;IACxC,OAAO,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oDAAoD;IACpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,OAAmB,EACnB,IAAY,EACZ,UAA6B,EAAE;IAE/B,OAAO,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CreateFileOptions } from \"./file.js\";\n\nfunction hasArrayBuffer(source: Uint8Array): source is Uint8Array<ArrayBuffer> {\n return \"resize\" in source.buffer;\n}\n\nfunction toArrayBuffer(source: Uint8Array): Uint8Array<ArrayBuffer> {\n if (hasArrayBuffer(source)) {\n return source;\n }\n // SharedArrayBuffer — copy to a regular ArrayBuffer\n return source.map((x) => x);\n}\n\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function to create a File object for use in RequestBodyType.formData in environments\n * where the global File object is unavailable.\n *\n * @param content - the content of the file as a Uint8Array in memory.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFile(\n content: Uint8Array,\n name: string,\n options: CreateFileOptions = {},\n): File {\n return new File([toArrayBuffer(content)], name, options);\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { NodeReadableStream, WebReadableStream } from "@typespec/ts-http-runtime";
1
2
  /**
2
3
  * Options passed into createFile specifying metadata about the file.
3
4
  */
@@ -47,7 +48,7 @@ declare const rawContent: unique symbol;
47
48
  * Type signature of a blob-like object with a raw content property.
48
49
  */
49
50
  export interface RawContent extends Blob {
50
- [rawContent](): Uint8Array | NodeJS.ReadableStream | ReadableStream<Uint8Array>;
51
+ [rawContent](): Uint8Array | NodeReadableStream | WebReadableStream<Uint8Array>;
51
52
  }
52
53
  /**
53
54
  * Type guard to check if a given object is a blob-like object with a raw content property.
@@ -60,7 +61,14 @@ export declare function hasRawContent(x: unknown): x is RawContent;
60
61
  *
61
62
  * @internal
62
63
  */
63
- export declare function getRawContent(blob: Blob): Blob | NodeJS.ReadableStream | ReadableStream<Uint8Array> | Uint8Array;
64
+ export declare function getRawContent(blob: Blob): Blob | NodeReadableStream | WebReadableStream<Uint8Array> | Uint8Array;
65
+ /**
66
+ * @internal
67
+ *
68
+ * Creates a File-like object tagged with rawContent for efficient streaming access.
69
+ * Used by the Node createFile to avoid Blob#stream() bugs.
70
+ */
71
+ export declare function createRawFile(content: Uint8Array, name: string, options?: CreateFileOptions): File;
64
72
  /**
65
73
  * Create an object that implements the File interface. This object is intended to be
66
74
  * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
@@ -78,18 +86,6 @@ export declare function getRawContent(blob: Blob): Blob | NodeJS.ReadableStream
78
86
  * @param name - the name of the file.
79
87
  * @param options - optional metadata about the file, e.g. file name, file size, MIME type.
80
88
  */
81
- export declare function createFileFromStream(stream: () => ReadableStream<Uint8Array> | NodeJS.ReadableStream, name: string, options?: CreateFileFromStreamOptions): File;
82
- /**
83
- * Create an object that implements the File interface. This object is intended to be
84
- * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
85
- * other situations.
86
- *
87
- * Use this function create a File object for use in RequestBodyType.formData in environments where the global File object is unavailable.
88
- *
89
- * @param content - the content of the file as a Uint8Array in memory.
90
- * @param name - the name of the file.
91
- * @param options - optional metadata about the file, e.g. file name, file size, MIME type.
92
- */
93
- export declare function createFile(content: Uint8Array, name: string, options?: CreateFileOptions): File;
94
- export {};
89
+ export declare function createFileFromStream(stream: () => WebReadableStream<Uint8Array> | NodeReadableStream, name: string, options?: CreateFileFromStreamOptions): File;
90
+ export { createFile } from "./createFile-browser.mjs";
95
91
  //# sourceMappingURL=file.d.ts.map
@@ -1,8 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { isNodeLike } from "@azure/core-util";
4
3
  function isNodeReadableStream(x) {
5
- return Boolean(x && typeof x["pipe"] === "function");
4
+ return typeof x === "object" && x !== null && "pipe" in x && typeof x.pipe === "function";
6
5
  }
7
6
  const unimplementedMethods = {
8
7
  arrayBuffer: () => {
@@ -54,6 +53,25 @@ export function getRawContent(blob) {
54
53
  return blob;
55
54
  }
56
55
  }
56
+ /**
57
+ * @internal
58
+ *
59
+ * Creates a File-like object tagged with rawContent for efficient streaming access.
60
+ * Used by the Node createFile to avoid Blob#stream() bugs.
61
+ */
62
+ export function createRawFile(content, name, options = {}) {
63
+ return {
64
+ ...unimplementedMethods,
65
+ type: options.type ?? "",
66
+ lastModified: options.lastModified ?? new Date().getTime(),
67
+ webkitRelativePath: options.webkitRelativePath ?? "",
68
+ size: content.byteLength,
69
+ name,
70
+ arrayBuffer: async () => toArrayBuffer(content).buffer,
71
+ stream: () => new Blob([toArrayBuffer(content)]).stream(),
72
+ [rawContent]: () => content,
73
+ };
74
+ }
57
75
  /**
58
76
  * Create an object that implements the File interface. This object is intended to be
59
77
  * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
@@ -89,38 +107,16 @@ export function createFileFromStream(stream, name, options = {}) {
89
107
  [rawContent]: stream,
90
108
  };
91
109
  }
92
- /**
93
- * Create an object that implements the File interface. This object is intended to be
94
- * passed into RequestBodyType.formData, and is not guaranteed to work as expected in
95
- * other situations.
96
- *
97
- * Use this function create a File object for use in RequestBodyType.formData in environments where the global File object is unavailable.
98
- *
99
- * @param content - the content of the file as a Uint8Array in memory.
100
- * @param name - the name of the file.
101
- * @param options - optional metadata about the file, e.g. file name, file size, MIME type.
102
- */
103
- export function createFile(content, name, options = {}) {
104
- if (isNodeLike) {
105
- return {
106
- ...unimplementedMethods,
107
- type: options.type ?? "",
108
- lastModified: options.lastModified ?? new Date().getTime(),
109
- webkitRelativePath: options.webkitRelativePath ?? "",
110
- size: content.byteLength,
111
- name,
112
- arrayBuffer: async () => content.buffer,
113
- stream: () => new Blob([toArrayBuffer(content)]).stream(),
114
- [rawContent]: () => content,
115
- };
116
- }
117
- else {
118
- return new File([toArrayBuffer(content)], name, options);
119
- }
110
+ export { createFile } from "./createFile-browser.mjs";
111
+ function hasArrayBuffer(source) {
112
+ return "resize" in source.buffer;
120
113
  }
121
114
  function toArrayBuffer(source) {
122
- if ("resize" in source.buffer) {
123
- // ArrayBuffer
115
+ if (hasArrayBuffer(source)) {
116
+ // ArrayBuffer — return a copy if the view is a subarray of a larger buffer
117
+ if (source.byteOffset !== 0 || source.byteLength !== source.buffer.byteLength) {
118
+ return new Uint8Array(source);
119
+ }
124
120
  return source;
125
121
  }
126
122
  // SharedArrayBuffer
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/util/file.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isNodeLike } from \"@azure/core-util\";\n\nfunction isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream {\n return Boolean(x && typeof (x as NodeJS.ReadableStream)[\"pipe\"] === \"function\");\n}\n\n/**\n * Options passed into createFile specifying metadata about the file.\n */\nexport interface CreateFileOptions {\n /**\n * The MIME type of the file.\n */\n type?: string;\n\n /**\n * Last modified time of the file as a UNIX timestamp.\n * This will default to the current date.\n */\n lastModified?: number;\n\n /**\n * relative path of this file when uploading a directory.\n */\n webkitRelativePath?: string;\n}\n\n/**\n * Extra options for createFile when a stream is being passed in.\n */\nexport interface CreateFileFromStreamOptions extends CreateFileOptions {\n /**\n * Size of the file represented by the stream in bytes.\n *\n * This will be used by the pipeline when calculating the Content-Length header\n * for the overall request.\n */\n size?: number;\n}\n\nconst unimplementedMethods = {\n arrayBuffer: () => {\n throw new Error(\"Not implemented\");\n },\n bytes: () => {\n throw new Error(\"Not implemented\");\n },\n slice: () => {\n throw new Error(\"Not implemented\");\n },\n text: () => {\n throw new Error(\"Not implemented\");\n },\n};\n\n/**\n * Private symbol used as key on objects created using createFile containing the\n * original source of the file object.\n *\n * This is used in Node to access the original Node stream without using Blob#stream, which\n * returns a web stream. This is done to avoid a couple of bugs to do with Blob#stream and\n * Readable#to/fromWeb in Node versions we support:\n * - https://github.com/nodejs/node/issues/42694 (fixed in Node 18.14)\n * - https://github.com/nodejs/node/issues/48916 (fixed in Node 20.6)\n *\n * Once these versions are no longer supported, we may be able to stop doing this.\n *\n * @internal\n */\nconst rawContent: unique symbol = Symbol(\"rawContent\");\n\n/**\n * Type signature of a blob-like object with a raw content property.\n */\nexport interface RawContent extends Blob {\n [rawContent](): Uint8Array | NodeJS.ReadableStream | ReadableStream<Uint8Array>;\n}\n\n/**\n * Type guard to check if a given object is a blob-like object with a raw content property.\n */\nexport function hasRawContent(x: unknown): x is RawContent {\n return typeof (x as RawContent)[rawContent] === \"function\";\n}\n\n/**\n * Extract the raw content from a given blob-like object. If the input was created using createFile\n * or createFileFromStream, the exact content passed into createFile/createFileFromStream will be used.\n * For true instances of Blob and File, returns the actual blob.\n *\n * @internal\n */\nexport function getRawContent(\n blob: Blob,\n): Blob | NodeJS.ReadableStream | ReadableStream<Uint8Array> | Uint8Array {\n if (hasRawContent(blob)) {\n return blob[rawContent]();\n } else {\n return blob;\n }\n}\n\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function to:\n * - Create a File object for use in RequestBodyType.formData in environments where the\n * global File object is unavailable.\n * - Create a File-like object from a readable stream without reading the stream into memory.\n *\n * @param stream - the content of the file as a callback returning a stream. When a File object made using createFile is\n * passed in a request's form data map, the stream will not be read into memory\n * and instead will be streamed when the request is made. In the event of a retry, the\n * stream needs to be read again, so this callback SHOULD return a fresh stream if possible.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFileFromStream(\n stream: () => ReadableStream<Uint8Array> | NodeJS.ReadableStream,\n name: string,\n options: CreateFileFromStreamOptions = {},\n): File {\n return {\n ...unimplementedMethods,\n type: options.type ?? \"\",\n lastModified: options.lastModified ?? new Date().getTime(),\n webkitRelativePath: options.webkitRelativePath ?? \"\",\n size: options.size ?? -1,\n name,\n stream: () => {\n const s = stream();\n if (isNodeReadableStream(s)) {\n throw new Error(\n \"Not supported: a Node stream was provided as input to createFileFromStream.\",\n );\n }\n\n return s;\n },\n [rawContent]: stream,\n } as File & RawContent;\n}\n\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function create a File object for use in RequestBodyType.formData in environments where the global File object is unavailable.\n *\n * @param content - the content of the file as a Uint8Array in memory.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFile(\n content: Uint8Array,\n name: string,\n options: CreateFileOptions = {},\n): File {\n if (isNodeLike) {\n return {\n ...unimplementedMethods,\n type: options.type ?? \"\",\n lastModified: options.lastModified ?? new Date().getTime(),\n webkitRelativePath: options.webkitRelativePath ?? \"\",\n size: content.byteLength,\n name,\n arrayBuffer: async () => content.buffer,\n stream: () => new Blob([toArrayBuffer(content)]).stream(),\n [rawContent]: () => content,\n } as File & RawContent;\n } else {\n return new File([toArrayBuffer(content)], name, options);\n }\n}\n\nfunction toArrayBuffer(source: Uint8Array): Uint8Array<ArrayBuffer> {\n if (\"resize\" in source.buffer) {\n // ArrayBuffer\n return source as Uint8Array<ArrayBuffer>;\n }\n // SharedArrayBuffer\n return source.map((x) => x);\n}\n"]}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/util/file.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { NodeReadableStream, WebReadableStream } from \"@typespec/ts-http-runtime\";\n\nfunction isNodeReadableStream(x: unknown): x is NodeReadableStream {\n return typeof x === \"object\" && x !== null && \"pipe\" in x && typeof x.pipe === \"function\";\n}\n\n/**\n * Options passed into createFile specifying metadata about the file.\n */\nexport interface CreateFileOptions {\n /**\n * The MIME type of the file.\n */\n type?: string;\n\n /**\n * Last modified time of the file as a UNIX timestamp.\n * This will default to the current date.\n */\n lastModified?: number;\n\n /**\n * relative path of this file when uploading a directory.\n */\n webkitRelativePath?: string;\n}\n\n/**\n * Extra options for createFile when a stream is being passed in.\n */\nexport interface CreateFileFromStreamOptions extends CreateFileOptions {\n /**\n * Size of the file represented by the stream in bytes.\n *\n * This will be used by the pipeline when calculating the Content-Length header\n * for the overall request.\n */\n size?: number;\n}\n\nconst unimplementedMethods = {\n arrayBuffer: () => {\n throw new Error(\"Not implemented\");\n },\n bytes: () => {\n throw new Error(\"Not implemented\");\n },\n slice: () => {\n throw new Error(\"Not implemented\");\n },\n text: () => {\n throw new Error(\"Not implemented\");\n },\n};\n\n/**\n * Private symbol used as key on objects created using createFile containing the\n * original source of the file object.\n *\n * This is used in Node to access the original Node stream without using Blob#stream, which\n * returns a web stream. This is done to avoid a couple of bugs to do with Blob#stream and\n * Readable#to/fromWeb in Node versions we support:\n * - https://github.com/nodejs/node/issues/42694 (fixed in Node 18.14)\n * - https://github.com/nodejs/node/issues/48916 (fixed in Node 20.6)\n *\n * Once these versions are no longer supported, we may be able to stop doing this.\n *\n * @internal\n */\nconst rawContent: unique symbol = Symbol(\"rawContent\");\n\n/**\n * Type signature of a blob-like object with a raw content property.\n */\nexport interface RawContent extends Blob {\n [rawContent](): Uint8Array | NodeReadableStream | WebReadableStream<Uint8Array>;\n}\n\n/**\n * Type guard to check if a given object is a blob-like object with a raw content property.\n */\nexport function hasRawContent(x: unknown): x is RawContent {\n return typeof (x as RawContent)[rawContent] === \"function\";\n}\n\n/**\n * Extract the raw content from a given blob-like object. If the input was created using createFile\n * or createFileFromStream, the exact content passed into createFile/createFileFromStream will be used.\n * For true instances of Blob and File, returns the actual blob.\n *\n * @internal\n */\nexport function getRawContent(\n blob: Blob,\n): Blob | NodeReadableStream | WebReadableStream<Uint8Array> | Uint8Array {\n if (hasRawContent(blob)) {\n return blob[rawContent]();\n } else {\n return blob;\n }\n}\n\n/**\n * @internal\n *\n * Creates a File-like object tagged with rawContent for efficient streaming access.\n * Used by the Node createFile to avoid Blob#stream() bugs.\n */\nexport function createRawFile(\n content: Uint8Array,\n name: string,\n options: CreateFileOptions = {},\n): File {\n return {\n ...unimplementedMethods,\n type: options.type ?? \"\",\n lastModified: options.lastModified ?? new Date().getTime(),\n webkitRelativePath: options.webkitRelativePath ?? \"\",\n size: content.byteLength,\n name,\n arrayBuffer: async () => toArrayBuffer(content).buffer,\n stream: () =>\n (\n new Blob([toArrayBuffer(content)] as unknown as (Blob | string)[]) as unknown as {\n stream(): WebReadableStream;\n }\n ).stream(),\n [rawContent]: () => content,\n } as File & RawContent;\n}\n\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function to:\n * - Create a File object for use in RequestBodyType.formData in environments where the\n * global File object is unavailable.\n * - Create a File-like object from a readable stream without reading the stream into memory.\n *\n * @param stream - the content of the file as a callback returning a stream. When a File object made using createFile is\n * passed in a request's form data map, the stream will not be read into memory\n * and instead will be streamed when the request is made. In the event of a retry, the\n * stream needs to be read again, so this callback SHOULD return a fresh stream if possible.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFileFromStream(\n stream: () => WebReadableStream<Uint8Array> | NodeReadableStream,\n name: string,\n options: CreateFileFromStreamOptions = {},\n): File {\n return {\n ...unimplementedMethods,\n type: options.type ?? \"\",\n lastModified: options.lastModified ?? new Date().getTime(),\n webkitRelativePath: options.webkitRelativePath ?? \"\",\n size: options.size ?? -1,\n name,\n stream: () => {\n const s = stream();\n if (isNodeReadableStream(s)) {\n throw new Error(\n \"Not supported: a Node stream was provided as input to createFileFromStream.\",\n );\n }\n\n return s;\n },\n [rawContent]: stream,\n } as File & RawContent;\n}\n\nexport { createFile } from \"#platform/createFile\";\n\nfunction hasArrayBuffer(source: Uint8Array): source is Uint8Array<ArrayBuffer> {\n return \"resize\" in source.buffer;\n}\n\nfunction toArrayBuffer(source: Uint8Array): Uint8Array<ArrayBuffer> {\n if (hasArrayBuffer(source)) {\n // ArrayBuffer return a copy if the view is a subarray of a larger buffer\n if (source.byteOffset !== 0 || source.byteLength !== source.buffer.byteLength) {\n return new Uint8Array(source) as Uint8Array<ArrayBuffer>;\n }\n return source;\n }\n // SharedArrayBuffer\n return source.map((x) => x);\n}\n"]}
@@ -83,13 +83,16 @@ export function createTokenCycler(credential, tokenCyclerOptions) {
83
83
  * window and not already refreshing)
84
84
  */
85
85
  get shouldRefresh() {
86
+ if (token === null) {
87
+ return true;
88
+ }
86
89
  if (cycler.isRefreshing) {
87
90
  return false;
88
91
  }
89
- if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
92
+ if (token.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
90
93
  return true;
91
94
  }
92
- return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
95
+ return token.expiresOnTimestamp - options.refreshWindowInMs < Date.now();
93
96
  },
94
97
  /**
95
98
  * Produces true if the cycler MUST refresh (null or nearly-expired
@@ -1 +1 @@
1
- {"version":3,"file":"tokenCycler.js","sourceRoot":"","sources":["../../../src/util/tokenCycler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport { delay } from \"@azure/core-util\";\n\n/**\n * A function that gets a promise of an access token and allows providing\n * options.\n *\n * @param options - the options to pass to the underlying token provider\n */\nexport type AccessTokenGetter = (\n scopes: string | string[],\n options: GetTokenOptions,\n) => Promise<AccessToken>;\n\nexport interface TokenCyclerOptions {\n /**\n * The window of time before token expiration during which the token will be\n * considered unusable due to risk of the token expiring before sending the\n * request.\n *\n * This will only become meaningful if the refresh fails for over\n * (refreshWindow - forcedRefreshWindow) milliseconds.\n */\n forcedRefreshWindowInMs: number;\n /**\n * Interval in milliseconds to retry failed token refreshes.\n */\n retryIntervalInMs: number;\n /**\n * The window of time before token expiration during which\n * we will attempt to refresh the token.\n */\n refreshWindowInMs: number;\n}\n\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS: TokenCyclerOptions = {\n forcedRefreshWindowInMs: 1000, // Force waiting for a refresh 1s before the token expires\n retryIntervalInMs: 3000, // Allow refresh attempts every 3s\n refreshWindowInMs: 1000 * 60 * 2, // Start refreshing 2m before expiry\n};\n\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(\n getAccessToken: () => Promise<AccessToken | null>,\n retryIntervalInMs: number,\n refreshTimeout: number,\n): Promise<AccessToken> {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken(): Promise<AccessToken | null> {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n } catch {\n return null;\n }\n } else {\n const finalToken = await getAccessToken();\n\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n\n return finalToken;\n }\n }\n\n let token: AccessToken | null = await tryGetAccessToken();\n\n while (token === null) {\n await delay(retryIntervalInMs);\n\n token = await tryGetAccessToken();\n }\n\n return token;\n}\n\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler(\n credential: TokenCredential,\n tokenCyclerOptions?: Partial<TokenCyclerOptions>,\n): AccessTokenGetter {\n let refreshWorker: Promise<AccessToken> | null = null;\n let token: AccessToken | null = null;\n let tenantId: string | undefined;\n\n const options = {\n ...DEFAULT_CYCLER_OPTIONS,\n ...tokenCyclerOptions,\n };\n\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing(): boolean {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh(): boolean {\n if (cycler.isRefreshing) {\n return false;\n }\n if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {\n return true;\n }\n\n return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh(): boolean {\n return (\n token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now()\n );\n },\n };\n\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(\n scopes: string | string[],\n getTokenOptions: GetTokenOptions,\n ): Promise<AccessToken> {\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = (): Promise<AccessToken | null> =>\n credential.getToken(scopes, getTokenOptions);\n\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(\n tryGetAccessToken,\n options.retryIntervalInMs,\n // If we don't have a token, then we should timeout immediately\n token?.expiresOnTimestamp ?? Date.now(),\n )\n .then((_token) => {\n refreshWorker = null;\n token = _token;\n tenantId = getTokenOptions.tenantId;\n return token;\n })\n .catch((reason) => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n tenantId = undefined;\n throw reason;\n });\n }\n\n return refreshWorker as Promise<AccessToken>;\n }\n\n return async (scopes: string | string[], tokenOptions: GetTokenOptions): Promise<AccessToken> => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n\n const hasClaimChallenge = Boolean(tokenOptions.claims);\n const tenantIdChanged = tenantId !== tokenOptions.tenantId;\n\n if (hasClaimChallenge) {\n // If we've received a claim, we know the existing token isn't valid\n // We want to clear it so that that refresh worker won't use the old expiration time as a timeout\n token = null;\n }\n\n // If the tenantId passed in token options is different to the one we have\n // Or if we are in claim challenge and the token was rejected and a new access token need to be issued, we need to\n // refresh the token with the new tenantId or token.\n const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;\n\n if (mustRefresh) {\n return refresh(scopes, tokenOptions);\n }\n\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n\n return token as AccessToken;\n };\n}\n"]}
1
+ {"version":3,"file":"tokenCycler.js","sourceRoot":"","sources":["../../../src/util/tokenCycler.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport { delay } from \"@azure/core-util\";\n\n/**\n * A function that gets a promise of an access token and allows providing\n * options.\n *\n * @param options - the options to pass to the underlying token provider\n */\nexport type AccessTokenGetter = (\n scopes: string | string[],\n options: GetTokenOptions,\n) => Promise<AccessToken>;\n\nexport interface TokenCyclerOptions {\n /**\n * The window of time before token expiration during which the token will be\n * considered unusable due to risk of the token expiring before sending the\n * request.\n *\n * This will only become meaningful if the refresh fails for over\n * (refreshWindow - forcedRefreshWindow) milliseconds.\n */\n forcedRefreshWindowInMs: number;\n /**\n * Interval in milliseconds to retry failed token refreshes.\n */\n retryIntervalInMs: number;\n /**\n * The window of time before token expiration during which\n * we will attempt to refresh the token.\n */\n refreshWindowInMs: number;\n}\n\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS: TokenCyclerOptions = {\n forcedRefreshWindowInMs: 1000, // Force waiting for a refresh 1s before the token expires\n retryIntervalInMs: 3000, // Allow refresh attempts every 3s\n refreshWindowInMs: 1000 * 60 * 2, // Start refreshing 2m before expiry\n};\n\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(\n getAccessToken: () => Promise<AccessToken | null>,\n retryIntervalInMs: number,\n refreshTimeout: number,\n): Promise<AccessToken> {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken(): Promise<AccessToken | null> {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n } catch {\n return null;\n }\n } else {\n const finalToken = await getAccessToken();\n\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n\n return finalToken;\n }\n }\n\n let token: AccessToken | null = await tryGetAccessToken();\n\n while (token === null) {\n await delay(retryIntervalInMs);\n\n token = await tryGetAccessToken();\n }\n\n return token;\n}\n\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler(\n credential: TokenCredential,\n tokenCyclerOptions?: Partial<TokenCyclerOptions>,\n): AccessTokenGetter {\n let refreshWorker: Promise<AccessToken> | null = null;\n let token: AccessToken | null = null;\n let tenantId: string | undefined;\n\n const options = {\n ...DEFAULT_CYCLER_OPTIONS,\n ...tokenCyclerOptions,\n };\n\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing(): boolean {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh(): boolean {\n if (token === null) {\n return true;\n }\n if (cycler.isRefreshing) {\n return false;\n }\n if (token.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {\n return true;\n }\n\n return token.expiresOnTimestamp - options.refreshWindowInMs < Date.now();\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh(): boolean {\n return (\n token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now()\n );\n },\n };\n\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(\n scopes: string | string[],\n getTokenOptions: GetTokenOptions,\n ): Promise<AccessToken> {\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = (): Promise<AccessToken | null> =>\n credential.getToken(scopes, getTokenOptions);\n\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(\n tryGetAccessToken,\n options.retryIntervalInMs,\n // If we don't have a token, then we should timeout immediately\n token?.expiresOnTimestamp ?? Date.now(),\n )\n .then((_token) => {\n refreshWorker = null;\n token = _token;\n tenantId = getTokenOptions.tenantId;\n return token;\n })\n .catch((reason) => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n tenantId = undefined;\n throw reason;\n });\n }\n\n return refreshWorker as Promise<AccessToken>;\n }\n\n return async (scopes: string | string[], tokenOptions: GetTokenOptions): Promise<AccessToken> => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n\n const hasClaimChallenge = Boolean(tokenOptions.claims);\n const tenantIdChanged = tenantId !== tokenOptions.tenantId;\n\n if (hasClaimChallenge) {\n // If we've received a claim, we know the existing token isn't valid\n // We want to clear it so that that refresh worker won't use the old expiration time as a timeout\n token = null;\n }\n\n // If the tenantId passed in token options is different to the one we have\n // Or if we are in claim challenge and the token was rejected and a new access token need to be issued, we need to\n // refresh the token with the new tenantId or token.\n const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;\n\n if (mustRefresh) {\n return refresh(scopes, tokenOptions);\n }\n\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n\n return token as AccessToken;\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { getHeaderName, setPlatformSpecificData } from "./userAgentPlatform.js";
3
+ import { getHeaderName, setPlatformSpecificData } from "./userAgentPlatform-react-native.mjs";
4
4
  import { SDK_VERSION } from "../constants.js";
5
5
  function getUserAgentString(telemetryInfo) {
6
6
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"userAgent.js","sourceRoot":"","sources":["../../../src/util/userAgent.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,SAAS,kBAAkB,CAAC,aAAkC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAe;IACrD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3E,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getHeaderName, setPlatformSpecificData } from \"./userAgentPlatform.js\";\nimport { SDK_VERSION } from \"../constants.js\";\n\nfunction getUserAgentString(telemetryInfo: Map<string, string>): string {\n const parts: string[] = [];\n for (const [key, value] of telemetryInfo) {\n const token = value ? `${key}/${value}` : key;\n parts.push(token);\n }\n return parts.join(\" \");\n}\n\n/**\n * @internal\n */\nexport function getUserAgentHeaderName(): string {\n return getHeaderName();\n}\n\n/**\n * @internal\n */\nexport async function getUserAgentValue(prefix?: string): Promise<string> {\n const runtimeInfo = new Map<string, string>();\n runtimeInfo.set(\"core-rest-pipeline\", SDK_VERSION);\n await setPlatformSpecificData(runtimeInfo);\n const defaultAgent = getUserAgentString(runtimeInfo);\n const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;\n return userAgentValue;\n}\n"]}
1
+ {"version":3,"file":"userAgent.js","sourceRoot":"","sources":["../../../src/util/userAgent.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,SAAS,kBAAkB,CAAC,aAAkC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAe;IACrD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3E,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getHeaderName, setPlatformSpecificData } from \"#platform/userAgent\";\nimport { SDK_VERSION } from \"../constants.js\";\n\nfunction getUserAgentString(telemetryInfo: Map<string, string>): string {\n const parts: string[] = [];\n for (const [key, value] of telemetryInfo) {\n const token = value ? `${key}/${value}` : key;\n parts.push(token);\n }\n return parts.join(\" \");\n}\n\n/**\n * @internal\n */\nexport function getUserAgentHeaderName(): string {\n return getHeaderName();\n}\n\n/**\n * @internal\n */\nexport async function getUserAgentValue(prefix?: string): Promise<string> {\n const runtimeInfo = new Map<string, string>();\n runtimeInfo.set(\"core-rest-pipeline\", SDK_VERSION);\n await setPlatformSpecificData(runtimeInfo);\n const defaultAgent = getUserAgentString(runtimeInfo);\n const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;\n return userAgentValue;\n}\n"]}
@@ -6,4 +6,4 @@ export declare function getHeaderName(): string;
6
6
  * @internal
7
7
  */
8
8
  export declare function setPlatformSpecificData(map: Map<string, string>): Promise<void>;
9
- //# sourceMappingURL=userAgentPlatform.d.ts.map
9
+ //# sourceMappingURL=userAgentPlatform-react-native.d.mts.map
@@ -16,4 +16,4 @@ export async function setPlatformSpecificData(map) {
16
16
  map.set("react-native", `${major}.${minor}.${patch} (${Platform.OS} ${Platform.Version})`);
17
17
  }
18
18
  }
19
- //# sourceMappingURL=userAgentPlatform.js.map
19
+ //# sourceMappingURL=userAgentPlatform-react-native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAgentPlatform-react-native.mjs","sourceRoot":"","sources":["../../../src/util/userAgentPlatform-react-native.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAwB;IACpE,IAAI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAC3C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACtE,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Platform } from \"react-native\";\n\n/**\n * @internal\n */\nexport function getHeaderName(): string {\n return \"x-ms-useragent\";\n}\n\n/**\n * @internal\n */\nexport async function setPlatformSpecificData(map: Map<string, string>): Promise<void> {\n if (Platform.constants?.reactNativeVersion) {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n map.set(\"react-native\", `${major}.${minor}.${patch} (${Platform.OS} ${Platform.Version})`);\n }\n}\n"]}