@openclaw/msteams 2026.5.27 → 2026.5.28-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 (701) hide show
  1. package/dist/api.js +2 -2
  2. package/dist/{channel-c7nnGfMx.js → channel-C_AMaSpi.js} +5 -5
  3. package/dist/channel-config-api.js +1 -1
  4. package/dist/channel-plugin-api.js +1 -1
  5. package/dist/{channel.runtime-Boha-kk1.js → channel.runtime-BJJ1R1iY.js} +3 -3
  6. package/dist/{config-schema-CuksCQKC.js → config-schema-BL4qQZiA.js} +8 -0
  7. package/dist/{graph-users-uPAE6-KQ.js → errors-B4snzfP5.js} +378 -624
  8. package/dist/{oauth-C5ObhLG6.js → oauth-BrKjrCNK.js} +1 -1
  9. package/dist/{oauth.token-BNbWziwM.js → oauth.token-5ygi8ycy.js} +8 -6
  10. package/dist/{probe-istgFnuw.js → probe-DRwI-ZqW.js} +221 -120
  11. package/dist/setup-plugin-api.js +3 -3
  12. package/dist/{setup-surface-evwYex71.js → setup-surface-C-uCiIKh.js} +2 -2
  13. package/dist/{src-ui0zJEZI.js → src-Cc3f8Zi2.js} +786 -994
  14. package/node_modules/@microsoft/teams.api/dist/activities/activity.d.mts +0 -1
  15. package/node_modules/@microsoft/teams.api/dist/activities/activity.d.ts +0 -1
  16. package/node_modules/@microsoft/teams.api/dist/activities/activity.js +0 -4
  17. package/node_modules/@microsoft/teams.api/dist/activities/activity.js.map +1 -1
  18. package/node_modules/@microsoft/teams.api/dist/activities/activity.mjs +0 -4
  19. package/node_modules/@microsoft/teams.api/dist/activities/activity.mjs.map +1 -1
  20. package/node_modules/@microsoft/teams.api/dist/activities/index.d.mts +3 -2
  21. package/node_modules/@microsoft/teams.api/dist/activities/index.d.ts +3 -2
  22. package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.d.mts +3 -2
  23. package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.d.ts +3 -2
  24. package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.js +7 -0
  25. package/node_modules/@microsoft/teams.api/dist/activities/invoke/index.mjs +1 -0
  26. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/fetch-task.d.mts +3 -2
  27. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/fetch-task.d.ts +3 -2
  28. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/index.d.mts +3 -2
  29. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/index.d.ts +3 -2
  30. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/submit-action.d.mts +3 -2
  31. package/node_modules/@microsoft/teams.api/dist/activities/invoke/message-extension/submit-action.d.ts +3 -2
  32. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.d.mts +48 -0
  33. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.d.ts +48 -0
  34. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.js +4 -0
  35. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.js.map +1 -0
  36. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.mjs +3 -0
  37. package/node_modules/@microsoft/teams.api/dist/activities/invoke/suggested-action-submit.mjs.map +1 -0
  38. package/node_modules/@microsoft/teams.api/dist/activities/message/index.d.mts +3 -3
  39. package/node_modules/@microsoft/teams.api/dist/activities/message/index.d.ts +3 -3
  40. package/node_modules/@microsoft/teams.api/dist/activities/message/message.d.mts +2 -2
  41. package/node_modules/@microsoft/teams.api/dist/activities/message/message.d.ts +2 -2
  42. package/node_modules/@microsoft/teams.api/dist/activities/message/message.js +60 -2
  43. package/node_modules/@microsoft/teams.api/dist/activities/message/message.js.map +1 -1
  44. package/node_modules/@microsoft/teams.api/dist/activities/message/message.mjs +60 -2
  45. package/node_modules/@microsoft/teams.api/dist/activities/message/message.mjs.map +1 -1
  46. package/node_modules/@microsoft/teams.api/dist/activities/utils/index.d.mts +4 -3
  47. package/node_modules/@microsoft/teams.api/dist/activities/utils/index.d.ts +4 -3
  48. package/node_modules/@microsoft/teams.api/dist/activities/utils/strip-mentions-text.d.mts +2 -2
  49. package/node_modules/@microsoft/teams.api/dist/activities/utils/strip-mentions-text.d.ts +2 -2
  50. package/node_modules/@microsoft/teams.api/dist/activities/utils/to-activity-params.d.mts +4 -3
  51. package/node_modules/@microsoft/teams.api/dist/activities/utils/to-activity-params.d.ts +4 -3
  52. package/node_modules/@microsoft/teams.api/dist/{activity-Be6r1tJJ.d.ts → activity-DzKP6phL.d.ts} +3 -2
  53. package/node_modules/@microsoft/teams.api/dist/{activity-CJery-zL.d.mts → activity-KJJs2q-W.d.mts} +3 -2
  54. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.d.mts +14 -0
  55. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.d.ts +14 -0
  56. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.js +14 -0
  57. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.js.map +1 -1
  58. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.mjs +14 -0
  59. package/node_modules/@microsoft/teams.api/dist/auth/json-web-token.mjs.map +1 -1
  60. package/node_modules/@microsoft/teams.api/dist/clients/conversation/activity.d.mts +4 -3
  61. package/node_modules/@microsoft/teams.api/dist/clients/conversation/activity.d.ts +4 -3
  62. package/node_modules/@microsoft/teams.api/dist/clients/conversation/index.d.mts +4 -3
  63. package/node_modules/@microsoft/teams.api/dist/clients/conversation/index.d.ts +4 -3
  64. package/node_modules/@microsoft/teams.api/dist/clients/index.d.mts +4 -3
  65. package/node_modules/@microsoft/teams.api/dist/clients/index.d.ts +4 -3
  66. package/node_modules/@microsoft/teams.api/dist/index.d.mts +3 -2
  67. package/node_modules/@microsoft/teams.api/dist/index.d.ts +3 -2
  68. package/node_modules/@microsoft/teams.api/dist/{message-BwI6kmCe.d.ts → message-D0n_F-cL.d.ts} +37 -1
  69. package/node_modules/@microsoft/teams.api/dist/{message-Bd75JRjv.d.mts → message-DTEe5v6q.d.mts} +37 -1
  70. package/node_modules/@microsoft/teams.api/dist/models/activity-like.d.mts +4 -3
  71. package/node_modules/@microsoft/teams.api/dist/models/activity-like.d.ts +4 -3
  72. package/node_modules/@microsoft/teams.api/dist/models/card/card-action.d.mts +8 -1
  73. package/node_modules/@microsoft/teams.api/dist/models/card/card-action.d.ts +8 -1
  74. package/node_modules/@microsoft/teams.api/dist/models/index.d.mts +3 -2
  75. package/node_modules/@microsoft/teams.api/dist/models/index.d.ts +3 -2
  76. package/node_modules/@microsoft/teams.api/dist/models/invoke-response.d.mts +5 -3
  77. package/node_modules/@microsoft/teams.api/dist/models/invoke-response.d.ts +5 -3
  78. package/node_modules/@microsoft/teams.api/dist/models/invoke-response.js.map +1 -1
  79. package/node_modules/@microsoft/teams.api/dist/models/invoke-response.mjs.map +1 -1
  80. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/index.d.mts +4 -3
  81. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/index.d.ts +4 -3
  82. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action-response.d.mts +4 -3
  83. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action-response.d.ts +4 -3
  84. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action.d.mts +4 -3
  85. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-action.d.ts +4 -3
  86. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-response.d.mts +4 -3
  87. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-response.d.ts +4 -3
  88. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-result.d.mts +4 -3
  89. package/node_modules/@microsoft/teams.api/dist/models/messaging-extension/messaging-extension-result.d.ts +4 -3
  90. package/node_modules/@microsoft/teams.api/package.json +5 -5
  91. package/node_modules/@microsoft/teams.apps/dist/contexts/activity.d.ts +27 -2
  92. package/node_modules/@microsoft/teams.apps/dist/contexts/activity.js +119 -58
  93. package/node_modules/@microsoft/teams.apps/dist/contexts/activity.test.js +235 -33
  94. package/node_modules/@microsoft/teams.apps/dist/http/express-adapter.d.ts +8 -1
  95. package/node_modules/@microsoft/teams.apps/dist/http/express-adapter.js +10 -4
  96. package/node_modules/@microsoft/teams.apps/dist/http/http-server.js +14 -1
  97. package/node_modules/@microsoft/teams.apps/dist/http/http-stream.d.ts +77 -46
  98. package/node_modules/@microsoft/teams.apps/dist/http/http-stream.js +31 -16
  99. package/node_modules/@microsoft/teams.apps/dist/routes/invoke/index.d.ts +1 -0
  100. package/node_modules/@microsoft/teams.apps/dist/routes/invoke/index.js +2 -1
  101. package/node_modules/@microsoft/teams.apps/dist/types/app-routing.d.ts +2 -2
  102. package/node_modules/@microsoft/teams.apps/dist/types/streamer.d.ts +9 -0
  103. package/node_modules/@microsoft/teams.apps/package.json +5 -5
  104. package/node_modules/@microsoft/teams.cards/dist/actions/submit/collab-stage.js.map +1 -1
  105. package/node_modules/@microsoft/teams.cards/dist/actions/submit/collab-stage.mjs.map +1 -1
  106. package/node_modules/@microsoft/teams.cards/dist/actions/submit/im-back.js.map +1 -1
  107. package/node_modules/@microsoft/teams.cards/dist/actions/submit/im-back.mjs.map +1 -1
  108. package/node_modules/@microsoft/teams.cards/dist/actions/submit/invoke.js.map +1 -1
  109. package/node_modules/@microsoft/teams.cards/dist/actions/submit/invoke.mjs.map +1 -1
  110. package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.d.mts +1 -1
  111. package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.d.ts +1 -1
  112. package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.js.map +1 -1
  113. package/node_modules/@microsoft/teams.cards/dist/actions/submit/message-back.mjs.map +1 -1
  114. package/node_modules/@microsoft/teams.cards/dist/actions/submit/sign-in.js.map +1 -1
  115. package/node_modules/@microsoft/teams.cards/dist/actions/submit/sign-in.mjs.map +1 -1
  116. package/node_modules/@microsoft/teams.cards/dist/actions/submit/task-fetch.js.map +1 -1
  117. package/node_modules/@microsoft/teams.cards/dist/actions/submit/task-fetch.mjs.map +1 -1
  118. package/node_modules/@microsoft/teams.cards/package.json +2 -2
  119. package/node_modules/@microsoft/teams.common/dist/events/event-emitter.d.mts +2 -2
  120. package/node_modules/@microsoft/teams.common/dist/events/event-emitter.d.ts +2 -2
  121. package/node_modules/@microsoft/teams.common/dist/events/event-emitter.js.map +1 -1
  122. package/node_modules/@microsoft/teams.common/dist/events/event-emitter.mjs.map +1 -1
  123. package/node_modules/@microsoft/teams.common/dist/http/client.d.mts +1 -1
  124. package/node_modules/@microsoft/teams.common/dist/http/client.d.ts +1 -1
  125. package/node_modules/@microsoft/teams.common/dist/http/client.js +3 -1
  126. package/node_modules/@microsoft/teams.common/dist/http/client.js.map +1 -1
  127. package/node_modules/@microsoft/teams.common/dist/http/client.mjs +3 -1
  128. package/node_modules/@microsoft/teams.common/dist/http/client.mjs.map +1 -1
  129. package/node_modules/@microsoft/teams.common/dist/logging/console.d.mts +1 -1
  130. package/node_modules/@microsoft/teams.common/dist/logging/console.d.ts +1 -1
  131. package/node_modules/@microsoft/teams.common/dist/logging/console.js +3 -1
  132. package/node_modules/@microsoft/teams.common/dist/logging/console.js.map +1 -1
  133. package/node_modules/@microsoft/teams.common/dist/logging/console.mjs +3 -1
  134. package/node_modules/@microsoft/teams.common/dist/logging/console.mjs.map +1 -1
  135. package/node_modules/@microsoft/teams.common/dist/logging/string.js.map +1 -1
  136. package/node_modules/@microsoft/teams.common/dist/logging/string.mjs.map +1 -1
  137. package/node_modules/@microsoft/teams.common/dist/storage/list-local-storage.js.map +1 -1
  138. package/node_modules/@microsoft/teams.common/dist/storage/list-local-storage.mjs.map +1 -1
  139. package/node_modules/@microsoft/teams.common/dist/storage/local-storage.js.map +1 -1
  140. package/node_modules/@microsoft/teams.common/dist/storage/local-storage.mjs.map +1 -1
  141. package/node_modules/@microsoft/teams.common/package.json +2 -2
  142. package/node_modules/@microsoft/teams.graph/dist/index.js +2 -2
  143. package/node_modules/@microsoft/teams.graph/dist/index.mjs +2 -2
  144. package/node_modules/@microsoft/teams.graph/package.json +4 -4
  145. package/node_modules/jose/README.md +62 -83
  146. package/node_modules/jose/dist/types/index.d.ts +48 -55
  147. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +4 -12
  148. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +9 -22
  149. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +4 -12
  150. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +21 -24
  151. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +4 -19
  152. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +21 -35
  153. package/node_modules/jose/dist/types/jwk/embedded.d.ts +2 -10
  154. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -16
  155. package/node_modules/jose/dist/types/jwks/local.d.ts +13 -16
  156. package/node_modules/jose/dist/types/jwks/remote.d.ts +16 -204
  157. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +6 -18
  158. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +5 -13
  159. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +8 -18
  160. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +5 -13
  161. package/node_modules/jose/dist/types/jws/general/sign.d.ts +12 -24
  162. package/node_modules/jose/dist/types/jws/general/verify.d.ts +5 -21
  163. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +5 -13
  164. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +17 -31
  165. package/node_modules/jose/dist/types/jwt/sign.d.ts +6 -26
  166. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +7 -29
  167. package/node_modules/jose/dist/types/jwt/verify.d.ts +6 -14
  168. package/node_modules/jose/dist/types/key/export.d.ts +12 -24
  169. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +11 -22
  170. package/node_modules/jose/dist/types/key/generate_secret.d.ts +8 -24
  171. package/node_modules/jose/dist/types/key/import.d.ts +33 -62
  172. package/node_modules/jose/dist/types/types.d.ts +165 -407
  173. package/node_modules/jose/dist/types/util/base64url.d.ts +16 -6
  174. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +2 -10
  175. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +2 -11
  176. package/node_modules/jose/dist/types/util/errors.d.ts +36 -98
  177. package/node_modules/jose/package.json +17 -127
  178. package/node_modules/jwks-rsa/package.json +4 -4
  179. package/node_modules/jwks-rsa/src/integrations/config.js +1 -0
  180. package/node_modules/jwks-rsa/src/utils.js +2 -0
  181. package/node_modules/jwks-rsa/src/wrappers/cache.js +1 -1
  182. package/node_modules/lru-cache/README.md +117 -420
  183. package/node_modules/lru-cache/package.json +12 -132
  184. package/node_modules/lru-memoizer/README.md +21 -22
  185. package/node_modules/lru-memoizer/lib/async.d.ts +32 -15
  186. package/node_modules/lru-memoizer/lib/async.js +113 -55
  187. package/node_modules/lru-memoizer/lib/freeze.d.ts +0 -1
  188. package/node_modules/lru-memoizer/lib/freeze.js +1 -1
  189. package/node_modules/lru-memoizer/lib/index.d.ts +0 -1
  190. package/node_modules/lru-memoizer/lib/index.js +2 -2
  191. package/node_modules/lru-memoizer/lib/sync.d.ts +16 -17
  192. package/node_modules/lru-memoizer/lib/sync.js +62 -34
  193. package/node_modules/lru-memoizer/lib/util.d.ts +40 -41
  194. package/node_modules/lru-memoizer/lib/util.js +1 -1
  195. package/node_modules/lru-memoizer/package.json +4 -3
  196. package/node_modules/lru-memoizer/test/lru-memoizer.clone.test.js +1 -2
  197. package/node_modules/lru-memoizer/test/lru-memoizer.freeze.test.js +0 -1
  198. package/node_modules/lru-memoizer/test/lru-memoizer.itemmaxage.test.js +26 -26
  199. package/node_modules/lru-memoizer/test/lru-memoizer.nokey.test.js +0 -1
  200. package/node_modules/lru-memoizer/test/lru-memoizer.queumaxage.test.js +3 -4
  201. package/node_modules/lru-memoizer/test/lru-memoizer.sync.clone.test.js +2 -4
  202. package/node_modules/lru-memoizer/test/lru-memoizer.sync.freeze.js +2 -4
  203. package/node_modules/lru-memoizer/tsconfig.json +56 -16
  204. package/node_modules/semver/classes/range.js +7 -0
  205. package/node_modules/semver/package.json +1 -1
  206. package/node_modules/semver/ranges/subset.js +2 -2
  207. package/npm-shrinkwrap.json +52 -98
  208. package/openclaw.plugin.json +21 -0
  209. package/package.json +6 -10
  210. package/dist/test-api.js +0 -2
  211. package/node_modules/@microsoft/teams.apps/node_modules/jose/LICENSE.md +0 -21
  212. package/node_modules/@microsoft/teams.apps/node_modules/jose/README.md +0 -132
  213. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/index.d.ts +0 -48
  214. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +0 -23
  215. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +0 -52
  216. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +0 -23
  217. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +0 -80
  218. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +0 -23
  219. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +0 -60
  220. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwk/embedded.d.ts +0 -9
  221. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwk/thumbprint.d.ts +0 -21
  222. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwks/local.d.ts +0 -26
  223. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwks/remote.d.ts +0 -49
  224. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/compact/sign.d.ts +0 -24
  225. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/compact/verify.d.ts +0 -25
  226. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/flattened/sign.d.ts +0 -32
  227. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/flattened/verify.d.ts +0 -25
  228. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/general/sign.d.ts +0 -41
  229. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jws/general/verify.d.ts +0 -25
  230. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/decrypt.d.ts +0 -27
  231. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/encrypt.d.ts +0 -77
  232. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/sign.d.ts +0 -23
  233. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/unsecured.d.ts +0 -21
  234. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/jwt/verify.d.ts +0 -29
  235. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/export.d.ts +0 -21
  236. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/generate_key_pair.d.ts +0 -36
  237. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/generate_secret.d.ts +0 -19
  238. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/key/import.d.ts +0 -54
  239. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/types.d.ts +0 -610
  240. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/base64url.d.ts +0 -19
  241. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/decode_jwt.d.ts +0 -10
  242. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/decode_protected_header.d.ts +0 -8
  243. package/node_modules/@microsoft/teams.apps/node_modules/jose/dist/types/util/errors.d.ts +0 -151
  244. package/node_modules/@microsoft/teams.apps/node_modules/jose/package.json +0 -90
  245. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/LICENSE +0 -21
  246. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/README.md +0 -84
  247. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/index.d.ts +0 -139
  248. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/package.json +0 -74
  249. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/JwksClient.js +0 -91
  250. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/ArgumentError.js +0 -10
  251. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/JwksError.js +0 -10
  252. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/JwksRateLimitError.js +0 -10
  253. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/SigningKeyNotFoundError.js +0 -10
  254. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/errors/index.js +0 -6
  255. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/index.js +0 -22
  256. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/config.js +0 -15
  257. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/express.js +0 -60
  258. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/hapi.js +0 -59
  259. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/koa.js +0 -30
  260. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/integrations/passport.js +0 -52
  261. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/utils.js +0 -80
  262. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/cache.js +0 -15
  263. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/callbackSupport.js +0 -16
  264. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/index.js +0 -7
  265. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/interceptor.js +0 -30
  266. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/rateLimit.js +0 -34
  267. package/node_modules/@microsoft/teams.apps/node_modules/jwks-rsa/src/wrappers/request.js +0 -54
  268. package/node_modules/@microsoft/teams.apps/node_modules/lru-cache/README.md +0 -166
  269. package/node_modules/@microsoft/teams.apps/node_modules/lru-cache/package.json +0 -34
  270. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/.jshintrc +0 -41
  271. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/LICENSE +0 -21
  272. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/README.md +0 -88
  273. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/async.d.ts +0 -85
  274. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/async.js +0 -178
  275. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/freeze.d.ts +0 -1
  276. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/freeze.js +0 -23
  277. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/index.d.ts +0 -2
  278. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/index.js +0 -4
  279. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/sync.d.ts +0 -65
  280. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/sync.js +0 -114
  281. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/util.d.ts +0 -162
  282. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/lib/util.js +0 -3
  283. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/package.json +0 -34
  284. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.bypass.test.js +0 -39
  285. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.clone.test.js +0 -44
  286. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.disable.test.js +0 -49
  287. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.events.test.js +0 -132
  288. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.freeze.test.js +0 -43
  289. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.itemmaxage.test.js +0 -204
  290. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.lock.test.js +0 -36
  291. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.nokey.test.js +0 -43
  292. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.queumaxage.test.js +0 -110
  293. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.clone.test.js +0 -76
  294. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.events.test.js +0 -95
  295. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.freeze.js +0 -74
  296. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.sync.test.js +0 -47
  297. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/test/lru-memoizer.test.js +0 -88
  298. package/node_modules/@microsoft/teams.apps/node_modules/lru-memoizer/tsconfig.json +0 -59
  299. package/node_modules/jose/dist/webapi/index.js +0 -32
  300. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +0 -27
  301. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +0 -27
  302. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +0 -159
  303. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +0 -167
  304. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +0 -31
  305. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +0 -182
  306. package/node_modules/jose/dist/webapi/jwk/embedded.js +0 -17
  307. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +0 -68
  308. package/node_modules/jose/dist/webapi/jwks/local.js +0 -119
  309. package/node_modules/jose/dist/webapi/jwks/remote.js +0 -179
  310. package/node_modules/jose/dist/webapi/jws/compact/sign.js +0 -18
  311. package/node_modules/jose/dist/webapi/jws/compact/verify.js +0 -21
  312. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +0 -89
  313. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +0 -110
  314. package/node_modules/jose/dist/webapi/jws/general/sign.js +0 -70
  315. package/node_modules/jose/dist/webapi/jws/general/verify.js +0 -24
  316. package/node_modules/jose/dist/webapi/jwt/decrypt.js +0 -23
  317. package/node_modules/jose/dist/webapi/jwt/encrypt.js +0 -101
  318. package/node_modules/jose/dist/webapi/jwt/sign.js +0 -52
  319. package/node_modules/jose/dist/webapi/jwt/unsecured.js +0 -63
  320. package/node_modules/jose/dist/webapi/jwt/verify.js +0 -15
  321. package/node_modules/jose/dist/webapi/key/export.js +0 -11
  322. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +0 -97
  323. package/node_modules/jose/dist/webapi/key/generate_secret.js +0 -40
  324. package/node_modules/jose/dist/webapi/key/import.js +0 -57
  325. package/node_modules/jose/dist/webapi/lib/aesgcmkw.js +0 -15
  326. package/node_modules/jose/dist/webapi/lib/aeskw.js +0 -25
  327. package/node_modules/jose/dist/webapi/lib/asn1.js +0 -243
  328. package/node_modules/jose/dist/webapi/lib/base64.js +0 -22
  329. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +0 -43
  330. package/node_modules/jose/dist/webapi/lib/check_key_type.js +0 -122
  331. package/node_modules/jose/dist/webapi/lib/content_encryption.js +0 -217
  332. package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -136
  333. package/node_modules/jose/dist/webapi/lib/deflate.js +0 -44
  334. package/node_modules/jose/dist/webapi/lib/ecdhes.js +0 -52
  335. package/node_modules/jose/dist/webapi/lib/helpers.js +0 -19
  336. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -27
  337. package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
  338. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -107
  339. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +0 -238
  340. package/node_modules/jose/dist/webapi/lib/key_management.js +0 -186
  341. package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +0 -31
  342. package/node_modules/jose/dist/webapi/lib/normalize_key.js +0 -166
  343. package/node_modules/jose/dist/webapi/lib/pbes2kw.js +0 -42
  344. package/node_modules/jose/dist/webapi/lib/rsaes.js +0 -24
  345. package/node_modules/jose/dist/webapi/lib/signing.js +0 -68
  346. package/node_modules/jose/dist/webapi/lib/type_checks.js +0 -40
  347. package/node_modules/jose/dist/webapi/lib/validate_algorithms.js +0 -10
  348. package/node_modules/jose/dist/webapi/lib/validate_crit.js +0 -33
  349. package/node_modules/jose/dist/webapi/util/base64url.js +0 -30
  350. package/node_modules/jose/dist/webapi/util/decode_jwt.js +0 -32
  351. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +0 -34
  352. package/node_modules/jose/dist/webapi/util/errors.js +0 -99
  353. package/node_modules/lru-cache/LICENSE.md +0 -55
  354. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +0 -1
  355. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +0 -1
  356. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +0 -5
  357. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +0 -7
  358. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +0 -1400
  359. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +0 -1
  360. package/node_modules/lru-cache/dist/commonjs/browser/index.js +0 -1726
  361. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +0 -1
  362. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +0 -2
  363. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +0 -7
  364. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +0 -12
  365. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +0 -1
  366. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +0 -10
  367. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +0 -1
  368. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +0 -1
  369. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +0 -1
  370. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +0 -5
  371. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +0 -7
  372. package/node_modules/lru-cache/dist/commonjs/index.d.ts +0 -1400
  373. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
  374. package/node_modules/lru-cache/dist/commonjs/index.js +0 -1726
  375. package/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
  376. package/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  377. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
  378. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +0 -1
  379. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +0 -1
  380. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +0 -5
  381. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +0 -9
  382. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +0 -1400
  383. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +0 -1
  384. package/node_modules/lru-cache/dist/commonjs/node/index.js +0 -1726
  385. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +0 -1
  386. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +0 -2
  387. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +0 -7
  388. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +0 -12
  389. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +0 -1
  390. package/node_modules/lru-cache/dist/commonjs/node/perf.js +0 -10
  391. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +0 -1
  392. package/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  393. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +0 -12
  394. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +0 -1
  395. package/node_modules/lru-cache/dist/commonjs/perf.js +0 -10
  396. package/node_modules/lru-cache/dist/commonjs/perf.js.map +0 -1
  397. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +0 -1
  398. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +0 -1
  399. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +0 -5
  400. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +0 -4
  401. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +0 -1400
  402. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +0 -1
  403. package/node_modules/lru-cache/dist/esm/browser/index.js +0 -1722
  404. package/node_modules/lru-cache/dist/esm/browser/index.js.map +0 -1
  405. package/node_modules/lru-cache/dist/esm/browser/index.min.js +0 -2
  406. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +0 -7
  407. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +0 -12
  408. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +0 -1
  409. package/node_modules/lru-cache/dist/esm/browser/perf.js +0 -7
  410. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +0 -1
  411. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +0 -1
  412. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +0 -1
  413. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +0 -5
  414. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +0 -19
  415. package/node_modules/lru-cache/dist/esm/index.d.ts +0 -1400
  416. package/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
  417. package/node_modules/lru-cache/dist/esm/index.js +0 -1722
  418. package/node_modules/lru-cache/dist/esm/index.js.map +0 -1
  419. package/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  420. package/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
  421. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +0 -1
  422. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +0 -1
  423. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +0 -5
  424. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +0 -6
  425. package/node_modules/lru-cache/dist/esm/node/index.d.ts +0 -1400
  426. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +0 -1
  427. package/node_modules/lru-cache/dist/esm/node/index.js +0 -1722
  428. package/node_modules/lru-cache/dist/esm/node/index.js.map +0 -1
  429. package/node_modules/lru-cache/dist/esm/node/index.min.js +0 -2
  430. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +0 -7
  431. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +0 -12
  432. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +0 -1
  433. package/node_modules/lru-cache/dist/esm/node/perf.js +0 -7
  434. package/node_modules/lru-cache/dist/esm/node/perf.js.map +0 -1
  435. package/node_modules/lru-cache/dist/esm/package.json +0 -3
  436. package/node_modules/lru-cache/dist/esm/perf.d.ts +0 -12
  437. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +0 -1
  438. package/node_modules/lru-cache/dist/esm/perf.js +0 -7
  439. package/node_modules/lru-cache/dist/esm/perf.js.map +0 -1
  440. package/node_modules/lru-memoizer/lib/async.d.ts.map +0 -1
  441. package/node_modules/lru-memoizer/lib/async.js.map +0 -1
  442. package/node_modules/lru-memoizer/lib/freeze.d.ts.map +0 -1
  443. package/node_modules/lru-memoizer/lib/freeze.js.map +0 -1
  444. package/node_modules/lru-memoizer/lib/index.d.ts.map +0 -1
  445. package/node_modules/lru-memoizer/lib/index.js.map +0 -1
  446. package/node_modules/lru-memoizer/lib/sync.d.ts.map +0 -1
  447. package/node_modules/lru-memoizer/lib/sync.js.map +0 -1
  448. package/node_modules/lru-memoizer/lib/util.d.ts.map +0 -1
  449. package/node_modules/lru-memoizer/lib/util.js.map +0 -1
  450. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/index.js +0 -0
  451. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/compact/decrypt.js +0 -0
  452. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/compact/encrypt.js +0 -0
  453. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/flattened/decrypt.js +0 -0
  454. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/flattened/encrypt.js +0 -0
  455. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/general/decrypt.js +0 -0
  456. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwe/general/encrypt.js +0 -0
  457. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwk/embedded.js +0 -0
  458. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwk/thumbprint.js +0 -0
  459. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwks/local.js +0 -0
  460. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwks/remote.js +0 -0
  461. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/compact/sign.js +0 -0
  462. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/compact/verify.js +0 -0
  463. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/flattened/sign.js +0 -0
  464. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/flattened/verify.js +0 -0
  465. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/general/sign.js +0 -0
  466. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jws/general/verify.js +0 -0
  467. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/decrypt.js +0 -0
  468. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/encrypt.js +0 -0
  469. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/produce.js +0 -0
  470. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/sign.js +0 -0
  471. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/unsecured.js +0 -0
  472. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/jwt/verify.js +0 -0
  473. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/export.js +0 -0
  474. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/generate_key_pair.js +0 -0
  475. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/generate_secret.js +0 -0
  476. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/key/import.js +0 -0
  477. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/aesgcmkw.js +0 -0
  478. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/buffer_utils.js +0 -0
  479. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/cek.js +0 -0
  480. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_iv_length.js +0 -0
  481. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_key_type.js +0 -0
  482. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/check_p2s.js +0 -0
  483. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/crypto_key.js +0 -0
  484. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/decrypt_key_management.js +0 -0
  485. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/encrypt_key_management.js +0 -0
  486. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/epoch.js +0 -0
  487. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/format_pem.js +0 -0
  488. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/invalid_key_input.js +0 -0
  489. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/is_disjoint.js +0 -0
  490. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/is_object.js +0 -0
  491. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/iv.js +0 -0
  492. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/jwt_claims_set.js +0 -0
  493. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/secs.js +0 -0
  494. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/validate_algorithms.js +0 -0
  495. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/lib/validate_crit.js +0 -0
  496. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/package.json +0 -0
  497. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/aeskw.js +0 -0
  498. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/asn1.js +0 -0
  499. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/base64url.js +0 -0
  500. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/bogus.js +0 -0
  501. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/check_cek_length.js +0 -0
  502. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/check_key_length.js +0 -0
  503. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/decrypt.js +0 -0
  504. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/digest.js +0 -0
  505. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/ecdhes.js +0 -0
  506. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/encrypt.js +0 -0
  507. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/fetch_jwks.js +0 -0
  508. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/generate.js +0 -0
  509. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/get_sign_verify_key.js +0 -0
  510. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/is_key_like.js +0 -0
  511. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/jwk_to_key.js +0 -0
  512. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/key_to_jwk.js +0 -0
  513. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/pbes2kw.js +0 -0
  514. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/random.js +0 -0
  515. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/rsaes.js +0 -0
  516. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/runtime.js +0 -0
  517. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/sign.js +0 -0
  518. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/subtle_dsa.js +0 -0
  519. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/subtle_rsaes.js +0 -0
  520. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/timing_safe_equal.js +0 -0
  521. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/verify.js +0 -0
  522. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/webcrypto.js +0 -0
  523. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/runtime/zlib.js +0 -0
  524. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/base64url.js +0 -0
  525. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/decode_jwt.js +0 -0
  526. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/decode_protected_header.js +0 -0
  527. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/errors.js +0 -0
  528. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/browser/util/runtime.js +0 -0
  529. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/index.js +0 -0
  530. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/compact/decrypt.js +0 -0
  531. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/compact/encrypt.js +0 -0
  532. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/flattened/decrypt.js +0 -0
  533. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/flattened/encrypt.js +0 -0
  534. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/general/decrypt.js +0 -0
  535. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwe/general/encrypt.js +0 -0
  536. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwk/embedded.js +0 -0
  537. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwk/thumbprint.js +0 -0
  538. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwks/local.js +0 -0
  539. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwks/remote.js +0 -0
  540. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/compact/sign.js +0 -0
  541. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/compact/verify.js +0 -0
  542. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/flattened/sign.js +0 -0
  543. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/flattened/verify.js +0 -0
  544. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/general/sign.js +0 -0
  545. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jws/general/verify.js +0 -0
  546. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/decrypt.js +0 -0
  547. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/encrypt.js +0 -0
  548. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/produce.js +0 -0
  549. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/sign.js +0 -0
  550. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/unsecured.js +0 -0
  551. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/jwt/verify.js +0 -0
  552. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/export.js +0 -0
  553. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/generate_key_pair.js +0 -0
  554. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/generate_secret.js +0 -0
  555. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/key/import.js +0 -0
  556. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/aesgcmkw.js +0 -0
  557. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/buffer_utils.js +0 -0
  558. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/cek.js +0 -0
  559. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_iv_length.js +0 -0
  560. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_key_type.js +0 -0
  561. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/check_p2s.js +0 -0
  562. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/crypto_key.js +0 -0
  563. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/decrypt_key_management.js +0 -0
  564. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/encrypt_key_management.js +0 -0
  565. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/epoch.js +0 -0
  566. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/invalid_key_input.js +0 -0
  567. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/is_disjoint.js +0 -0
  568. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/is_object.js +0 -0
  569. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/iv.js +0 -0
  570. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/jwt_claims_set.js +0 -0
  571. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/secs.js +0 -0
  572. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/validate_algorithms.js +0 -0
  573. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/lib/validate_crit.js +0 -0
  574. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/aeskw.js +0 -0
  575. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1.js +0 -0
  576. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1_sequence_decoder.js +0 -0
  577. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/asn1_sequence_encoder.js +0 -0
  578. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/base64url.js +0 -0
  579. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/cbc_tag.js +0 -0
  580. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/check_cek_length.js +0 -0
  581. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/check_modulus_length.js +0 -0
  582. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/ciphers.js +0 -0
  583. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/decrypt.js +0 -0
  584. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/digest.js +0 -0
  585. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/dsa_digest.js +0 -0
  586. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/ecdhes.js +0 -0
  587. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/encrypt.js +0 -0
  588. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/fetch_jwks.js +0 -0
  589. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/flags.js +0 -0
  590. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/generate.js +0 -0
  591. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/get_named_curve.js +0 -0
  592. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/get_sign_verify_key.js +0 -0
  593. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/hmac_digest.js +0 -0
  594. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/is_key_like.js +0 -0
  595. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/is_key_object.js +0 -0
  596. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/jwk_to_key.js +0 -0
  597. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/key_to_jwk.js +0 -0
  598. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/node_key.js +0 -0
  599. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/pbes2kw.js +0 -0
  600. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/random.js +0 -0
  601. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/rsaes.js +0 -0
  602. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/runtime.js +0 -0
  603. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/sign.js +0 -0
  604. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/timing_safe_equal.js +0 -0
  605. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/verify.js +0 -0
  606. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/webcrypto.js +0 -0
  607. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/runtime/zlib.js +0 -0
  608. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/base64url.js +0 -0
  609. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/decode_jwt.js +0 -0
  610. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/decode_protected_header.js +0 -0
  611. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/errors.js +0 -0
  612. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/cjs/util/runtime.js +0 -0
  613. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/index.js +0 -0
  614. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/compact/decrypt.js +0 -0
  615. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/compact/encrypt.js +0 -0
  616. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/flattened/decrypt.js +0 -0
  617. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/flattened/encrypt.js +0 -0
  618. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/general/decrypt.js +0 -0
  619. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwe/general/encrypt.js +0 -0
  620. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwk/embedded.js +0 -0
  621. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwk/thumbprint.js +0 -0
  622. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwks/local.js +0 -0
  623. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwks/remote.js +0 -0
  624. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/compact/sign.js +0 -0
  625. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/compact/verify.js +0 -0
  626. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/flattened/sign.js +0 -0
  627. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/flattened/verify.js +0 -0
  628. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/general/sign.js +0 -0
  629. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jws/general/verify.js +0 -0
  630. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/decrypt.js +0 -0
  631. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/encrypt.js +0 -0
  632. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/produce.js +0 -0
  633. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/sign.js +0 -0
  634. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/unsecured.js +0 -0
  635. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/jwt/verify.js +0 -0
  636. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/export.js +0 -0
  637. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/generate_key_pair.js +0 -0
  638. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/generate_secret.js +0 -0
  639. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/key/import.js +0 -0
  640. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/aesgcmkw.js +0 -0
  641. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/buffer_utils.js +0 -0
  642. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/cek.js +0 -0
  643. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_iv_length.js +0 -0
  644. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_key_type.js +0 -0
  645. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/check_p2s.js +0 -0
  646. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/crypto_key.js +0 -0
  647. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/decrypt_key_management.js +0 -0
  648. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/encrypt_key_management.js +0 -0
  649. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/epoch.js +0 -0
  650. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/invalid_key_input.js +0 -0
  651. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/is_disjoint.js +0 -0
  652. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/is_object.js +0 -0
  653. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/iv.js +0 -0
  654. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/jwt_claims_set.js +0 -0
  655. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/secs.js +0 -0
  656. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/validate_algorithms.js +0 -0
  657. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/lib/validate_crit.js +0 -0
  658. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/package.json +0 -0
  659. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/aeskw.js +0 -0
  660. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1.js +0 -0
  661. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1_sequence_decoder.js +0 -0
  662. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/asn1_sequence_encoder.js +0 -0
  663. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/base64url.js +0 -0
  664. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/cbc_tag.js +0 -0
  665. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/check_cek_length.js +0 -0
  666. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/check_modulus_length.js +0 -0
  667. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/ciphers.js +0 -0
  668. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/decrypt.js +0 -0
  669. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/digest.js +0 -0
  670. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/dsa_digest.js +0 -0
  671. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/ecdhes.js +0 -0
  672. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/encrypt.js +0 -0
  673. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/fetch_jwks.js +0 -0
  674. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/flags.js +0 -0
  675. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/generate.js +0 -0
  676. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/get_named_curve.js +0 -0
  677. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/get_sign_verify_key.js +0 -0
  678. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/hmac_digest.js +0 -0
  679. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/is_key_like.js +0 -0
  680. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/is_key_object.js +0 -0
  681. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/jwk_to_key.js +0 -0
  682. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/key_to_jwk.js +0 -0
  683. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/node_key.js +0 -0
  684. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/pbes2kw.js +0 -0
  685. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/random.js +0 -0
  686. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/rsaes.js +0 -0
  687. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/runtime.js +0 -0
  688. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/sign.js +0 -0
  689. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/timing_safe_equal.js +0 -0
  690. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/verify.js +0 -0
  691. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/webcrypto.js +0 -0
  692. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/runtime/zlib.js +0 -0
  693. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/base64url.js +0 -0
  694. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/decode_jwt.js +0 -0
  695. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/decode_protected_header.js +0 -0
  696. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/errors.js +0 -0
  697. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/node/esm/util/runtime.js +0 -0
  698. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/types/jwt/produce.d.ts +0 -0
  699. /package/node_modules/{@microsoft/teams.apps/node_modules/jose → jose}/dist/types/util/runtime.d.ts +0 -0
  700. /package/node_modules/{@microsoft/teams.apps/node_modules/lru-cache → lru-cache}/LICENSE +0 -0
  701. /package/node_modules/{@microsoft/teams.apps/node_modules/lru-cache → lru-cache}/index.js +0 -0
@@ -1,7 +1,7 @@
1
1
  import { M as getMSTeamsRuntime, h as fetchWithSsrFGuard$1 } from "./runtime-api-BlvMnDKz.js";
2
- import { n as refreshMSTeamsDelegatedTokens } from "./oauth.token-BNbWziwM.js";
2
+ import { c as createMSTeamsHttpError, n as refreshMSTeamsDelegatedTokens } from "./oauth.token-5ygi8ycy.js";
3
3
  import { createRequire } from "node:module";
4
- import { isRecord, isRecord as isRecord$1, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
4
+ import { isRecord, isRecord as isRecord$1, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
6
6
  import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
7
7
  import { Buffer } from "node:buffer";
@@ -37,6 +37,7 @@ const DEFAULT_MEDIA_HOST_ALLOWLIST = [
37
37
  "ams.skype.com",
38
38
  "media.ams.skype.com",
39
39
  "trafficmanager.net",
40
+ "botframework.azure.cn",
40
41
  "blob.core.windows.net",
41
42
  "azureedge.net",
42
43
  "microsoft.com"
@@ -45,6 +46,7 @@ const DEFAULT_MEDIA_AUTH_HOST_ALLOWLIST = [
45
46
  "api.botframework.com",
46
47
  "botframework.com",
47
48
  "smba.trafficmanager.net",
49
+ "botframework.azure.cn",
48
50
  "graph.microsoft.com",
49
51
  "graph.microsoft.us",
50
52
  "graph.microsoft.de",
@@ -291,6 +293,20 @@ function resolveAllowedHosts(input) {
291
293
  function resolveAuthAllowedHosts(input) {
292
294
  return normalizeHostnameSuffixAllowlist(input, DEFAULT_MEDIA_AUTH_HOST_ALLOWLIST);
293
295
  }
296
+ function isMockFetchFn(fetchFn) {
297
+ const candidate = fetchFn;
298
+ return Boolean(candidate.mock || Object.prototype.hasOwnProperty.call(candidate, "_isMockFunction"));
299
+ }
300
+ function resolveGuardedFetchImpl(params) {
301
+ if (!params.fetchFn) return;
302
+ if (params.fetchFnSupportsDispatcher === true || params.fetchFn === fetch || params.fetchFn === globalThis.fetch || isMockFetchFn(params.fetchFn)) return params.fetchFn;
303
+ throw new Error("MSTeams attachment fetchFn must set fetchFnSupportsDispatcher to use guarded DNS pinning");
304
+ }
305
+ function resolveRetainedAuthorizationRedirectHostnameAllowlist(input) {
306
+ if (!input) return;
307
+ if (input.includes("*")) return ["*"];
308
+ return resolveMediaSsrfPolicy(input)?.hostnameAllowlist;
309
+ }
294
310
  function resolveAttachmentFetchPolicy(params) {
295
311
  return {
296
312
  allowHosts: resolveAllowedHosts(params?.allowHosts),
@@ -340,6 +356,50 @@ async function resolveAndValidateIP(hostname, resolveFn) {
340
356
  }
341
357
  /** Maximum number of redirects to follow in safeFetch. */
342
358
  const MAX_SAFE_REDIRECTS = 5;
359
+ const NULL_BODY_STATUSES$1 = new Set([
360
+ 101,
361
+ 204,
362
+ 205,
363
+ 304
364
+ ]);
365
+ function responseWithRelease(response, release) {
366
+ let released = false;
367
+ const releaseOnce = async () => {
368
+ if (released) return;
369
+ released = true;
370
+ await release();
371
+ };
372
+ if (!response.body || NULL_BODY_STATUSES$1.has(response.status)) {
373
+ releaseOnce();
374
+ return response;
375
+ }
376
+ const reader = response.body.getReader();
377
+ const body = new ReadableStream({
378
+ async pull(controller) {
379
+ try {
380
+ const next = await reader.read();
381
+ if (next.done) {
382
+ controller.close();
383
+ await releaseOnce();
384
+ return;
385
+ }
386
+ controller.enqueue(next.value);
387
+ } catch (err) {
388
+ await releaseOnce();
389
+ throw err;
390
+ }
391
+ },
392
+ async cancel(reason) {
393
+ reader.cancel(reason).catch(() => {});
394
+ await releaseOnce();
395
+ }
396
+ });
397
+ return new Response(body, {
398
+ status: response.status,
399
+ statusText: response.statusText,
400
+ headers: response.headers
401
+ });
402
+ }
343
403
  /**
344
404
  * Fetch a URL with redirect: "manual", validating each redirect target
345
405
  * against the hostname allowlist and optional DNS-resolved IP (anti-SSRF).
@@ -349,12 +409,32 @@ const MAX_SAFE_REDIRECTS = 5;
349
409
  * - DNS rebinding attacks when a lookup function is provided
350
410
  */
351
411
  async function safeFetch(params) {
352
- const fetchFn = params.fetchFn ?? fetch;
353
412
  const resolveFn = params.resolveFn ?? lookup;
354
413
  const hasDispatcher = Boolean(params.requestInit && typeof params.requestInit === "object" && "dispatcher" in params.requestInit);
355
414
  const currentHeaders = new Headers(params.requestInit?.headers);
356
415
  let currentUrl = params.url;
357
416
  if (!isUrlAllowed(currentUrl, params.allowHosts)) throw new Error(`Initial download URL blocked: ${currentUrl}`);
417
+ if (currentHeaders.has("authorization") && params.authorizationAllowHosts && !isUrlAllowed(currentUrl, params.authorizationAllowHosts)) currentHeaders.delete("authorization");
418
+ if (!hasDispatcher) {
419
+ const guarded = await fetchWithSsrFGuard({
420
+ url: currentUrl,
421
+ fetchImpl: resolveGuardedFetchImpl({
422
+ fetchFn: params.fetchFn,
423
+ fetchFnSupportsDispatcher: params.fetchFnSupportsDispatcher
424
+ }),
425
+ init: {
426
+ ...params.requestInit,
427
+ headers: currentHeaders
428
+ },
429
+ maxRedirects: MAX_SAFE_REDIRECTS,
430
+ requireHttps: true,
431
+ policy: resolveMediaSsrfPolicy(params.allowHosts),
432
+ lookupFn: resolveFn,
433
+ retainAuthorizationRedirectHostnameAllowlist: resolveRetainedAuthorizationRedirectHostnameAllowlist(params.authorizationAllowHosts),
434
+ auditContext: "msteams.attachment"
435
+ });
436
+ return responseWithRelease(guarded.response, guarded.release);
437
+ }
358
438
  if (resolveFn) try {
359
439
  const initialHost = new URL(currentUrl).hostname;
360
440
  await resolveAndValidateIP(initialHost, resolveFn);
@@ -362,7 +442,7 @@ async function safeFetch(params) {
362
442
  throw new Error(`Initial download URL blocked: ${currentUrl}`);
363
443
  }
364
444
  for (let i = 0; i <= MAX_SAFE_REDIRECTS; i++) {
365
- const res = await fetchFn(currentUrl, {
445
+ const res = await (params.fetchFn ?? fetch)(currentUrl, {
366
446
  ...params.requestInit,
367
447
  headers: currentHeaders,
368
448
  redirect: "manual"
@@ -399,19 +479,73 @@ async function safeFetchWithPolicy(params) {
399
479
  allowHosts: params.policy.allowHosts,
400
480
  authorizationAllowHosts: params.policy.authAllowHosts,
401
481
  fetchFn: params.fetchFn,
482
+ fetchFnSupportsDispatcher: params.fetchFnSupportsDispatcher,
402
483
  requestInit: params.requestInit,
403
484
  resolveFn: params.resolveFn
404
485
  });
405
486
  }
487
+ const PUBLIC_MSTEAMS_SERVICE_HOST = "smba.trafficmanager.net";
488
+ const CHINA_BOT_FRAMEWORK_SERVICE_HOST = "botframework.azure.cn";
489
+ function normalizeOptionalServiceUrl(value) {
490
+ const trimmed = value?.trim();
491
+ if (!trimmed) return null;
492
+ try {
493
+ const parsed = new URL(trimmed);
494
+ parsed.hash = "";
495
+ parsed.search = "";
496
+ parsed.pathname = parsed.pathname.replace(/\/+$/, "");
497
+ return {
498
+ value: parsed.toString().replace(/\/+$/, ""),
499
+ host: parsed.hostname.toLowerCase()
500
+ };
501
+ } catch {
502
+ return null;
503
+ }
504
+ }
505
+ function resolveMSTeamsSdkCloudOptions(cfg) {
506
+ const cloud = cfg?.cloud ?? "Public";
507
+ const serviceUrl = cfg?.serviceUrl?.trim();
508
+ if (cloud !== "Public" && cloud !== "China" && !serviceUrl) throw new Error(`channels.msteams.cloud=${cloud} requires channels.msteams.serviceUrl so SDK proactive operations use the matching Teams Bot Connector endpoint.`);
509
+ return {
510
+ cloud,
511
+ ...serviceUrl ? { serviceUrl } : {}
512
+ };
513
+ }
514
+ function isChinaBotFrameworkServiceHost(host) {
515
+ return host === CHINA_BOT_FRAMEWORK_SERVICE_HOST || host.endsWith(`.${CHINA_BOT_FRAMEWORK_SERVICE_HOST}`);
516
+ }
517
+ function isChinaBotFrameworkServiceUrl(value) {
518
+ const parsed = normalizeOptionalServiceUrl(value);
519
+ return Boolean(parsed && isChinaBotFrameworkServiceHost(parsed.host));
520
+ }
521
+ function validateMSTeamsProactiveServiceUrlBoundary(params) {
522
+ const configured = normalizeOptionalServiceUrl(params.configuredServiceUrl);
523
+ if (params.cloud !== "Public" && params.cloud !== "China" && !configured) throw new Error(`msteams proactive send blocked for ${params.conversationId}: channels.msteams.cloud=${params.cloud} requires channels.msteams.serviceUrl so SDK proactive operations use the matching Teams Bot Connector endpoint.`);
524
+ if (params.cloud === "China" && configured && !isChinaBotFrameworkServiceHost(configured.host)) throw new Error(`msteams proactive send blocked for ${params.conversationId}: configured Teams serviceUrl (${configured.value}) is not a Microsoft Teams China Bot Framework channel endpoint.`);
525
+ if (params.cloud !== "China" && configured && isChinaBotFrameworkServiceHost(configured.host)) throw new Error(`msteams proactive send blocked for ${params.conversationId}: configured Teams serviceUrl (${configured.value}) requires channels.msteams.cloud=China.`);
526
+ if (configured) {
527
+ const stored = normalizeOptionalServiceUrl(params.storedServiceUrl);
528
+ if (!stored) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation reference is missing a valid serviceUrl. Ask the bot to receive a new Teams message in this conversation, then retry.`);
529
+ if (stored.host !== configured.host) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation serviceUrl (${stored.value}) does not match configured Teams SDK serviceUrl host (${configured.host}). Set channels.msteams.cloud/channels.msteams.serviceUrl for the Teams cloud that owns this conversation, or refresh the stored conversation by receiving a new message.`);
530
+ return;
531
+ }
532
+ const stored = normalizeOptionalServiceUrl(params.storedServiceUrl);
533
+ if (!stored) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation reference is missing a valid serviceUrl. Ask the bot to receive a new Teams message in this conversation, then retry.`);
534
+ if (params.cloud === "China") {
535
+ if (!isChinaBotFrameworkServiceHost(stored.host)) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation serviceUrl (${stored.value}) is not a Microsoft Teams China Bot Framework channel endpoint. Use a conversation reference received from the China/21Vianet Teams cloud.`);
536
+ return;
537
+ }
538
+ if (isChinaBotFrameworkServiceUrl(stored.value)) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation serviceUrl (${stored.value}) requires channels.msteams.cloud=China.`);
539
+ if (stored.host !== PUBLIC_MSTEAMS_SERVICE_HOST) throw new Error(`msteams proactive send blocked for ${params.conversationId}: stored conversation serviceUrl (${stored.value}) is not a Microsoft Teams public-cloud Bot Connector endpoint. Set channels.msteams.cloud and channels.msteams.serviceUrl for the supported Teams cloud that owns this conversation.`);
540
+ }
406
541
  const BOT_FRAMEWORK_SERVICE_URL_HOST_ALLOWLIST = normalizeHostnameSuffixAllowlist([
407
542
  "smba.trafficmanager.net",
408
543
  "smba.infra.gcc.teams.microsoft.com",
409
544
  "smba.infra.gov.teams.microsoft.us",
410
- "smba.infra.dod.teams.microsoft.us"
545
+ "smba.infra.dod.teams.microsoft.us",
546
+ "botframework.azure.cn"
411
547
  ]);
412
- const serviceUrlSsrfPolicy = buildHostnameAllowlistPolicyFromSuffixAllowlist(BOT_FRAMEWORK_SERVICE_URL_HOST_ALLOWLIST);
413
- if (!serviceUrlSsrfPolicy) throw new Error("Microsoft Teams Bot Framework serviceUrl allowlist is empty");
414
- const BOT_FRAMEWORK_SERVICE_URL_SSRF_POLICY = serviceUrlSsrfPolicy;
548
+ if (!buildHostnameAllowlistPolicyFromSuffixAllowlist(BOT_FRAMEWORK_SERVICE_URL_HOST_ALLOWLIST)) throw new Error("Microsoft Teams Bot Framework serviceUrl allowlist is empty");
415
549
  function describeBotFrameworkServiceUrlHost(serviceUrl) {
416
550
  try {
417
551
  return new URL(serviceUrl.trim()).hostname || "invalid-url";
@@ -434,163 +568,6 @@ function normalizeBotFrameworkServiceUrl(serviceUrl) {
434
568
  throw new Error(`Blocked Microsoft Teams serviceUrl host: ${describeBotFrameworkServiceUrlHost(serviceUrl)}`);
435
569
  }
436
570
  //#endregion
437
- //#region extensions/msteams/src/errors.ts
438
- function formatUnknownError(err) {
439
- if (err instanceof Error) return err.message;
440
- if (typeof err === "string") return err;
441
- if (err === null) return "null";
442
- if (err === void 0) return "undefined";
443
- if (typeof err === "number" || typeof err === "boolean" || typeof err === "bigint") return String(err);
444
- if (typeof err === "symbol") return err.description ?? err.toString();
445
- if (typeof err === "function") return err.name ? `[function ${err.name}]` : "[function]";
446
- try {
447
- return JSON.stringify(err) ?? "unknown error";
448
- } catch {
449
- return "unknown error";
450
- }
451
- }
452
- function extractStatusCode(err) {
453
- if (!isRecord(err)) return null;
454
- const direct = err.statusCode ?? err.status;
455
- if (typeof direct === "number" && Number.isFinite(direct)) return direct;
456
- if (typeof direct === "string") {
457
- const parsed = Number.parseInt(direct, 10);
458
- if (Number.isFinite(parsed)) return parsed;
459
- }
460
- const response = err.response;
461
- if (isRecord(response)) {
462
- const status = response.status;
463
- if (typeof status === "number" && Number.isFinite(status)) return status;
464
- if (typeof status === "string") {
465
- const parsed = Number.parseInt(status, 10);
466
- if (Number.isFinite(parsed)) return parsed;
467
- }
468
- }
469
- return null;
470
- }
471
- function extractErrorCode(err) {
472
- if (!isRecord(err)) return null;
473
- const direct = err.code;
474
- if (typeof direct === "string" && direct.trim()) return direct;
475
- const response = err.response;
476
- if (!isRecord(response)) return null;
477
- const body = response.body;
478
- if (isRecord(body)) {
479
- const error = body.error;
480
- if (isRecord(error) && typeof error.code === "string" && error.code.trim()) return error.code;
481
- }
482
- return null;
483
- }
484
- function extractRetryAfterMs(err) {
485
- if (!isRecord(err)) return null;
486
- const direct = err.retryAfterMs ?? err.retry_after_ms;
487
- if (typeof direct === "number" && Number.isFinite(direct) && direct >= 0) return direct;
488
- const retryAfter = err.retryAfter ?? err.retry_after;
489
- if (typeof retryAfter === "number" && Number.isFinite(retryAfter)) return retryAfter >= 0 ? retryAfter * 1e3 : null;
490
- if (typeof retryAfter === "string") {
491
- const parsed = Number.parseFloat(retryAfter);
492
- if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
493
- }
494
- const response = err.response;
495
- if (!isRecord(response)) return null;
496
- const headers = response.headers;
497
- if (!headers) return null;
498
- if (isRecord(headers)) {
499
- const raw = headers["retry-after"] ?? headers["Retry-After"];
500
- if (typeof raw === "string") {
501
- const parsed = Number.parseFloat(raw);
502
- if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
503
- }
504
- }
505
- if (typeof headers === "object" && headers !== null && "get" in headers && typeof headers.get === "function") {
506
- const raw = headers.get("retry-after");
507
- if (raw) {
508
- const parsed = Number.parseFloat(raw);
509
- if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
510
- }
511
- }
512
- return null;
513
- }
514
- /**
515
- * Classify outbound send errors for safe retries and actionable logs.
516
- *
517
- * Important: We only mark errors as retryable when we have an explicit HTTP
518
- * status code that indicates the message was not accepted (e.g. 429, 5xx).
519
- * For transport-level errors where delivery is ambiguous, we prefer to avoid
520
- * retries to reduce the chance of duplicate posts.
521
- */
522
- function classifyMSTeamsSendError(err) {
523
- const statusCode = extractStatusCode(err);
524
- const retryAfterMs = extractRetryAfterMs(err);
525
- const errorCode = extractErrorCode(err) ?? void 0;
526
- if (statusCode === 401) return {
527
- kind: "auth",
528
- statusCode,
529
- errorCode
530
- };
531
- if (statusCode === 403) {
532
- if (errorCode === "ContentStreamNotAllowed") return {
533
- kind: "permanent",
534
- statusCode,
535
- errorCode
536
- };
537
- return {
538
- kind: "auth",
539
- statusCode,
540
- errorCode
541
- };
542
- }
543
- if (statusCode === 429) return {
544
- kind: "throttled",
545
- statusCode,
546
- retryAfterMs: retryAfterMs ?? void 0,
547
- errorCode
548
- };
549
- if (statusCode === 408 || statusCode != null && statusCode >= 500) return {
550
- kind: "transient",
551
- statusCode,
552
- retryAfterMs: retryAfterMs ?? void 0,
553
- errorCode
554
- };
555
- if (statusCode != null && statusCode >= 400) return {
556
- kind: "permanent",
557
- statusCode,
558
- errorCode
559
- };
560
- if (statusCode == null) {
561
- const networkCode = isRecord(err) && typeof err.code === "string" ? err.code : null;
562
- if (networkCode === "ECONNREFUSED" || networkCode === "ENOTFOUND" || networkCode === "EHOSTUNREACH" || networkCode === "ETIMEDOUT" || networkCode === "ECONNRESET") return {
563
- kind: "network",
564
- errorCode: networkCode
565
- };
566
- }
567
- return {
568
- kind: "unknown",
569
- statusCode: statusCode ?? void 0,
570
- retryAfterMs: retryAfterMs ?? void 0,
571
- errorCode
572
- };
573
- }
574
- /**
575
- * Detect whether an error is caused by a revoked Proxy.
576
- *
577
- * The Bot Framework SDK wraps TurnContext in a Proxy that is revoked once the
578
- * turn handler returns. Any later access (e.g. from a debounced callback)
579
- * throws a TypeError whose message contains the distinctive "proxy that has
580
- * been revoked" string.
581
- */
582
- function isRevokedProxyError(err) {
583
- if (!(err instanceof TypeError)) return false;
584
- return /proxy that has been revoked/i.test(err.message);
585
- }
586
- function formatMSTeamsSendErrorHint(classification) {
587
- if (classification.kind === "auth") return "check msteams appId/appPassword/tenantId (or env vars MSTEAMS_APP_ID/MSTEAMS_APP_PASSWORD/MSTEAMS_TENANT_ID)";
588
- if (classification.errorCode === "ContentStreamNotAllowed") return "Teams expired the content stream; stop streaming earlier and fall back to normal message delivery";
589
- if (classification.kind === "throttled") return "Teams throttled the bot; backing off may help";
590
- if (classification.kind === "transient") return "transient Teams/Bot Framework error; retry may succeed";
591
- if (classification.kind === "network") return "transport-level failure sending reply to Teams Bot Connector (smba.trafficmanager.net) — check egress firewall rules allow outbound HTTPS to smba.trafficmanager.net";
592
- }
593
- //#endregion
594
571
  //#region extensions/msteams/src/user-agent.ts
595
572
  let cachedUserAgent;
596
573
  function resolveTeamsSdkVersion() {
@@ -612,6 +589,17 @@ function buildUserAgent() {
612
589
  cachedUserAgent = `teams.ts[apps]/${resolveTeamsSdkVersion()} OpenClaw/${resolveOpenClawVersion()}`;
613
590
  return cachedUserAgent;
614
591
  }
592
+ /**
593
+ * User-Agent fragment for the Teams SDK App's client. The SDK's Client.clone
594
+ * merges this with its own `teams.ts[apps]/<sdk-version>` identifier, so we
595
+ * only contribute the OpenClaw piece — passing the full `buildUserAgent()`
596
+ * would double-print the SDK token.
597
+ *
598
+ * Format: "OpenClaw/<openclaw-version>"
599
+ */
600
+ function buildOpenClawUserAgentFragment() {
601
+ return `OpenClaw/${resolveOpenClawVersion()}`;
602
+ }
615
603
  function ensureUserAgentHeader(headers) {
616
604
  const nextHeaders = new Headers(headers);
617
605
  if (!nextHeaders.has("User-Agent")) nextHeaders.set("User-Agent", buildUserAgent());
@@ -625,48 +613,61 @@ async function loadAzureIdentity() {
625
613
  azureIdentityModulePromise ??= import(AZURE_IDENTITY_MODULE);
626
614
  return azureIdentityModulePromise;
627
615
  }
628
- let msTeamsSdkPromise = null;
629
- async function loadMSTeamsSdk() {
630
- msTeamsSdkPromise ??= Promise.all([import("@microsoft/teams.apps"), import("@microsoft/teams.api")]).then(([appsModule, apiModule]) => ({
631
- App: appsModule.App,
632
- Client: apiModule.Client
616
+ let sdkAppPromise = null;
617
+ async function loadSdkModules() {
618
+ sdkAppPromise ??= Promise.all([import("@microsoft/teams.apps"), import("@microsoft/teams.api")]).then(([apps, api]) => ({
619
+ App: apps.App,
620
+ ExpressAdapter: apps.ExpressAdapter,
621
+ cloudFromName: api.cloudFromName
633
622
  }));
634
- return msTeamsSdkPromise;
623
+ return sdkAppPromise;
635
624
  }
636
625
  /**
637
- * Create a no-op HTTP server adapter that satisfies the Teams SDK's
638
- * IHttpServerAdapter interface without spinning up an Express server.
639
- *
640
- * OpenClaw manages its own Express server for the Teams webhook endpoint, so
641
- * the SDK's built-in HTTP server is unnecessary. Passing this adapter via the
642
- * `httpServerAdapter` option prevents the SDK from creating the default
643
- * HttpPlugin (which uses the deprecated `plugins` array and registers an
644
- * Express middleware with the pattern `/api*` — invalid in Express 5).
645
- *
646
- * See: https://github.com/openclaw/openclaw/issues/55161
647
- * See: https://github.com/openclaw/openclaw/issues/60732
626
+ * Lazily construct an ExpressAdapter that the Teams SDK App can register its
627
+ * routes on. The dynamic import keeps the SDK bundle off the hot startup path
628
+ * when msteams is disabled; the structural return type matches what
629
+ * `loadMSTeamsSdkWithAuth` accepts as its `httpServerAdapter` option.
648
630
  */
649
- function createNoOpHttpServerAdapter() {
650
- return { registerRoute() {} };
631
+ async function createMSTeamsExpressAdapter(serverOrApp) {
632
+ const { ExpressAdapter } = await loadSdkModules();
633
+ return new ExpressAdapter(serverOrApp);
651
634
  }
652
635
  /**
653
636
  * Create a Teams SDK App instance from credentials. The App manages token
654
637
  * acquisition, JWT validation, and the HTTP server lifecycle.
655
638
  *
656
- * This replaces the previous CloudAdapter + MsalTokenProvider + authorizeJWT
657
- * from @microsoft/agents-hosting.
639
+ * Auth modes:
640
+ * - Secret: clientId + clientSecret → MSAL client credential flow (SDK built-in)
641
+ * - Managed identity: clientId + managedIdentityClientId → SDK built-in MI support
642
+ * - Certificate: clientId + custom token provider via @azure/identity
658
643
  */
659
- async function createMSTeamsApp(creds, sdk) {
660
- if (creds.type === "federated") return createFederatedApp(creds, sdk);
661
- return new sdk.App({
644
+ async function createMSTeamsApp(creds, options) {
645
+ const { App, cloudFromName } = await loadSdkModules();
646
+ const cloud = options?.cloud ?? "Public";
647
+ const serviceUrl = options?.serviceUrl ? normalizeBotFrameworkServiceUrl(options.serviceUrl) : void 0;
648
+ const appOptions = {
649
+ client: options?.httpClient ?? { headers: { "User-Agent": buildOpenClawUserAgentFragment() } },
650
+ ...options?.httpServerAdapter ? { httpServerAdapter: options.httpServerAdapter } : {},
651
+ ...options?.messagingEndpoint ? { messagingEndpoint: options.messagingEndpoint } : {},
652
+ cloud: cloudFromName(cloud),
653
+ ...serviceUrl ? { serviceUrl } : {},
654
+ ...options?.oauthDefaultConnectionName ? { oauth: { defaultConnectionName: options.oauthDefaultConnectionName } } : {}
655
+ };
656
+ if (creds.type === "federated") return createFederatedApp(creds, App, appOptions);
657
+ return new App({
662
658
  clientId: creds.appId,
663
659
  clientSecret: creds.appPassword,
664
660
  tenantId: creds.tenantId,
665
- httpServerAdapter: createNoOpHttpServerAdapter()
661
+ ...appOptions
666
662
  });
667
663
  }
668
- function createFederatedApp(creds, sdk) {
669
- if (creds.useManagedIdentity) return createManagedIdentityApp(creds, sdk);
664
+ function createFederatedApp(creds, App, appOptions) {
665
+ if (creds.useManagedIdentity) return new App({
666
+ clientId: creds.appId,
667
+ tenantId: creds.tenantId,
668
+ managedIdentityClientId: creds.managedIdentityClientId ?? "system",
669
+ ...appOptions
670
+ });
670
671
  if (!creds.certificatePath) throw new Error("Federated credentials require either a certificate path or managed identity.");
671
672
  let privateKey;
672
673
  try {
@@ -675,9 +676,9 @@ function createFederatedApp(creds, sdk) {
675
676
  const msg = err instanceof Error ? err.message : String(err);
676
677
  throw new Error(`Failed to read certificate file at '${creds.certificatePath}': ${msg}`, { cause: err });
677
678
  }
678
- return createCertificateApp(creds, privateKey, sdk);
679
+ return createCertificateApp(creds, privateKey, App, appOptions);
679
680
  }
680
- function createCertificateApp(creds, privateKey, sdk) {
681
+ function createCertificateApp(creds, privateKey, App, appOptions) {
681
682
  let credentialPromise = null;
682
683
  const getCredential = async () => {
683
684
  if (!credentialPromise) credentialPromise = loadAzureIdentity().then((az) => new az.ClientCertificateCredential(creds.tenantId, creds.appId, { certificate: privateKey }));
@@ -688,438 +689,32 @@ function createCertificateApp(creds, privateKey, sdk) {
688
689
  if (!token?.token) throw new Error("Failed to acquire token via certificate credential.");
689
690
  return token.token;
690
691
  };
691
- return new sdk.App({
692
+ return new App({
692
693
  clientId: creds.appId,
693
694
  tenantId: creds.tenantId,
694
695
  token: tokenProvider,
695
- httpServerAdapter: createNoOpHttpServerAdapter()
696
- });
697
- }
698
- function createManagedIdentityApp(creds, sdk) {
699
- let credentialPromise = null;
700
- const getCredential = async () => {
701
- if (!credentialPromise) credentialPromise = loadAzureIdentity().then((az) => creds.managedIdentityClientId ? new az.ManagedIdentityCredential(creds.managedIdentityClientId) : new az.ManagedIdentityCredential());
702
- return credentialPromise;
703
- };
704
- const tokenProvider = async (scope) => {
705
- const token = await (await getCredential()).getToken(scope);
706
- if (!token?.token) throw new Error("Failed to acquire token via managed identity.");
707
- return token.token;
708
- };
709
- return new sdk.App({
710
- clientId: creds.appId,
711
- tenantId: creds.tenantId,
712
- token: tokenProvider,
713
- httpServerAdapter: createNoOpHttpServerAdapter()
696
+ ...appOptions
714
697
  });
715
698
  }
716
699
  /**
717
- * Build a token provider that uses the Teams SDK App for token acquisition.
700
+ * Build a token provider that uses the Teams SDK App's public tokenManager
701
+ * for token acquisition.
718
702
  */
719
703
  function createMSTeamsTokenProvider(app) {
720
- return { async getAccessToken(scope) {
721
- if (scope.includes("graph.microsoft.com")) {
722
- const token = await app.getAppGraphToken();
723
- return token ? String(token) : "";
724
- }
725
- const token = await app.getBotToken();
726
- return token ? String(token) : "";
727
- } };
728
- }
729
- function createBotTokenGetter(app) {
730
- return async () => {
731
- const token = await app.getBotToken();
732
- return token ? String(token) : void 0;
733
- };
734
- }
735
- function createApiClient(sdk, serviceUrl, getToken) {
736
- const normalizedServiceUrl = normalizeBotFrameworkServiceUrl(serviceUrl);
737
- return new sdk.Client(normalizedServiceUrl, {
738
- token: async () => await getToken() || void 0,
739
- headers: { "User-Agent": buildUserAgent() }
740
- });
741
- }
742
- function normalizeOutboundActivity(textOrActivity) {
743
- return typeof textOrActivity === "string" ? {
744
- type: "message",
745
- text: textOrActivity
746
- } : textOrActivity;
747
- }
748
- function createSendContext(params) {
749
- const normalizedServiceUrl = tryNormalizeBotFrameworkServiceUrl(params.serviceUrl);
750
- const apiClient = normalizedServiceUrl && params.conversationId ? createApiClient(params.sdk, normalizedServiceUrl, params.getToken) : void 0;
751
- return {
752
- async sendActivity(textOrActivity) {
753
- const msg = normalizeOutboundActivity(textOrActivity);
754
- if (params.treatInvokeResponseAsNoop && msg.type === "invokeResponse") return { id: "invokeResponse" };
755
- if (params.serviceUrl && !normalizedServiceUrl) normalizeBotFrameworkServiceUrl(params.serviceUrl);
756
- if (!apiClient || !params.conversationId) return { id: "unknown" };
757
- const existingChannelData = msg.channelData && typeof msg.channelData === "object" ? msg.channelData : void 0;
758
- const channelData = params.tenantId ? {
759
- ...existingChannelData,
760
- tenant: { id: params.tenantId }
761
- } : existingChannelData;
762
- return await apiClient.conversations.activities(params.conversationId).create({
763
- type: "message",
764
- ...msg,
765
- ...channelData ? { channelData } : {},
766
- from: params.bot?.id ? {
767
- id: params.bot.id,
768
- name: params.bot.name ?? "",
769
- role: "bot"
770
- } : void 0,
771
- conversation: {
772
- id: params.conversationId,
773
- conversationType: params.conversationType ?? "personal",
774
- ...params.tenantId ? { tenantId: params.tenantId } : {}
775
- },
776
- ...params.recipientId || params.recipientAadObjectId ? { recipient: {
777
- ...params.recipientId ? { id: params.recipientId } : {},
778
- ...params.recipientAadObjectId ? { aadObjectId: params.recipientAadObjectId } : {}
779
- } } : {},
780
- ...params.replyToActivityId && !msg.replyToId ? { replyToId: params.replyToActivityId } : {}
781
- });
782
- },
783
- async updateActivity(activityUpdate) {
784
- const nextActivity = activityUpdate;
785
- const activityId = nextActivity.id;
786
- if (!activityId) throw new Error("updateActivity requires an activity id");
787
- if (!params.serviceUrl || !params.conversationId) return { id: "unknown" };
788
- return await updateActivityViaRest({
789
- serviceUrl: normalizeBotFrameworkServiceUrl(params.serviceUrl),
790
- conversationId: params.conversationId,
791
- activityId,
792
- activity: nextActivity,
793
- token: await params.getToken()
794
- });
795
- },
796
- async deleteActivity(activityId) {
797
- if (!activityId) throw new Error("deleteActivity requires an activity id");
798
- if (!params.serviceUrl || !params.conversationId) return;
799
- await deleteActivityViaRest({
800
- serviceUrl: normalizeBotFrameworkServiceUrl(params.serviceUrl),
801
- conversationId: params.conversationId,
802
- activityId,
803
- token: await params.getToken()
804
- });
805
- }
704
+ const tokenToString = (token) => {
705
+ if (token == null) return "";
706
+ return token.toString();
806
707
  };
807
- }
808
- function createProcessContext(params) {
809
- const serviceUrl = params.activity?.serviceUrl;
810
- const conversationId = (params.activity?.conversation)?.id;
811
- const conversationType = (params.activity?.conversation)?.conversationType;
812
- const replyToActivityId = params.activity?.id;
813
- const bot = params.activity?.recipient && typeof params.activity.recipient === "object" ? {
814
- id: params.activity.recipient.id,
815
- name: params.activity.recipient.name
816
- } : void 0;
817
- const sendContext = createSendContext({
818
- sdk: params.sdk,
819
- serviceUrl,
820
- conversationId,
821
- conversationType,
822
- bot,
823
- replyToActivityId,
824
- getToken: params.getToken,
825
- treatInvokeResponseAsNoop: true
826
- });
827
- return {
828
- activity: params.activity,
829
- ...sendContext,
830
- async sendActivities(activities) {
831
- const results = [];
832
- for (const activity of activities) results.push(await sendContext.sendActivity(activity));
833
- return results;
834
- }
835
- };
836
- }
837
- /**
838
- * Update an existing activity via the Bot Framework REST API.
839
- * PUT /v3/conversations/{conversationId}/activities/{activityId}
840
- */
841
- async function updateActivityViaRest(params) {
842
- const { serviceUrl, conversationId, activityId, activity, token } = params;
843
- const url = `${normalizeBotFrameworkServiceUrl(serviceUrl)}/v3/conversations/${encodeURIComponent(conversationId)}/activities/${encodeURIComponent(activityId)}`;
844
- const headers = {
845
- "Content-Type": "application/json",
846
- "User-Agent": buildUserAgent()
847
- };
848
- if (token) headers.Authorization = `Bearer ${token}`;
849
- const currentFetch = globalThis.fetch;
850
- const { response, release } = await fetchWithSsrFGuard({
851
- url,
852
- fetchImpl: async (input, guardedInit) => await currentFetch(input, guardedInit),
853
- init: {
854
- method: "PUT",
855
- headers,
856
- body: JSON.stringify({
857
- type: "message",
858
- ...activity,
859
- id: activityId
860
- })
861
- },
862
- auditContext: "msteams-update-activity",
863
- policy: BOT_FRAMEWORK_SERVICE_URL_SSRF_POLICY
864
- });
865
- try {
866
- if (!response.ok) {
867
- const body = await response.text().catch(() => "");
868
- throw Object.assign(/* @__PURE__ */ new Error(`updateActivity failed: HTTP ${response.status} ${body}`), { statusCode: response.status });
869
- }
870
- return await response.json().catch(() => ({ id: activityId }));
871
- } finally {
872
- await release();
873
- }
874
- }
875
- /**
876
- * Delete an existing activity via the Bot Framework REST API.
877
- * DELETE /v3/conversations/{conversationId}/activities/{activityId}
878
- */
879
- async function deleteActivityViaRest(params) {
880
- const { serviceUrl, conversationId, activityId, token } = params;
881
- const url = `${normalizeBotFrameworkServiceUrl(serviceUrl)}/v3/conversations/${encodeURIComponent(conversationId)}/activities/${encodeURIComponent(activityId)}`;
882
- const headers = { "User-Agent": buildUserAgent() };
883
- if (token) headers.Authorization = `Bearer ${token}`;
884
- const currentFetch = globalThis.fetch;
885
- const { response, release } = await fetchWithSsrFGuard({
886
- url,
887
- fetchImpl: async (input, guardedInit) => await currentFetch(input, guardedInit),
888
- init: {
889
- method: "DELETE",
890
- headers
891
- },
892
- auditContext: "msteams-delete-activity",
893
- policy: BOT_FRAMEWORK_SERVICE_URL_SSRF_POLICY
894
- });
895
- try {
896
- if (!response.ok) {
897
- const body = await response.text().catch(() => "");
898
- throw Object.assign(/* @__PURE__ */ new Error(`deleteActivity failed: HTTP ${response.status} ${body}`), { statusCode: response.status });
899
- }
900
- } finally {
901
- await release();
902
- }
903
- }
904
- /**
905
- * Build a CloudAdapter-compatible adapter using the Teams SDK REST client.
906
- *
907
- * This replaces the previous CloudAdapter from @microsoft/agents-hosting.
908
- * For incoming requests: the App's HTTP server handles JWT validation.
909
- * For proactive sends: uses the Bot Framework REST API via
910
- * @microsoft/teams.api Client.
911
- */
912
- function createMSTeamsAdapter(app, sdk) {
913
- return {
914
- async continueConversation(_appId, reference, logic) {
915
- const rawServiceUrl = reference.serviceUrl;
916
- if (!rawServiceUrl) throw new Error("Missing serviceUrl in conversation reference");
917
- const serviceUrl = normalizeBotFrameworkServiceUrl(rawServiceUrl);
918
- const conversationId = reference.conversation?.id;
919
- if (!conversationId) throw new Error("Missing conversation.id in conversation reference");
920
- const tenantId = reference.tenantId ?? reference.conversation?.tenantId;
921
- const recipientAadObjectId = reference.aadObjectId ?? reference.user?.aadObjectId;
922
- const recipientId = reference.user?.id;
923
- await logic(createSendContext({
924
- sdk,
925
- serviceUrl,
926
- conversationId,
927
- conversationType: reference.conversation?.conversationType,
928
- bot: reference.agent ?? void 0,
929
- getToken: createBotTokenGetter(app),
930
- tenantId,
931
- recipientId,
932
- recipientAadObjectId
933
- }));
934
- },
935
- async process(req, res, logic) {
936
- const request = req;
937
- const response = res;
938
- const activity = request.body;
939
- const isInvoke = activity?.type === "invoke";
940
- try {
941
- const context = createProcessContext({
942
- sdk,
943
- activity,
944
- getToken: createBotTokenGetter(app)
945
- });
946
- if (isInvoke) response.status(200).send();
947
- await logic(context);
948
- if (!isInvoke) response.status(200).send();
949
- } catch (err) {
950
- if (!isInvoke) response.status(500).send({ error: formatUnknownError(err) });
951
- }
952
- },
953
- async updateActivity(_context, _activity) {},
954
- async deleteActivity(_context, _reference) {}
955
- };
956
- }
957
- async function loadMSTeamsSdkWithAuth(creds) {
958
- const sdk = await loadMSTeamsSdk();
959
- return {
960
- sdk,
961
- app: await createMSTeamsApp(creds, sdk)
962
- };
963
- }
964
- /**
965
- * Bot Framework issuer → JWKS mapping.
966
- * During Microsoft's transition, inbound service tokens can be signed by either
967
- * the legacy Bot Framework issuer or the Entra issuer. Each gets its own JWKS
968
- * endpoint so we verify signatures with the correct key set.
969
- */
970
- const BOT_FRAMEWORK_ISSUERS = [
971
- {
972
- issuer: "https://api.botframework.com",
973
- jwksUri: "https://login.botframework.com/v1/.well-known/keys"
974
- },
975
- {
976
- issuer: (tenantId) => `https://login.microsoftonline.com/${tenantId}/v2.0`,
977
- jwksUri: "https://login.microsoftonline.com/common/discovery/v2.0/keys"
978
- },
979
- {
980
- issuer: (tenantId) => `https://sts.windows.net/${tenantId}/`,
981
- jwksUri: "https://login.microsoftonline.com/common/discovery/v2.0/keys"
982
- }
983
- ];
984
- const BOT_FRAMEWORK_GLOBAL_AUDIENCE = "https://api.botframework.com";
985
- function isJwtPayloadObject(value) {
986
- return !!value && typeof value === "object" && !Array.isArray(value);
987
- }
988
- function getAudienceClaims(payload) {
989
- if (!isJwtPayloadObject(payload)) return [];
990
- const audience = payload.aud;
991
- if (typeof audience === "string") {
992
- const trimmed = audience.trim();
993
- return trimmed ? [trimmed] : [];
994
- }
995
- if (Array.isArray(audience)) return normalizeStringEntries(audience.filter((value) => typeof value === "string"));
996
- return [];
997
- }
998
- function normalizeBotIdentityClaim(value) {
999
- if (typeof value !== "string") return null;
1000
- return value.trim().toLowerCase() || null;
1001
- }
1002
- function hasExpectedBotIdentity(payload, expectedAppId) {
1003
- if (!isJwtPayloadObject(payload)) return false;
1004
- const expected = normalizeBotIdentityClaim(expectedAppId);
1005
- if (!expected) return false;
1006
- return normalizeBotIdentityClaim(payload.appid) === expected || normalizeBotIdentityClaim(payload.azp) === expected;
1007
- }
1008
- let botFrameworkJwtDepsPromise = null;
1009
- function hasDefaultExport(value) {
1010
- return !!value && typeof value === "object" && "default" in value;
1011
- }
1012
- function isJsonwebtokenRuntime(value) {
1013
- return !!value && typeof value === "object" && typeof value.decode === "function" && typeof value.verify === "function";
1014
- }
1015
- function loadJsonwebtokenRuntime(jwtModule) {
1016
- const jwt = hasDefaultExport(jwtModule) ? jwtModule.default ?? jwtModule : jwtModule;
1017
- if (!isJsonwebtokenRuntime(jwt)) throw new Error("jsonwebtoken did not export decode/verify");
1018
- return jwt;
1019
- }
1020
- function isJwksClientRuntime(value) {
1021
- return typeof value === "function";
1022
- }
1023
- function loadJwksClientRuntime(jwksModule) {
1024
- const direct = jwksModule && typeof jwksModule === "object" ? jwksModule.JwksClient : void 0;
1025
- const fallback = hasDefaultExport(jwksModule) && jwksModule.default && typeof jwksModule.default === "object" ? jwksModule.default.JwksClient : void 0;
1026
- const JwksClient = direct ?? fallback;
1027
- if (!isJwksClientRuntime(JwksClient)) throw new Error("jwks-rsa did not export JwksClient");
1028
- return JwksClient;
1029
- }
1030
- async function loadBotFrameworkJwtDeps() {
1031
- botFrameworkJwtDepsPromise ??= Promise.all([import("jsonwebtoken"), import("jwks-rsa")]).then(([jwtModule, jwksModule]) => {
1032
- return {
1033
- jwt: loadJsonwebtokenRuntime(jwtModule),
1034
- JwksClient: loadJwksClientRuntime(jwksModule)
1035
- };
1036
- });
1037
- return botFrameworkJwtDepsPromise;
1038
- }
1039
- /**
1040
- * Create a Bot Framework JWT validator using jsonwebtoken + jwks-rsa directly.
1041
- *
1042
- * The @microsoft/teams.apps JwtValidator hardcodes audience to [clientId, api://clientId],
1043
- * which rejects valid Bot Framework tokens that carry aud: "https://api.botframework.com".
1044
- * This implementation uses jsonwebtoken directly with the correct audience list, matching
1045
- * the behavior of the legacy @microsoft/agents-hosting authorizeJWT middleware.
1046
- *
1047
- * Security invariants:
1048
- * - signature verification via issuer-specific JWKS endpoints
1049
- * - audience validation: appId, api://appId, and https://api.botframework.com
1050
- * - issuer validation: strict allowlist (Bot Framework + tenant-scoped Entra)
1051
- * - expiration validation with 5-minute clock tolerance
1052
- */
1053
- async function createBotFrameworkJwtValidator(creds) {
1054
- const { jwt, JwksClient } = await loadBotFrameworkJwtDeps();
1055
- const allowedAudiences = [
1056
- creds.appId,
1057
- `api://${creds.appId}`,
1058
- BOT_FRAMEWORK_GLOBAL_AUDIENCE
1059
- ];
1060
- const allowedIssuers = BOT_FRAMEWORK_ISSUERS.map((entry) => typeof entry.issuer === "function" ? entry.issuer(creds.tenantId) : entry.issuer);
1061
- const jwksClients = /* @__PURE__ */ new Map();
1062
- function getJwksClient(uri) {
1063
- let client = jwksClients.get(uri);
1064
- if (!client) {
1065
- client = new JwksClient({
1066
- jwksUri: uri,
1067
- cache: true,
1068
- cacheMaxAge: 6e5,
1069
- rateLimit: true
1070
- });
1071
- jwksClients.set(uri, client);
1072
- }
1073
- return client;
1074
- }
1075
- /** Decode the token header without verification to determine the kid. */
1076
- function decodeHeader(token) {
1077
- const decoded = jwt.decode(token, { complete: true });
1078
- return decoded && typeof decoded === "object" ? decoded.header : null;
1079
- }
1080
- /** Resolve the issuer entry for a token's issuer claim (pre-verification). */
1081
- function resolveIssuerEntry(issuerClaim) {
1082
- if (!issuerClaim) return;
1083
- return BOT_FRAMEWORK_ISSUERS.find((entry) => {
1084
- return (typeof entry.issuer === "function" ? entry.issuer(creds.tenantId) : entry.issuer) === issuerClaim;
1085
- });
1086
- }
1087
- return { async validate(authHeader, _serviceUrl) {
1088
- const token = authHeader.startsWith("Bearer ") ? authHeader.slice(7) : authHeader;
1089
- if (!token) return false;
1090
- const header = decodeHeader(token);
1091
- const unverifiedPayload = jwt.decode(token);
1092
- if (!header?.kid || !isJwtPayloadObject(unverifiedPayload) || typeof unverifiedPayload.iss !== "string") return false;
1093
- const issuerEntry = resolveIssuerEntry(unverifiedPayload.iss);
1094
- if (!issuerEntry) return false;
1095
- const client = getJwksClient(issuerEntry.jwksUri);
1096
- try {
1097
- const publicKey = (await client.getSigningKey(header.kid)).getPublicKey();
1098
- const verifiedPayload = jwt.verify(token, publicKey, {
1099
- audience: allowedAudiences,
1100
- issuer: allowedIssuers,
1101
- algorithms: ["RS256"],
1102
- clockTolerance: 300
1103
- });
1104
- if (!isJwtPayloadObject(verifiedPayload)) return false;
1105
- if (getAudienceClaims(verifiedPayload).includes(BOT_FRAMEWORK_GLOBAL_AUDIENCE) && !hasExpectedBotIdentity(verifiedPayload, creds.appId)) return false;
1106
- return true;
1107
- } catch (err) {
1108
- if (isJwksNetworkError(err)) throw err;
1109
- return false;
708
+ return { async getAccessToken(scope) {
709
+ if (scope.includes("graph.microsoft.com") || scope.includes("graph.microsoft.us") || scope.includes("microsoftgraph.chinacloudapi.cn")) {
710
+ if (app.cloud?.graphScope?.includes("microsoftgraph.chinacloudapi.cn")) throw new Error("Microsoft Teams Graph operations are not supported for channels.msteams.cloud=China until Graph requests are routed through the Azure China Graph endpoint.");
711
+ return tokenToString(await app.tokenManager.getGraphToken());
1110
712
  }
713
+ return tokenToString(await app.tokenManager.getBotToken());
1111
714
  } };
1112
715
  }
1113
- /**
1114
- * Return true when the error originated from a network-level failure fetching
1115
- * the JWKS endpoint (DNS resolution, connection refused, TLS handshake, etc.)
1116
- * rather than from token verification logic.
1117
- */
1118
- function isJwksNetworkError(err) {
1119
- if (!(err instanceof Error)) return false;
1120
- const code = err.code;
1121
- if (code === "ECONNREFUSED" || code === "ENOTFOUND" || code === "EHOSTUNREACH" || code === "ETIMEDOUT" || code === "ECONNRESET") return true;
1122
- return /jwks|key fetch|getSigningKey/i.test(err.message) && /network|fetch|connect/i.test(err.message);
716
+ async function loadMSTeamsSdkWithAuth(creds, options) {
717
+ return { app: await createMSTeamsApp(creds, options) };
1123
718
  }
1124
719
  //#endregion
1125
720
  //#region extensions/msteams/src/token-response.ts
@@ -1261,10 +856,7 @@ async function requestGraph(params) {
1261
856
  auditContext: "msteams.graph"
1262
857
  });
1263
858
  try {
1264
- if (!response.ok) {
1265
- const text = await response.text().catch(() => "");
1266
- throw new Error(`${params.errorPrefix ?? "Graph"} ${params.path} failed (${response.status}): ${text || "unknown error"}`);
1267
- }
859
+ if (!response.ok) throw await createMSTeamsHttpError(response, `${params.errorPrefix ?? "Graph"} ${params.path} failed`);
1268
860
  const body = NULL_BODY_STATUSES.has(response.status) ? null : await response.arrayBuffer();
1269
861
  return new Response(body, {
1270
862
  status: response.status,
@@ -1303,10 +895,7 @@ async function fetchGraphAbsoluteUrl(params) {
1303
895
  auditContext: "msteams.graph.absolute"
1304
896
  });
1305
897
  try {
1306
- if (!response.ok) {
1307
- const text = await response.text().catch(() => "");
1308
- throw new Error(`Graph ${params.url} failed (${response.status}): ${text || "unknown error"}`);
1309
- }
898
+ if (!response.ok) throw await createMSTeamsHttpError(response, `Graph ${params.url} failed`);
1310
899
  return await readProviderJsonResponse(response, `Graph ${params.url} failed`);
1311
900
  } finally {
1312
901
  await release();
@@ -1352,6 +941,7 @@ async function resolveGraphToken(cfg, options) {
1352
941
  const msteamsCfg = cfg?.channels?.msteams;
1353
942
  const creds = resolveMSTeamsCredentials(msteamsCfg);
1354
943
  if (!creds) throw new Error("MS Teams credentials missing");
944
+ if (msteamsCfg?.cloud === "China") throw new Error("Microsoft Teams Graph operations are not supported for channels.msteams.cloud=China until Graph requests are routed through the Azure China Graph endpoint.");
1355
945
  if (options?.preferDelegated && msteamsCfg?.delegatedAuth?.enabled && creds.type === "secret") {
1356
946
  const delegated = await resolveDelegatedAccessToken({
1357
947
  tenantId: creds.tenantId,
@@ -1360,7 +950,7 @@ async function resolveGraphToken(cfg, options) {
1360
950
  });
1361
951
  if (delegated) return delegated;
1362
952
  }
1363
- const { app } = await loadMSTeamsSdkWithAuth(creds);
953
+ const { app } = await loadMSTeamsSdkWithAuth(creds, resolveMSTeamsSdkCloudOptions(msteamsCfg));
1364
954
  const accessToken = readAccessToken(await createMSTeamsTokenProvider(app).getAccessToken("https://graph.microsoft.com"));
1365
955
  if (!accessToken) throw new Error("MS Teams graph token unavailable");
1366
956
  return accessToken;
@@ -1441,4 +1031,168 @@ async function searchGraphUsers(params) {
1441
1031
  })).value ?? [];
1442
1032
  }
1443
1033
  //#endregion
1444
- export { safeHostForUrl as $, describeBotFrameworkServiceUrlHost as A, extractHtmlFromAttachment as B, loadMSTeamsSdkWithAuth as C, formatMSTeamsSendErrorHint as D, classifyMSTeamsSendError as E, GRAPH_ROOT as F, isRecord$1 as G, inferPlaceholder as H, IMG_SRC_RE as I, readNestedString as J, isUrlAllowed as K, applyAuthorizationHeaderForUrl as L, normalizeBotFrameworkServiceUrl as M, tryNormalizeBotFrameworkServiceUrl as N, formatUnknownError as O, ATTACHMENT_TAG_RE as P, safeFetchWithPolicy as Q, encodeGraphShareId as R, createMSTeamsTokenProvider as S, ensureUserAgentHeader as T, isDownloadableAttachment as U, extractInlineImageCandidates as V, isLikelyImageAttachment as W, resolveMediaSsrfPolicy as X, resolveAttachmentFetchPolicy as Y, resolveRequestUrl as Z, resolveMSTeamsStorePath as _, fetchGraphJson as a, createBotFrameworkJwtValidator as b, normalizeQuery as c, postGraphJson as d, tryBuildGraphSharesUrlForSharedLink as et, resolveGraphToken as f, saveDelegatedTokens as g, resolveMSTeamsCredentials as h, fetchGraphAbsoluteUrl as i, isAllowedBotFrameworkServiceUrl as j, isRevokedProxyError as k, patchGraphJson as l, loadDelegatedTokens as m, deleteGraphRequest as n, listChannelsForTeam as o, hasConfiguredMSTeamsCredentials as p, normalizeContentType as q, escapeOData as r, listTeamsByName as s, searchGraphUsers as t, postGraphBetaJson as u, normalizeSecretInputString as v, buildUserAgent as w, createMSTeamsAdapter as x, readAccessToken as y, estimateBase64DecodedBytes as z };
1034
+ //#region extensions/msteams/src/errors.ts
1035
+ function formatUnknownError(err) {
1036
+ if (err instanceof Error) return err.message;
1037
+ if (typeof err === "string") return err;
1038
+ if (err === null) return "null";
1039
+ if (err === void 0) return "undefined";
1040
+ if (typeof err === "number" || typeof err === "boolean" || typeof err === "bigint") return String(err);
1041
+ if (typeof err === "symbol") return err.description ?? err.toString();
1042
+ if (typeof err === "function") return err.name ? `[function ${err.name}]` : "[function]";
1043
+ try {
1044
+ return JSON.stringify(err) ?? "unknown error";
1045
+ } catch {
1046
+ return "unknown error";
1047
+ }
1048
+ }
1049
+ function extractStatusCode(err) {
1050
+ if (!isRecord(err)) return null;
1051
+ const parseStatusCode = (value) => {
1052
+ if (typeof value === "number") return Number.isInteger(value) && value >= 100 && value <= 599 ? value : null;
1053
+ if (typeof value === "string") {
1054
+ const trimmed = value.trim();
1055
+ if (!/^\d{3}$/.test(trimmed)) return null;
1056
+ const parsed = Number(trimmed);
1057
+ return parsed >= 100 && parsed <= 599 ? parsed : null;
1058
+ }
1059
+ return null;
1060
+ };
1061
+ const directStatus = parseStatusCode(err.statusCode ?? err.status);
1062
+ if (directStatus !== null) return directStatus;
1063
+ const response = err.response;
1064
+ if (isRecord(response)) {
1065
+ const responseStatus = parseStatusCode(response.status);
1066
+ if (responseStatus !== null) return responseStatus;
1067
+ }
1068
+ return null;
1069
+ }
1070
+ function extractErrorCode(err) {
1071
+ if (!isRecord(err)) return null;
1072
+ const direct = err.code;
1073
+ if (typeof direct === "string" && direct.trim()) return direct;
1074
+ const response = err.response;
1075
+ if (!isRecord(response)) return null;
1076
+ const body = response.body;
1077
+ if (isRecord(body)) {
1078
+ const error = body.error;
1079
+ if (isRecord(error) && typeof error.code === "string" && error.code.trim()) return error.code;
1080
+ }
1081
+ return null;
1082
+ }
1083
+ function extractRetryAfterMs(err) {
1084
+ if (!isRecord(err)) return null;
1085
+ const direct = err.retryAfterMs ?? err.retry_after_ms;
1086
+ if (typeof direct === "number" && Number.isFinite(direct) && direct >= 0) return direct;
1087
+ const retryAfter = err.retryAfter ?? err.retry_after;
1088
+ if (typeof retryAfter === "number" && Number.isFinite(retryAfter)) return retryAfter >= 0 ? retryAfter * 1e3 : null;
1089
+ if (typeof retryAfter === "string") {
1090
+ const parsed = parseNonNegativeRetryAfterSeconds(retryAfter);
1091
+ if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
1092
+ }
1093
+ const response = err.response;
1094
+ if (!isRecord(response)) return null;
1095
+ const headers = response.headers;
1096
+ if (!headers) return null;
1097
+ if (isRecord(headers)) {
1098
+ const raw = headers["retry-after"] ?? headers["Retry-After"];
1099
+ if (typeof raw === "string") {
1100
+ const parsed = parseNonNegativeRetryAfterSeconds(raw);
1101
+ if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
1102
+ }
1103
+ }
1104
+ if (typeof headers === "object" && headers !== null && "get" in headers && typeof headers.get === "function") {
1105
+ const raw = headers.get("retry-after");
1106
+ if (raw) {
1107
+ const parsed = parseNonNegativeRetryAfterSeconds(raw);
1108
+ if (Number.isFinite(parsed) && parsed >= 0) return parsed * 1e3;
1109
+ }
1110
+ }
1111
+ return null;
1112
+ }
1113
+ function parseNonNegativeRetryAfterSeconds(raw) {
1114
+ const trimmed = raw.trim();
1115
+ if (!/^\d+(?:\.\d+)?$/.test(trimmed)) return NaN;
1116
+ return Number(trimmed);
1117
+ }
1118
+ /**
1119
+ * Classify outbound send errors for safe retries and actionable logs.
1120
+ *
1121
+ * Important: We only mark errors as retryable when we have an explicit HTTP
1122
+ * status code that indicates the message was not accepted (e.g. 429, 5xx).
1123
+ * For transport-level errors where delivery is ambiguous, we prefer to avoid
1124
+ * retries to reduce the chance of duplicate posts.
1125
+ */
1126
+ function classifyMSTeamsSendError(err) {
1127
+ const statusCode = extractStatusCode(err);
1128
+ const retryAfterMs = extractRetryAfterMs(err);
1129
+ const errorCode = extractErrorCode(err) ?? void 0;
1130
+ if (statusCode === 401) return {
1131
+ kind: "auth",
1132
+ statusCode,
1133
+ errorCode
1134
+ };
1135
+ if (statusCode === 403) {
1136
+ if (errorCode === "ContentStreamNotAllowed") return {
1137
+ kind: "permanent",
1138
+ statusCode,
1139
+ errorCode
1140
+ };
1141
+ return {
1142
+ kind: "auth",
1143
+ statusCode,
1144
+ errorCode
1145
+ };
1146
+ }
1147
+ if (statusCode === 429) return {
1148
+ kind: "throttled",
1149
+ statusCode,
1150
+ retryAfterMs: retryAfterMs ?? void 0,
1151
+ errorCode
1152
+ };
1153
+ if (statusCode === 408 || statusCode != null && statusCode >= 500) return {
1154
+ kind: "transient",
1155
+ statusCode,
1156
+ retryAfterMs: retryAfterMs ?? void 0,
1157
+ errorCode
1158
+ };
1159
+ if (statusCode != null && statusCode >= 400) return {
1160
+ kind: "permanent",
1161
+ statusCode,
1162
+ errorCode
1163
+ };
1164
+ if (statusCode == null) {
1165
+ const networkCode = isRecord(err) && typeof err.code === "string" ? err.code : null;
1166
+ if (networkCode === "ECONNREFUSED" || networkCode === "ENOTFOUND" || networkCode === "EHOSTUNREACH" || networkCode === "ETIMEDOUT" || networkCode === "ECONNRESET") return {
1167
+ kind: "network",
1168
+ errorCode: networkCode
1169
+ };
1170
+ }
1171
+ return {
1172
+ kind: "unknown",
1173
+ statusCode: statusCode ?? void 0,
1174
+ retryAfterMs: retryAfterMs ?? void 0,
1175
+ errorCode
1176
+ };
1177
+ }
1178
+ /**
1179
+ * Detect whether an error is caused by a revoked Proxy.
1180
+ *
1181
+ * The Bot Framework SDK wraps TurnContext in a Proxy that is revoked once the
1182
+ * turn handler returns. Any later access (e.g. from a debounced callback)
1183
+ * throws a TypeError whose message contains the distinctive "proxy that has
1184
+ * been revoked" string.
1185
+ */
1186
+ function isRevokedProxyError(err) {
1187
+ if (!(err instanceof TypeError)) return false;
1188
+ return /proxy that has been revoked/i.test(err.message);
1189
+ }
1190
+ function formatMSTeamsSendErrorHint(classification) {
1191
+ if (classification.kind === "auth") return "check msteams appId/appPassword/tenantId (or env vars MSTEAMS_APP_ID/MSTEAMS_APP_PASSWORD/MSTEAMS_TENANT_ID)";
1192
+ if (classification.errorCode === "ContentStreamNotAllowed") return "Teams expired the content stream; stop streaming earlier and fall back to normal message delivery";
1193
+ if (classification.kind === "throttled") return "Teams throttled the bot; backing off may help";
1194
+ if (classification.kind === "transient") return "transient Teams/Bot Framework error; retry may succeed";
1195
+ if (classification.kind === "network") return "transport-level failure sending reply to Teams Bot Connector (smba.trafficmanager.net) — check egress firewall rules allow outbound HTTPS to smba.trafficmanager.net";
1196
+ }
1197
+ //#endregion
1198
+ export { safeFetchWithPolicy as $, isAllowedBotFrameworkServiceUrl as A, estimateBase64DecodedBytes as B, readAccessToken as C, buildUserAgent as D, loadMSTeamsSdkWithAuth as E, ATTACHMENT_TAG_RE as F, isLikelyImageAttachment as G, extractInlineImageCandidates as H, GRAPH_ROOT as I, normalizeContentType as J, isRecord$1 as K, IMG_SRC_RE as L, tryNormalizeBotFrameworkServiceUrl as M, resolveMSTeamsSdkCloudOptions as N, ensureUserAgentHeader as O, validateMSTeamsProactiveServiceUrlBoundary as P, resolveRequestUrl as Q, applyAuthorizationHeaderForUrl as R, normalizeSecretInputString as S, createMSTeamsTokenProvider as T, inferPlaceholder as U, extractHtmlFromAttachment as V, isDownloadableAttachment as W, resolveAttachmentFetchPolicy as X, readNestedString as Y, resolveMediaSsrfPolicy as Z, hasConfiguredMSTeamsCredentials as _, searchGraphUsers as a, saveDelegatedTokens as b, fetchGraphAbsoluteUrl as c, listTeamsByName as d, safeHostForUrl as et, normalizeQuery as f, resolveGraphToken as g, postGraphJson as h, isRevokedProxyError as i, normalizeBotFrameworkServiceUrl as j, describeBotFrameworkServiceUrlHost as k, fetchGraphJson as l, postGraphBetaJson as m, formatMSTeamsSendErrorHint as n, deleteGraphRequest as o, patchGraphJson as p, isUrlAllowed as q, formatUnknownError as r, escapeOData as s, classifyMSTeamsSendError as t, tryBuildGraphSharesUrlForSharedLink as tt, listChannelsForTeam as u, loadDelegatedTokens as v, createMSTeamsExpressAdapter as w, resolveMSTeamsStorePath as x, resolveMSTeamsCredentials as y, encodeGraphShareId as z };